12月10日下午,由CSDN(微博)、《程序员》主办的第十八期TUP沙龙在北京知春路丽亭华苑酒店举行,本期沙龙的主题是“精益和敏捷软件开发”。除了UML之父Ivar Jacobson带来的精彩演讲,还有另两位来自雅各布森的敏捷专家黄邦伟、陈庆春也发表了热情洋溢的讲说。本次沙龙参会人数共计350人次,现场气氛十分热烈。
精益思想已在诸多行业取得了卓越的成效,敏捷软件开发更是让困境中的软件开发人员看到了曙光。本次大会中,敏捷专家们将精益和敏捷这两种思想的精髓揉合在软件开发中,帮助广大开发人员将广为接受的精益原则转换为适应具体环境的敏捷实践,从而提高组织的软件开发能力。
CSDN&《程序员》总编刘江担任本次活动主持,他简单介绍了TUP活动宗旨,并切合沙龙主题指出,软件研发企业越来越重视产品的用户体验,产品与设计也纳入到全面的产品研发的大范围,软件工程已处在一个革新的时期。近几年敏捷对于软件工程来说,已成为趋势,现在精益思想也出现在软件工程中。本次TUP沙龙请来的Ivar Jacobson就是这些方面的顶级大师。他同时对本次演讲的三位嘉宾一一作了介绍。
Ivar Jacobson:精益思想的复兴
Ivar Jacobson在演讲中表示,不管做任何事情,发现本质非常重要,不要让它的本质被其外表所呈现出的假象所掩盖,要抓住它的“内核”——而这正是精益思想的精髓。他举例说明软件开发者需要从软件工程中看到最核心的本质,而这个本质是可执行的、能动的,并且有清楚的目标蓝图。
Ivar Jacobson指出,软件工程发展到今天已开始面对层出不穷的各种新技术新语言,让开发者往往无从选择。在此背景下,Ivar Jacobson呼吁广大技术人员不要迷失方向,任何新事物都有两面性,如果盲目追新而将自己现有的技术扔掉将是极不明智的做法。而基于当前软件工程学院派和实践派的分歧,Ivar Jacobson认为重建软件工程理论的时刻已经到了,关键就在于如何抓准内核(kernel)。
在他看来,现在的软件开发越来越复杂,如果要用传统的敏捷方式,那在扩展方面就会有所欠缺。因此,敏捷方式本身也应该是敏捷的。在做软件产品的时候,关键要有一个核心系统,应用从框架式的、比较小的系统开始,从这个基础上去增加更多应用。
Ivar Jacobson表示,软件工程已经到了一个“革命”时期。他提出SEMAT的软件工程方法和理论。软件工程由于不成熟的实践正经受严重阻碍,具体表现在以下这些问题上:像时装业流行的时尚多于工程学科、缺乏可靠和普遍接受的理论基础、大量方法及其变种,而其分别缺乏理解或虚假地作大、没有可靠实验评估和验证、业界实践和学术业界存在分歧。而SEMAT能解决目前所面临的在软件工程领域的众多挑战。从本质上讲,最大的挑战是要了解如何开发卓越的软件,以及为什么我们需要一个软件工程的理论。SEMAT支持一个以坚实的理论﹑经过验证的原则和最佳实践(best practices)为基础, 重新定义软件工程的进程:包括广泛认同和可扩展的核心元素、能处理技术和人为问题、受到业界、学界、研究者和用户所支持、面对需求和技术转变时支持扩展。
Ivar Jacobson在演讲中还结合多个实际应用的案例分析,向与会者介绍内核(kernel)概念的核心思想。他认为,大量的事实已经证明,内核(kernel)的概念使得在大规模应用敏捷方法的同时,保持项目的可控性和清晰度成为可能。
Ivar Jacobson是软件开发领域影响最大的世界级权威之一,UML、RUP、用例与组件之父,全球SEMAT计划领导者之一。
黄邦伟:用敏捷的方式来实施敏捷
雅各布森国际的首席顾问、亚太技术总监黄邦伟认为敏捷精益开发能带来以下好处:迅速应变满足客户需求,减少浪费,不断反省、学习、改进。而这整个过程本身也应该是敏捷的。黄邦伟表示,很多项目非常成功,但也有很多项目没得到巨大收益,而这类没得到巨大收益的项目主要是基础打得不好。他提出一些学习方法以便打好基础。在精益方面,黄邦伟提出“轻便软件工程核”的概念,他认为,软件开发工程应该是实际、简单、轻便、指导性强能够适应大小项目,而不是一堆没人看的东西。在软件开发工程中,要把握不同维度,不同级别的进展与健康度。而如何衡量进展与健康呢,可用表明“状态”的状态卡来控制。
黄邦伟指出,这是把抽象的工作变为可视化的一种有效手段。每一个状态都对应一张状态卡,而软件工程核以不同的粒度展示。应用这些软件工程核与卡片来指导开发,软件开发是一系列策划、执行及调整的轮回。在这个循环往返的过程中,会重复以下步骤:反省,回顾;寻找更适合的工作方式;改善工作质量;减少浪费;迈向下步状态;跟踪工作项;解除所遇到的障碍;确认当前状态;确认下步状态;确认如何达到下步状态。这个过程到项目结束而结束。在这个过程中,软件工程核和状态卡发挥了以下价值:1.实际,简单,轻便且容易学习;2.指导性强,即指导计划,执行,改进;3.可重用的过程定义;4.容易高速来适应自己的特殊情况。
每个项目都有其特殊性,有的接近用户有的比较远、有的团队技术力量较强而有的团队新员工较多。假设一个方式就能够适应所有团队是不可能的,如果要实施敏捷,方式本身也应是敏捷的,它必须很快抓到项目要点和团队的现状,再来促进他们的提升,并要保证这种提升的可持续性。
黄邦伟介绍了轻便软件工程核(kernel)及其卡片呈现形式,以及它们如何体现敏捷和精益精神。他通过轻便软件工程核(kernel)与一系列案例,演示如何用敏捷的方式实施敏捷。
推荐阅读
12月10日下午,由CSDN(微博) 《程序员》主办的第十八期TUP沙龙在北京知春路丽亭华苑酒店举行,本期沙龙的主题是“精益和敏捷软件开发”。除了UML之父Ivar Jacobson带来的精彩演讲,还有另两位来自雅各布森的敏捷专家>>>详细阅读
本文标题:Ivar Jacobson谈软件工程的新机遇和挑战
地址:http://www.lgo100.com/a/kandian/20120305/36943.html
乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。
网友点评| 网友评论(点击查看更多条评论) |


精彩导读
科技快报
品牌展示