3.3 小结
敏捷开发小组作为一个整体一起工作,但包含了由特定人员担任的不同角色。首先是产品所有者,负责确定产品前景和小组将要实现功能的优先级。然后是客户,就是为项目提供资金或在软件完成后购买它的人。敏捷开发项目中的其他角色还包括用户、开发人员和项目经理。
敏捷开发小组按照短的、时间限制的迭代周期进行工作,在每次迭代结束的时候交付一个可用的产品。在这些迭代中开发的功能是根据它们对产品的业务重要性选择出来的。这保证了最重要的功能将首先开发。用户故事是敏捷开发小组用于表示用户需要的一种常见方式。敏捷开发小组认识到一个计划可能很快就会过时。因此,他们会根据需要调整计划。
项目应该被看作是迅速、可靠地产生有用的新功能和新知识的流程,而不只是对一系列步骤的执行。项目会产生两类新知识:关于产品的知识和关于项目本身的知识。每类知识在使计划更精细,从而为机构获取更多价值上都是有益的。
敏捷开发小组使用3个层次上的规划:发布规划、迭代规划和每日规划。发布规划展望一次发布的整个时间范围—— 通常是3~6个月。迭代计划只考虑一次迭代的持续范围—— 通常是2~4周。每日计划则由小组成员在每日例会上向其他人做出的承诺组成。
理解产品所有者的满意条件对发布规划和迭代规划都至关重要。在发布规划中,整个开发小组会确定一个方法来满足本次发布在范围、进度和资源方面的满意条件。为此,产品所有者可能需要放宽一个或几个满意条件。进行迭代规划时也会经历类似的过程,只是此时的满意条件是将要实现的新功能和用于演示这些功能被正确实现的高级测试用例。







