- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Scrum 与精益( Lean ) 软件开发及应用
Scrum 在众多的敏捷方法中更多地提供的是一个框架,而精益( Lean )开发则更多地提供了一种思想。二者能很好的结合并相得益彰。
Scrum 和精益( Lean )软件开发
传统的软件工程模型与建筑过程极其相似,尤其是瀑布模型。但是, Scrum 和精益却源于制造工业。当他们被引入软件工业的时候,实际上却继承并扩展了传统的软件工程模型和方法。
学过软件工程的人都知道瀑布模型。对于那些在初期需求就很完整清晰,并且在开发过程中不会有太多变化的项目,瀑布式开发非常适用。软件业发展的初期,在一些项目中人们用瀑布模型取得了一定的成功。但是随着软件工业的发展和企业运作速度的加快,在很多情况下,软件开发的需求在开发过程中始终在不断的变化。而瀑布式开发显然不能适应这种变化。因此在越来越的项目中,瀑布式开发以失败告终。随后,许多有所改进的开发模式纷纷涌现,比如螺旋模型和统一过程开发( RUP )模型。螺旋式结合了瀑布式和原型开发模式,这种模型能在一定程度上管理和控制那些在需求和设计阶段不可预见的需求变化。统一过程开发( RUP )模式则更进一步地采用一个或多个迭代周期。一个迭代周期包括四个阶段:初始阶段( inception ), 细化阶段( elaboration ),构造阶段( construction ),交付阶段( transition ),而在不同的迭代周期则分别侧重不同的阶段。比如:第一个周期可能侧重初始阶段同时也包含很小一部分的细化阶段和构造阶段用以创建原型。下一个迭代周期则会侧重于细化阶段同时也有一定比重的其他阶段,依此类推。原形开发和迭代周期的引进使需求的变化在原形或一个周期后被引入系统加以实现。不过在当代的科技界,越来越多的软件产品被移植到互联网上变成一种服务,以更有效、快速、容易地部署产品服务用户,并获得用户的反馈信息。这种变化大大增加了用户引导的需求变化频率。显然, RUP 模式面对这种情况显得力不从心,并且 RUP 模式还存在其他许多不尽人意的地方。 Scrum 采用时间更短的迭代周期,这种迭代周期被称为 Sprint ,一个 Sprint 通常为 2-4 周的时间。每个 Sprint 只开发价值最高的被称为 product backlogs 的产品需求,并且每个 Sprint 周期可能包含全部的开发阶段如需求分析,设计,编写代码,测试,整合以及产品部署。每个短暂的 Sprint 周期过后,都能产生一个可以被整合、审查、展示并且最重要的是可以被用户使用的软件。许多当前的需求变化都可以被提出并且在下一个 sprint 周期得以实现。这样就产生了一个快速的反馈循环,它可以动态管理实现用户频繁的需求变化。与此同时, Scrum 这一模式也涉及诸如团队、流程、沟通等其它方面的元素,这些元素共同发展规范了整个 Scrum 框架结构。
精益( Lean )软件开发模式从一开始便侧重于提高过程中的效率。它最初来自丰田公司的制造工业,其主要思想是分析所有的流程,以查明和消除浪费,不断提高效率。为了达到这个目的,精益( Lean )模式提出了一些概念和实用的工具。大部分的工具都是在制造业使用而不能直接应用于软件开发。但是精益软件开发会经常提及其中的两个概念。一个是拉式系统( pull system )。在拉式系统中,一个流水线上的任何一个环节的任务完成后 , 都会从前一个环节自动提取下一个任务。该模式以客户的需求而不是市场预测来推动工作进程。另一方面,通过精益模式可以最小化未完成工作以及半成品的数量。它们通常被认为是开发过程中的浪费。除了拉式系统( pull system ),价值流图( value stream mapping )也经常被应用于软件开发过程中。价值流图能够有效的帮助识别过程中的浪费。
类似于其它的敏捷方法, Scrum 专注于管理需求变化和团队潜能的发挥,同时也含其它一些具体的规程。精益( Lean ) 则 更多的教人一种思维模式,帮助形成具有精益思维和习惯的开发团队。将 Scrum 与精益结合可以使他们互相补充,取长补短。我们在许多项目中尝试实现了这种结合。比如,在我们的敏捷协作平台 GScrum 上,通过使用一种称为 WIP 容器的特殊周期,能够将 Scrum 与 Lean 有效结合起来。
使用 Scrum 和精益( lean )开发的常见问题及解决方法
Scrum 或精益开发模式以及其它的敏捷方法对比于传统的软件工程或项目管理理论与实践有一个共同的优点:简单。不过,虽然 Scrum 和精益开发的精髓很简单,在实际运用过程中却不近然。
首先,人们普遍倾向于抵制变化,固守成规总是更容易一些。变化对许多人来说难以接
文档评论(0)