软题库 学习课程
当前位置:信管网 >> 其它资料 >> 文章内容
浅论敏捷方法的软件项目管理研究[2]

  四、基于敏捷方法的软件项目管理的计划与实施

  (一)项目计划与风险

  由于项目过程由传统的详细的需求计划的单一过程变成短的时间区间的具有反馈的多次迭代过程,并且为了对变化具有适应性,敏捷项目管理的计划方法分成详细周期计划与风险计划和质量计划结合的两种分层计划。

  项目中的风险分为两种,一种是必然要发生的常规风险,一种是不确定的致命风险。前者可以通过风险缓解解决,后者则需要风险缓解和风险转化共同解决。在变化陛比较强的软件项目中,需求变更必将发生,这是软件项目所面临的主要风险,计划中加入需求变更周期的缓冲时间可减小项目的成本风险。

  (二)极限项目管理计划与时间预测

  极限项目管理是一个无基准计划的过程,没有时间和成本的限制,利用数量不定的短周期不断迭代,最终完成项目,或者在完成前,项目就被取消。传统的项目管理计划方法在此时起不到太大的作用,一般采用跟踪团队的开发速度和剩余的功能点来进行管理,只制定迭代周期内实施的计划。

  图3是Bum—down图,显示的是每个月后剩余的功能点数目。虚线1是要在12月完成的项目的计划线,虚线2是实际工作后的趋势线,这表明可能完成的日期。2月剩余的功能点多于初始点,是因为增加了新的功能。可以看到这并不能确定交付的日期,只能作为参考……

  (三)基于敏捷方法的软件开发计划

  极限项目管理在某些极端的情况下确实很有效,比如新技术产品的研发。但是大多数软件项目的技术复杂度不是很高,或者曾有过类似的项目经验,项目的主要不确定性是业务需求的变化等,并受到时间和成本的限制,这些项目的重点是得到反馈并改进。

  在这种情况下还需要预估时间,并制定相应的计划实施。软件项目由于成本与开发人员的多少和开发持续周期密切相关,所以时间通常是软件开发项目的一个重要衡量指标。使用改进后的自适应项目框架,利用需求优先级的功能排定和需求成熟度分析进行时间缓冲,可以很好地适应这种状况。

  1.需求的优先级

  根据客户的要求排定功能的优先级。将有则更好,没有也不影响系统实用性的功能放在最后实现,是时间紧迫项目通常采用的方法。在进度延期的情况下,舍弃这些浮华的功能,可以确保项目按期完成,也可避免项目因增加了一大堆客户要求的功能而陷人遥遥无期的悲惨境地。

  2.需求的成熟度(见表)

  需求的成熟度指的是需求的稳定程度。由于软件项目的范围通常是变化的,与客户洽谈并确定各个功能的需求成熟度并列表,既可以了解客户对新业务需求的理解程度,也是在需求变更时和客户谈判的依据。需求的成熟度越高,需求的变化程度越低,对需求变化的缓冲也就越小。变化的时间损耗指的是相对于功能实施时间的百分比。因为对原有功能的变更通常会利用已有的模块,相对时间较短。变化的次数是指决定变更迭代周期的实施次数。

  3.需求缓冲的计算

  变化的权值=变更的时间损耗比x变化的次数;

  功能的需求变更时间缓冲RAT=功能的实施时间x变化的权值;

  每个功能变化的权值为变更的时间损耗比乘以变化的次数。用此功能的实施周期预估时间乘以变化的权值则得出每个功能的需求变更的可能损耗的时间。将每个迭代周期内所包含的功能的需求变更时间相加,则得出了此迭代周期的需求变更时间,即需求变更周期的时间之和。

  4.计划的制定

  计划时首先确定出项目范围后,创建出中层WBS(工作分解结构),并以此确定项目功能的优先级,并根据风险分析确定每个功能的变化权值。确定好每个迭代周期时间,并根据总时间、成本的限制和功能优先级制定好功能的实施迭代周期数量及相应完成的功能制定计划。将功能需求变更周期和质量改进周期也考虑到计划中。由功能变化权值、功能实施周期时间和迭代实施周期内的功能数量决定的总的功能需求变更周期的时间,将时间缓冲合并人计划中。

  确定功能周期及修改周期重复的次数定期进行质量改进,一般是3到6次功能周期后进行一次质量改进,改进的具体内容则是实时制定。如果采用的是全程客户参与的方法,则需求成熟度会随着项目的进行趋于稳定,后期实现的功能可不设定需求变化的缓冲时间。由于大多数软件应用开发的变化没有在极限项目中的剧烈,即使增加了新的功能,修改非任务级的中层计划也比较容易,而且变更只在用户检查阶段实施。大多数情况下,在项目缓冲允许范围内的延迟不需要调整计划。Bum—down图可作为一种辅助的管理方法。在短的时间周期内(一般是两周到五周),项目可以认为是低变化的,所以可以制定好将要进行的下一个迭代周期的详细计划。周期详细计划由于时间周期比较短,可不用关键链法。

  由于软件开发项目的大多数模块都可以并行开发,并行的限制只受限于开发人员的数目,并且周期的时间都很短,所以在周期详细计划中使用关键路径并不能收到预期的效果,在项目实施中可应用的是关键链的项目缓冲机制。

  由于敏捷项目管理的迭代性,根据已执行完的第一个迭代周期或前几个周期,可测量出比预估更有效的开发速度,可判定预估的准确度,从而调整基准计划。

  五、结束语

  敏捷方法在软件项目管理的采用确实提高了软件开发项目的成功率。但研究刚刚开始,仍然处在未成熟阶段。如何对经常变化的不确定性软件开发项目进行有效的敏捷管理仍是一个需要完善的课题。

[1]   [2]   

信管网订阅号

信管网视频号

信管网抖音号

温馨提示:因考试政策、内容不断变化与调整,信管网网站提供的以上信息仅供参考,如有异议,请以权威部门公布的内容为准!

信管网致力于为广大信管从业人员、爱好者、大学生提供专业、高质量的课程和服务,解决其考试证书、技能提升和就业的需求。

信管网软考课程由信管网依托14年专业软考教研倾力打造,教材和资料参编作者和资深讲师坐镇,通过深研历年考试出题规律与考试大纲,深挖核心知识与高频考点,为学员考试保驾护航。面授、直播&录播,多种班型灵活学习,满足不同学员考证需求,降低课程学习难度,使学习效果事半功倍。

相关内容

发表评论  查看完整评论  

试题推荐

推荐文章

精选

课程

提问

评论

收藏