Scrum与精益Lean软件开发及应用

Scrum与精益Lean软件开发及应用

ID:43033342

大小:34.00 KB

页数:3页

时间:2019-09-24

Scrum与精益Lean软件开发及应用_第1页
Scrum与精益Lean软件开发及应用_第2页
Scrum与精益Lean软件开发及应用_第3页
资源描述:

《Scrum与精益Lean软件开发及应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Scrum与精益(Lean)软件开发及应用Scrum在众多的敏捷方法中更多地提供的是一个框架,而精益(Lean)开发则更多地提供了一种思想。二者能很好的结合并相得益彰。Scrum和精益(Lean)软件开发传统的软件工程模型与建筑过程极其相似,尤其是瀑布模型。但是,Scrum和精益却源于制造工业。当他们被引入软件工业的时候,实际上却继承并扩展了传统的软件工程模型和方法。学过软件工程的人都知道瀑布模型。对于那些在初期盂求就很完整清晰,并H•在开发过程中不会有太多变化的项目,瀑布式开发非常适用。软件业发展的初期,在一些项F1屮人们川瀑布模型取得了一定的成功

2、。但是随着软件工业的发展和企业运作速度的加快,在很多情况F,软件开发的需求在开发过程屮始终在不断的变化。而瀑布式开发显然不能适应这种变化。因此在越来越的项目中,瀑布式开发以失败告终。随后,许多有所改进的开发模式纷纷涌现,比如螺旋模型和统一过程开发(RUP)模型。螺旋式结合了瀑布式和原型开发模式,这种模型能在一定程度上管理和控制那些在需求和设计阶段不可预见的需求变化。统一过程开发(RUP)模式则更进一步地采用一个或多个迭代周期。一个迭代周期包括四个阶段:初始阶段(inception),细化阶段(elaboration),构造阶段(constructio

3、n),交付阶段(transition),而在不同的迭代周期则分别侧重不同的阶段。比如:第一个周期可能侧匝初始阶段同时也包含很小一部分的细化阶段和构造阶段用以创建原型。下一个迭代周期则会侧重于细化阶段同吋也有一定比重的其他阶段,依此类推。原形开发和迭代周期的引进使需求的变化在原形或一个周期后被引入系统加以实现。不过在当代的科技界,越來越多的软件产品被移植到互联网上变成一种服务,以更有效、快速、容易地部署产品服务用户,并获得用户的反馈信息。这种变化人人增加了用户引导的需求变化频率。显然,RUP模式血•对这种情况显得力不从心,并且RUP模式还存在其他许多不

4、尽人意的地方。Scrum采用时间更短的迭代周期,这种迭代周期被称为Sprint,一个Sprint通常为2-4周的时间。每个Sprint只开发价值最高的被称为productbacklogs的产品需求,并且每个Sprint周期可能包含全部的开发阶段如需求分析,设计,编写代码,测试,整合以及产品部署。每个短暂的Sprint周期过示,都能产生一个可以被整合、审杏、展示并且最重要的是可以被用户使用的软件。许多当前的需求变化都可以被提出并R在下一个sprint周期得以实现。这样就产生了一个快速的反馈循环,它可以动态管理实现用户频繁的需求变化。•此同时,Scrum

5、这一模式也涉及诸如团队、流程、沟通等其它方血的元素,这些元素共同发展规范了整个Scrum框架结构。精益(Lean)软件开发模式从一开始便侧重于提高过程中的效率。它最初来自丰出公司的制造工业,其主要思想是分析所有的流程,以杳明和消除浪费,不断提高效率。为了达到这个目的,梢益(Lean)模式提岀了一些概念和实用的工具。大部分的工具都是在制造业使用而不能直接应用于软件开发。但是精益软件开发会经常提及其中的两个概念。一个是拉式系统(pullsystem)。在拉式系统屮,一个流水线上的任何一个环节的任务完成后,都会从前一个环节自动提取下一个任务。该模式以客户的

6、需求而不是市场预测来推动工作进程。另一方面,通过精益模式可以最小化未完成工作以及半成品的数量。它们通常被认为是开发过程中的浪费。除了拉式系统(pullsystem),价值流图(valuestreammapping)也经常被应用于软件开发过程屮。价值流图能够有效的帮助识别过程屮的浪费。类似于其它的敏捷方法,Scrum专注于管理需求变化和团队潜能的发挥,同时也含其它一些具体的规程。精益(Lean)则更多的教人一种思维模式,帮助形成貝-有梢益思维和习惯的开发团队。将Scrum与精益结合可以使他们互相补充,取长补如。我们在许多项目中尝试实现了这种结合。比如,

7、在我们的敏捷协作平台GScrum上,通过使用一种称为WIP容器的特:殊周期,能够将Scrum与Lean有效结合起來。使用Scrum和梢益(lean)开发的常见问题及解决方法Scrum或精益开发模式以及其它的敏捷方法对比于传统的软件工程或项目管理理论与实践有一个共同的优点:简单。不过,虽然Scrum和精益开发的精髓很简单,在实际运用过程中却不近然。首先,人们普遍倾向于抵制变化,固守成规总是更容易一些。变化对许多人來说难以接受的,特别是那些不能立即为所有人都带來好处的变化。对于初次使用敏捷开发的团队,都需要一个从接受到真正应用的过程。-•些敏捷开发实践如

8、测试驱动开发(asTestDrivenDevelopment)、结对编程(PairProgramming)以

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。