|
在这种情况下还需要预估时间,并制定相应的计划实施。软件项目由于成本与开发人员的多少和开发持续周期密切相关,所以时间通常是软件开发项目的一个重要衡量指标。使用改进后的自适应项目框架,利用需求优先级的功能排定和需求成熟度分析进行时间缓冲,可以很好地适应这种状况。项目管理者联盟
1.需求的优先级pmp.mypm.net
根据客户的要求排定功能的优先级。将有则更好,没有也不影响系统实用性的功能放在最后实现,是时间紧迫项目通常采用的方法。在进度延期的情况下,舍弃这些浮华的功能,可以确保项目按期完成,也可避免项目因增加了一大堆客户要求的功能而陷人遥遥无期的悲惨境地。blog.mypm.net
2.需求的成熟度(见表)talent.mypm.net
项目管理者联盟文章
需求的成熟度指的是需求的稳定程度。由于软件项目的范围通常是变化的,与客户洽谈并确定各个功能的需求成熟度并列表,既可以了解客户对新业务需求的理解程度,也是在需求变更时和客户谈判的依据。需求的成熟度越高,需求的变化程度越低,对需求变化的缓冲也就越小。变化的时间损耗指的是相对于功能实施时间的百分比。因为对原有功能的变更通常会利用已有的模块,相对时间较短。变化的次数是指决定变更迭代周期的实施次数。bbs.mypm.net
3.需求缓冲的计算项目管理者联盟
变化的权值=变更的时间损耗比x变化的次数;项目管理者联盟
功能的需求变更时间缓冲RAT=功能的实施时间x变化的权值;转自项目管理者联盟
training.mypm.net
每个功能变化的权值为变更的时间损耗比乘以变化的次数。用此功能的实施周期预估时间乘以变化的权值则得出每个功能的需求变更的可能损耗的时间。将每个迭代周期内所包含的功能的需求变更时间相加,则得出了此迭代周期的需求变更时间,即需求变更周期的时间之和。
4.计划的制定项目管理者联盟
计划时首先确定出项目范围后,创建出中层WBS(工作分解结构),并以此确定项目功能的优先级,并根据风险分析确定每个功能的变化权值。确定好每个迭代周期时间,并根据总时间、成本的限制和功能优先级制定好功能的实施迭代周期数量及相应完成的功能制定计划。将功能需求变更周期和质量改进周期也考虑到计划中。由功能变化权值、功能实施周期时间和迭代实施周期内的功能数量决定的总的功能需求变更周期的时间,将时间缓冲合并人计划中。转自项目管理者联盟
确定功能周期及修改周期重复的次数定期进行质量改进,一般是3到6次功能周期后进行一次质量改进,改进的具体内容则是实时制定。如果采用的是全程客户参与的方法,则需求成熟度会随着项目的进行趋于稳定,后期实现的功能可不设定需求变化的缓冲时间。由于大多数软件应用开发的变化没有在极限项目中的剧烈,即使增加了新的功能,修改非任务级的中层计划也比较容易,而且变更只在用户检查阶段实施。大多数情况下,在项目缓冲允许范围内的延迟不需要调整计划。Bum—down图可作为一种辅助的管理方法。在短的时间周期内(一般是两周到五周),项目可以认为是低变化的,所以可以制定好将要进行的下一个迭代周期的详细计划。周期详细计划由于时间周期比较短,可不用关键链法。项目管理者联盟
由于软件开发项目的大多数模块都可以并行开发,并行的限制只受限于开发人员的数目,并且周期的时间都很短,所以在周期详细计划中使用关键路径并不能收到预期的效果,在项目实施中可应用的是关键链的项目缓冲机制。项目管理者联盟
由于敏捷项目管理的迭代性,根据已执行完的第一个迭代周期或前几个周期,可测量出比预估更有效的开发速度,可判定预估的准确度,从而调整基准计划。项目管理培训
五、结束语项目管理者联盟
敏捷方法在软件项目管理的采用确实提高了软件开发项目的成功率。但研究刚刚开始,仍然处在未成熟阶段。如何对经常变化的不确定性软件开发项目进行有效的敏捷管理仍是一个需要完善的课题。项目经理圈子 项目管理者联盟
|