精益软件开发简介之A版

本简介主要介绍了精益,没有充分说明精益软件开发,本版本也未被选入正式稿,后续相信还将有更好的版本来介绍精益软件开发。

放在这里先睹为快,也是能够快速交付价值。

精益软件开发一词起源于Mary Poppendieck 和Tom Poppendieck写的一本同名书籍。这本书将传统的精益原则以一种新的方式呈现---作为22种开发实践工具之一。两位作者的网站是http://www.poppendieck.com/

精益是从丰田的生产以及开发方式发展出来的一种过程管理方法,从90年代开始被很广泛的研究,其目标是了解客户的价值观,然后充分利用聪明的、具有创造力的员工的时间和精力,以较少的努力提供更多的价值,即尽量避免复杂的东西。MaryPoppendieck 和Tom Poppendieck根据对丰田精益的理解将精益引入软件开发领域,在敏捷软件开发社区中提出了精益软件开发,包括在敏捷开发会议上的几次演讲,已经形成了被敏捷开发社区广泛接受的概念。

 精益软件开发的宗旨:每时每刻快速的、有效的、可靠的交付价值(DeliverValue Quickly, Effectively, Reliably – Every Time)。精益软件开发核心要求是在开发者或最终用户的视角上观察软件开发过程,并发现其无益于快速交付的行为,然后持续改进。

精益思想起源于丰田公司以“低成本、零缺陷、高质量和人性化生产”为特色的丰田生产系统(ToyotaProduction System, TPS),于二十世纪五十年代开始发展,它是与大量生产相对的一种生产方式。1990年,美国人沃麦克和琼斯合著的《The Machine That Changed the World》发表,书中对丰田生产系统进行了详尽介绍。1996年,沃麦克和琼斯再度联手合著的《LeanThinking》问世,该书对丰田具体的生产实践和观点进行升华,并首次给出了LeanThinking的提法。从上个世纪70、80年代开始,陆续有企业开始实施TPS,到目前世界500强企业当中,100%的制造型企业和50%的服务型企业都不同程度地应用了精益。

 精益是为了应对激烈的国际竞争和多变的市场环境而发展起来的,是不断从现有生产中发现和消除浪费的过程,它改变了传统的强调产能的生产方式,而去关注最终用户的价值,努力提供满意的消费。精益思想具有普适性,它在营销、企业管理乃至社会生活的方方面面都为人们提供了新的思考方式。

 精益生产既是一种以最大限度地减少企业生产所占用的资源和降低企业管理和运营成本为主要目标的生产方式,同时它又是一种理念,一种文化。实施精益生产就是决心追求完美的历程,也是追求卓越的过程,它是支撑个人与企业生命的一种精神力量,也是在永无止境的学习过程中获得自我满足的一种境界。其目标是精益求精,尽善尽美,永无止境的追求七个零的终极目标。

精益生产的实质是管理过程,包括人事组织管理的优化,大力精简中间管理层,进行组织扁平化改革,减少非直接生产人员;推进行生产均衡化同步化,实现零库存与柔性生产;推行全生产过程(包括整个供应链)的质量保证体系,实现零不良;减少和降低任何环节上的浪费,实现零浪费;最终实现拉动式准时化生产方式。

 精益生产的特点是消除一切浪费,追求精益求精和不断改善。去掉生产环节中一切无用的东西,每个工人及其岗位的安排原则是必须增值,撤除一切不增值的岗位。精简是它的核心,精简产品开发设计、生产、管理中一切不产生附加值的工作,旨在以最优品质、最低成本和最高效率对市场需求作出最迅速的响应。

精益思想有五个原则,它们更像是五个步骤,通过不断循环的过程将最终用户价值带入系统中,并将系统中的浪费一层层逼出来,消灭之。这五个原则分别是:

1. 价值

明确客户所期望产品或服务应提供的价值。以实现此价值为目的审视整个过程中的所有活动,同时帮助识别其中的浪费。

2. 价值流

针对一件产品、一项功能或服务,按时间顺序识别出为实现其价值而进行的所有活动,并确定出其中哪些是有价值的,哪些是浪费。

3. 流动

消除价值流中的浪费,让有价值的活动一个接一个地流动起来。

4. 拉动

确定价值流何时开始流动,因何流动。价值流应由用户的实际需求拉动。

5. 尽善尽美

价值流中浪费的步骤不可能通过一次改善彻底消除,浪费是被不断发现和具体化的。尽善尽美追求在实现客户价值过程中引入最少的浪费,也即通过更精简的步骤、更短的时间和更少的必需信息来实现客户价值。当实现了一个阶段的目标后,根据当前的价值流状况设定一个新的目标,重新开始流动和拉动的过程,发现和消除更多的浪费,不断地持续这一改进过程。

根据对精益的深刻理解,Mary Poppendieck 和Tom Poppendieck结合对软件开发的认识,提出了精益软件开发七大原则:

消灭浪费(Eliminate Waste):软件开发中最大的浪费就是多余的功能,该原则是Lean最基本的一个原则。

品质为先(Build Quality In):从一开始就注重品质,而不是最后依靠测试。测试驱动开发(TDD)就是一个很好的实践。

创建知识(Create Knowledge):软件开发是个创建知识的过程,应该有一个鼓励大家系统学习的开发流程,而且不断的改进这个流程。

推迟决定(Defer Commitment):软件开发通常具有一定的不确定性,基于多种选择的方法能够达成更好的结果,尽可能的延迟决定,直到能够基于事实而不是不确定的假定和预测来做出决定。

快速交付(Deliver Fast):尽快的交付软件能使客户满意,还可以削除大量的浪费。

尊重员工(Respect People):软件开发以人为本,人是软件开发团队中最重要的资源。

全局优化(Optimize the Whole):一个Lean的团队应该优化整个价值流(value stream)。系统的某一部分优化,总是会随着时间的推移,只能对整个系统的局部优化。精益的全局优化从概念到现金专注于整个价值流。从客户的要求到部署的软件,提供一个完整的产品。客户想要的不仅仅是软件,他们想解决自己的问题。完整的解决方案由完整的团队来建立。想想长期的治理和激励制度,对推动短期思维和优化局部表现需要当心。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值