精益思想和精益软件开发

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

内容摘要:有关精益概念的历史根源可以追溯到20世纪50年代发展起来的精益制造和丰田生产系统。这个系统和它蕴含的思想,为日本制造业,尤其是丰田公司,赢得了广泛的信誉。在任一款基于精益制造和丰田生产系统的工作方法中,精益已经开始作为一个涵盖性的术语在使用了,包括精益建造,精益实验室。精益原则正被成功应用到产品设计、工程、供应链管理等领域中,现在也被应用到软件开发领域中了。在这个背景下,本文中将介绍精益思想和精益软件开发,在最后的部分还将探讨精益软件开发和敏捷软件开发的异同。

关键词:精益思想精益软件开发敏捷软件开发

引言

精益生产源于日本丰田管理方式(Toyota Production System,TSP),20世纪90年代,MIT的James Womack、Daniel Jones和Daniel Roos研究考察了丰田生产系统,提出“精益(Lean)”这个术语。它的核心思想是消除浪费,持续改善。它融合了单件生产方式及大规模生产方式各自的优点,并同时避免了前者高成本的不足及后者低柔性的缺点[1]。丰田公司凭借着这种独特的管理方式取得骄人的业绩。2007年,丰田的产量已超过通用,成为全球第一大汽车制造商,在全球170多个国家的年汽车销售量超过937万辆;2007年度,丰田的利润约合150亿美元,而通用福特的利润均为负值。精益生产是一种被实践证明了的科学的管理理念,并逐渐被越来越多的企业学习和借鉴[2]。在过去的几十年中,计算机已被用于商业用途。起初,计算机运行速度慢,结构也简单。但是,从其面世以来,计算机的运算能力及其结构的复杂度不断增加。计算机越强大,就能运行更加复杂的程序,因此随着计算机的每一个方面的改善,软件工程师需要以最佳成本效益和最有效的方式解决更大和更复杂的问题。而软件工程师通过借鉴过去和创新的编程经验应对了这一挑战[3]。我们可以把软件工程看作是开发软件的工程方法,我们可以把企业生产中的工程方法或者思想借鉴到软件工程中,软件行业是一个新兴的快速发展的行业,他与传统行业存在很多不同的思维方式,但是存在更多的共同点,很多在软件行业中的做法借鉴了传统行业,并且在软件行

业中收效很大。比如软件设计的经典著作《设计模式》则借鉴了建筑领域的著作《建筑模式》.软件行业学习制造业的精益思想也是理所当然.数十年来,精益方法已经在制造业取得了显著的成果,现在,精益方法正同样地被成功应用到供应链、产品设计、工程,甚至是软件开发中!与此同时,敏捷软件开发方法也表明,它们之中的核心实践,那些和精益软件开发所推荐的非常类似的部分,具有很大的价值。

精益原则与分析

精益(Lean)是消除浪费,持续改善。大野耐说过丰田生产系统是一个绝对消除浪费的系统。新乡重夫,指出了以下7中浪费;

(1) 缺陷和返工,这是一种最显而易见的浪费,传统处理的思维方式是“找到然后修复”。

(2) 过度生产,即生产超出了实际所需的产品;或在实际所需之前就产生出了产品,通常通过物料的库存就可以看出这种浪费;

(3) 运输浪费,在作业过程中零部件不必要的移动;

(4) 库存,各种在制品未被处理完毕的成品等各种物料;

(5) 移动,为了完成生产,人或设备做出的多余的移动或者传送;

(6) 过度作业,超出客户所要求的标准;

(7) 等待,人或零部件在等待下一个生产工序;

还存在第八种浪费,没有充分使用人力资源,没有充分发挥工人的创造力和资源的作用,分忧发挥出组织的智慧。

丰田在对待这几个浪费,通过精益原则分析,采用及时处理,自动化(Jidoka),看板(Kanban)生产方式,多品种小批量生产,多技能工,改善(Kaizen),现场管理(Go and See),客户价值和做事,以人性为中心,强调智慧方法,得到了很好的效果。

精益原则包括有价值(Value),价值流(Value stream),流动(Flow),拉(Pull),尽善尽美(Perfection)。价值是客户定义的,必须有客户的视角看待。从价值视角分析一切活动,没有增加价值的纯粹浪费;没有增加价值但是必须;增加价值。

实现精益生产管理,最基本的一条就是消灭浪费,而在企业的生产经营活动中,要消灭浪费,就必须判别企业生产中的两个基本构成:增值和非增值活动。统计研究发现,企业生产活动中,增值活动约占企业生产和经营活动的5%。必要但非增值活动约占60%,其余35%为浪费[4]。价值流就是将一种产品从原材料状态加工成客户可以接受的产成品的一整套操作过程,包括增值和非增值活动。价值流管理就是通过绘制价值流图,进行价值流图分析来发现并消灭浪费、降低成本,赢取最高的边际利润。把一个作业过程分解为独立步骤构成的视图,标识出哪些步骤增加了价值,标识出哪些步骤没有增加价值 = > 浪费;没有增加价值但是必须(就当前系统状况而言);纯粹的浪费,立刻把它消除。生产过程必须设计为持续流动的,如果价值链(因为任何原因),停止流动了,浪费就会产生。通过客户订单拉动(pull)生产(价值),通过价值流向后级联(cascade back),确保没有任何东西在被实际需要之前就制造出来,消除了过程中的大部分库存。持续的识别和消除浪费,追求达成完美境界。

精益软件开发

2003年Mary和Tom Poppendieck第一次透彻地把精益原则映射到软件开发中[5]。2006年,他们进一步完善了这种映射[6]。2009年O'Reilly对精益软件开发艺术进行了生动的阐述[7]。精益管理的思想起源于丰田公司,归纳起来精益思想是在创造价值的目标下,通过改良流程不断地消除浪费。现已被广泛用于生产制造管理,但用于IT软件项目产品开发的实践尚属凤毛麟角。精益,是一种思想,一种哲学,一个方法论,其精髓是拒绝浪费。我们IT项目开发学习的不是“精益生产”的形式,而是其精髓思想。这种思想,不仅可以用于生产,也可以渗透到IT项目开发中。在研究会上,我们讨论到一个借鉴了精益思想的IT项目开发是一个系统的观念。一般来说,IT软件开发项目精益开发系统包括三个要素,即人、流程和技术。以借鉴到IT软件项目精益开发来说,就是需要为IT项目的开发提出一系列的流程,培养技术队伍,运用最有效的技术和工具。同时,必须注意要把这三个方面整合在一起,成为一个协调发展的系统。例如在

相关文档
最新文档