监理公司管理系统 | 工程企业管理系统 | OA系统 | ERP系统 | 造价咨询管理系统 | 工程设计管理系统 | 签约案例 | 购买价格 | 在线试用 | 手机APP | 产品资料
X 关闭
沈阳OA行业资讯

当前位置:工程项目OA系统 > 泛普各地 > 辽宁OA系统 > 沈阳OA系统 > 沈阳OA行业资讯

敏捷开发-Scrum与精益相得益彰

申请免费试用、咨询电话:400-8352-114

文章来源:泛普软件

瀑布模型是软件工程中最初的经典模型。这种方法对于那些在初期需求就很完整清晰,并且在开发过程中不会有太多变化的项目非常适用。但是,大多数情况下在软件开发过程中需求会不断变化,而瀑布式开发很难适应这种变化。针对瀑布模型的这一不足,随后涌现了许多开发模式,比如螺旋模型和统一过程开发(RUP)模型。尽管与瀑布模型相比,这两种模型有了很大改进,但它们应用起来依然显得比较沉重,无法适应快速的需求变化。这正是以Scrum为代表的敏捷开发方法所力图解决的核心问题之一。

快速迭代以响应需求的变化

Scrum采用时间更短的迭代周期,这种迭代周期称为Sprint。一个Sprint通常为2~4周。每个Sprint只开发价值最高的产品需求部分,并且每个Sprint周期可能包含全部的开发阶段,如需求分析、设计、编写代码、测试、整合以及产品部署。每个短暂的Sprint周期过后,都能产生一个可以被审查、展示且可被用户使用的软件。用户使用后的反馈和当前的需求变化整理后可以在以后的Sprint周期中得以实现。这样就产生了一个快速的反馈循环,它可以动态管理实现用户频繁的需求变化。Scrum提倡让客户全程参与到开发过程中。客户的高度参与能有效提高Scrum项目的成功率。客户的代表需要平衡项目利益相关者之间的利益,从而能够管理产品需求、调整需求的优先级、 完善需求描述,让开发团队有一个清晰的方向,以获得最大的投资回报率。与此同时,Scrum这一模式也涉及诸如团队、流程、沟通等其他方面的元素,这些元素共同发展规范了整个Scrum框架结构。

精益(Lean)软件开发模式来源于汽车制造业。它的主要思想是分析所有的流程,以查明和消除浪费,不断提高效率。为了达到这个目的,精益模式提出了一些概念和实用的工具。但大部分的工具都面向制造业而不能直接应用于软件开发,精益软件开发主要借鉴思想。在精益软件开发中经常会提及两个概念。一个是拉式系统(pull system)。在拉式系统中,一个流水线上任何一个环节的任务完成后,都会从前一个环节自动提取下一个任务。该模式以客户的需求而不是市场预测来推动工作进程。另一方面,通过精益模式可以最小化未完成工作以及半成品的数量。它们通常被认为是开发过程中的浪费。除了拉式系统,价值流图(value stream mapping)也经常被应用于软件开发过程中。价值流图能够有效地帮助识别过程中的浪费。

像其他敏捷方法一样,Scrum同样专注于管理需求变化和团队潜能的发挥,同时它提出了一套比较完整的短开发周期的操作规程。而精益则更多地提供一种思维模式,帮助形成具有精益思维和习惯的开发团队。将Scrum的框架与精益的思想结合起来,可以使它们互相补充形成我们前面提到的一个相对完整并能不断完善的敏捷开发体系。我们在一些项目中尝试实现了这种结合。在我们的敏捷协作平台GScrum上,一种称为WIP的特殊周期把Scrum的框架和精益开发中的拉式系统很好地结合了起来,可以适应更快的需求变化。

Scrum的三种角色和四个会议

Scrum框架主要包括三种角色和四个会议。其中三种角色有:

●  产品拥有者: 该角色负责产品的远景规划,平衡各方面的利益,确定不同的产品需求积压的优先级等。它是开发团队和客户或最终用户之间的联络点。

●  Scrum专家: Scrum专家负责指导开发团队进行Scrum开发与实践。它也是开发团队与产品拥有者之间交流的联络点。

●  团队成员: 即项目开发人员。

四个会议包括:

●  周期计划会: 在产品拥有者和团队之间对下个周期要完成的需求达成一致,并对其进行规划.

●  每天例会: 每天15分钟,团队成员之间互相交流进展、问题和下一步计划。

●  周期展示会: 向产品拥有者和相关人员展示新完成的需求并收集反馈意见。

●  周期回顾会: 总结上个周期的经验和教训。

把精益思想融入Scrum

Scrum、精益开发模式以及其他的敏捷方法与传统的软件工程或项目管理理论与实践相比有一个共同的优点: 简单。不过,在实际运用过程却也并不容易。

首先,变化对许多人来说是难以接受的。初次使用敏捷开发的团队都有一个从接受到真正应用的过程。一些敏捷开发实践如测试驱动开发、结对编程以及每天的Scrum会议都需要一段时间让开发团队逐渐适应。因此,公司领导的强力支持和对团队的培训,是让敏捷模式给一个公司真正带来回报的重要因素。

其次,在Scrum实践中,Scrum专家(Scrum Master)是一个核心的角色。该角色从字面上很容易被理解为一个在Scrum开发团队中拥有极高权力,同时管理所有成员的人。实际上,这个角色并未被赋予行政职权,但他必须拥有很强的软力量及社交技巧。根据我们的实践经验,Scrum专家需要理解团队中的每个成员,将所有人团结起来。同时,Scrum专家还必须在团队效率与开发人员的感受之间取得平衡。

对于采用Scrum方法的团队,还可能遭遇许多技术性的问题。敏捷开发团队的一大挑战是如何能够不断改进开发过程。刚开始,敏捷开发对于整个开发团队来说可能还是比较新鲜的。但是开发团队很快就会对敏捷方式,特别是每天的Scrum会议感到乏味。一旦感到乏味并开始松懈,开发团队要么会放弃敏捷模式回到原有的开发模式上,要么会停留在对敏捷开发的肤浅应用层次上。这样一来,团队的积极性和创造性会受到打击,停滞不前。此时,结合精益开发方法能有效解决这个问题。

精益模式提倡持续不断地改进、减少流程中的浪费。这个概念应该被注入到整个团队中,让团队形成精益的思维和长期的习惯,这样一来,不断的改进和提高会让团队保持高昂的士气和热情。运用精益开发模式相对比较抽象,而最佳的应用精益软件开发的途径是从简单入手,理解其思想,然后针对团队情况摸索创新,应用一些精益的有效工具,让整个团队习惯精益的思维模式和行为。当然,请有相关经验的专家或顾问指导、交流会事半功倍。(ccw)

发布:2007-04-21 11:56    编辑:泛普软件 · xiaona    [打印此页]    [关闭]
沈阳OA系统
联系方式

成都公司:成都市成华区建设南路160号1层9号

重庆公司:重庆市江北区红旗河沟华创商务大厦18楼

咨询:400-8352-114

加微信,免费获取试用系统

QQ在线咨询

泛普沈阳OA行业资讯其他应用

沈阳OA软件 沈阳OA新闻动态 沈阳OA信息化 沈阳OA快博 沈阳OA行业资讯 沈阳软件开发公司 沈阳门禁系统 沈阳物业管理软件 沈阳仓库管理软件 沈阳餐饮管理软件 沈阳网站建设公司