敏捷项目管理是以迭代和功能为推动力的。功能的推动性表现在它将计划和执行的主要重点从任务转变为产品功能。这是与传统项目管理以任务为推动力的重要一个区别。我们将整个需求分解为细粒度的多个功能点,只有每个功能点的开发和测试全部完成才对进度贡献和客户承诺有意义。这与挣值中的0-100法则是相吻合的。
按需求和功能点进行WBS分解可能更难于管理,但是它跟开发人员的实际工作方式根据容易匹配,让项目的工作和与客户承诺保持同步。对于用户来讲只有真正可以交付的最终功能才是有价值的,而每一次迭代可以是一次交付,是对客户承诺和价值实现的具体体现。
迭代周期的长短是我项目周期和项目对进度偏差限制密切相关的。一般而言在项目周期的15%左右处都应该设置相应的检查点或里程碑。以方便我们及早的发现进度的偏差和资源使用情况,并对迭代计划进行适当的调整。同时里程碑点也可能是项目同步和整合的关键点,在里程碑点需要对各迭代功能进行整合并向用户交付。
迭代计划和里程碑的安排必须考虑客户价值和风险两个要素。迭代的目的就是要在降低风险的情况下尽量满足客户价值的实现。因此在迭代前期必须要考虑技术风险的减轻和应对方案,使风险明朗。同时要真正的做好需求分析和用户调研,优先交付用户最关注的功能点。
对于迭代计划的安排,主要涉及到如下活动:
1.确定已知的风险对迭代计划的影响。
2.确定里程碑和迭代周期。
3.为每次迭代(或者里程碑)制定方案。
4.根据优先级,资源,风险和依赖将功能卡分配为每次迭代。
