登录 个人注册 企业注册 杂志订阅 | 我的需求 | 下载专区 | English
首页 > 专题 > 敏捷项目管理 > 敏捷管理的局部迭代探讨

敏捷管理的局部迭代探讨

返回>

2014年06月12日    作者:佚名    来源:软件导刊

A-A+

     敏捷是为了适应日趋激烈的竞争和生存环境而提出的一种新概念。随着软件技术不断更新发展,软件所要面对的客户需求更加复杂,产品开发周期越来越短,产品质量要求越来越高,为使软件能高效率、高质量及低成本的开发出来,敏捷被引入了软件项目管理领域。


     相对于传统的瀑布模型、RUP过程,敏捷项目管理更加关注项目中的变化,尤其是客户需求的变化。目前,世界上使用的比较多的敏捷方法有极限编程(XP)、SCRUM方法、水晶系列方法(Crysal)、自适应软件方法(ADP)、动态系统开发方法(DSDM)(t)、测试驱动方法(TDD)以及特征驱动方法(FDD)等。


     敏捷强调的是迭代增量交付,需求分析、架构设计、撰写代码与产品交付,每一次的过程都比较紧凑,时间也比较短,充分反应了敏捷的特性。对于基本的敏捷过程来说,虽然通过迭代增量交付的方式避免了因客户看不到软件最终呈现效果而导致的项目失败,但由于敏捷过程过于强调快速满足用户需求变化,导致对软件的体系架构的稳定性产生很大的冲击,甚至我们的实际项目中发生过推倒重来的情况,发生这种结果是因为在敏捷反应的过程中,造成对体系架构不完善,在客户出现需求变化的时候,很可能会出现返工的情况。


     为解决基本的敏捷过程所面临的问题,我们在敏捷过程管理的基本框架的基础上进行了改善,形成了如图1所示局部迭代敏捷过程管理框架:




图1 局部迭代敏捷过程管理框架


      可以看到,第一个局部迭代过程是软件开发前期的需求分析阶段,快速获取客户需求的信息后,立即进行页面呈现的设计,这个界面是临时性的,通过这些界面给予客户一个软件的直观印象,面对这些界面,客户的很多隐藏需求将被诱导出来,软件承建方需要对这些诱导出来的需求或已经变更的需求进行分析,设计新的界面,再次与客户进行确认,这样通过将界面设计的前移,可以尽量在项目前期明确客户的需求,确定项目的大致范围。由于这时设计的界面都是临时的、可抛弃的,项目并没有进入架构设计及项目开发阶段,因此可以有效降低项目的返工风险,而代价仅仅是增加了一些示意界面设计的时间与成本而已。


      第二个局部迭代过程为软件体系架构设计好并建立起系统原型后,经过迭代开发产生可交付的阶段性产品,提交给客户进行确认,当客户对已提交的产品反馈了意见
或需求发生了变更时,则需要立即进行需求分析,判断该
需求变更是否对系统的体系架构产生影响,若不产生影响则重新进行界面设计,修改系统界面层的原型,若已经发生影响,则需要重新调整软件体系架构,也就是说要返工了。但在常规情况下,由于经过第一个局部迭代,我们已经将需求变更所产生的对软件体系架构的影响降到了最低,因此这种需要修改软件体系架构的情况很少发生。


      局部迭代敏捷过程管理框架通过两个局部迭代过程实现了最大程度的保证软件体系架构的稳定性,同时也可以实现快速的迭代增量交付目的,使客户能尽早的看到软件产品,客户通过产品的最终呈现效果可以与项目前期设计的界面效果进行对比,可以更加直观的感受到软件的质量,从而对当前软件产品提出自己的意见或新的需求。当客户的需求发生变更时,该敏捷过程框架也没有改变基本敏捷过程框架的特点,仍然可以快速的反应。


     管理的生命周期根据图所示的局部迭代敏捷过程管理框架,我们可以将实施局部迭代敏捷过程管理的软件项目生命周期分为四个阶段:需求分析阶段、系统设计阶段、迭代开发阶段、增量交付阶段,如图2所示:


图2 局部迭代敏捷过程管理的项目生命周期
   

      需求分析阶段是生命周期4个阶段中的第1个阶段,包括需求的获取与需求的分析,主要目标是确定项目的产品目标,确定项目的额可行性,确定项目成功的核心与关键点并确定项目的范围与业务定位,这一阶段的主要任务包括:①确定系统的目标与主要参与者;②确定系统的功能范围;③模拟一个系统概貌的解决方案;④建立项目的进度计划;⑤确定具体的项目团队成员规模;⑥对项目成本作出评估。系统设计阶段是生命周期里的第2个阶段,其目标是确定并创建系统体系结构的基准线,确定系统的软件界面,建立系统的原型,为系统生命周期的后两个阶段打下稳定的基础。系统设计阶段的主要任务包括:①分析并描述更加详细的系统用例;②确定系统的体系架构; ③确定系统的软件界面;④建立系统原型;⑤进一步精确项目进度与成本预算。


      迭代开发阶段是生命周期的第3个阶段,迭代开发阶段的主要目标是通过详细设计、实现以及测试来实现一个完整的系统。在迭代开发中,我们始终强调可以运行的系统的重要性,要求以一个个的小功能为增量迭代的标准,快速交付可运行的系统。迭代开发阶段的主要任务包括: ①合理的分配项目团队成员的任务;②建立完善的配置管理体系;③保持系统体系架构的稳定;④制定合理的迭代计划;⑤快速建立详细设计程序模板;⑥加强单元测试与集成测试;⑦快速交付与反馈;⑧监控项目的进度。


      增量交付阶段是生命周期的最后一个阶段,其主要目标是确保软件产品在初次交付的时候能基本上满足客户的需求,经过若干次增量迭代后,最后交付给客户的软件已经能完全满足客户在系统需求分析阶段提出的客户需求以及迭代过程中提出的需求变更。增量交付阶段的主要任务包括:①进行系统测试;②正式发布系统;③对客户以及软件的实际使用者进行培训;④进行产品的验收;⑤对项目开发工作进行总结。


     基于局部迭代的敏捷过程管理框架在保持了敏捷项目管理的灵活性与及时响应的特性同时,加强了系统体系架构的稳定性,提高了软件产品最终交付时的质量。

责任编辑:胡小兮

0
版权声明©
本网站所有内容版权归项目管理评论杂志社及相关权利人(本网站的资料提供者)所有,未经项目管理评论杂志社明确书面许可,任何组织及个人不得复制、转载、摘编本网站的内容,也不得在本网站所属的服务器上做镜像或以其他任何方式进行使用。凡未经许可擅自转载,均视为侵权行为,本网站将依法追究其责任。
热点:ppp    新能源    敏捷   
官方新浪微博
关于我们 - 广告服务 - 联系我们 - 诚聘英才 - 隐私声明 - 杂志订阅 - 在线投稿 - 下载专区 - 网站地图
项目管理评论 版权所有
有意与本刊合作者,请与项目管理评论联系。未经项目管理评论书面授权,请勿转载或建立镜像,否则即为侵权。
合作电话:010-58383379 E-mail:pmr@pmreview.com.cn 京ICP证13028000号-3
PMI, PMP, PMBOK and the PMI logo are registered marks of the Project Management Institute, Inc.

技术支持:原创先锋_北京网站建设