敏捷的首要价值观: 拥抱变化。
一、分析需求为用户故事。
方法:做为(用户角色),我可以(做什么),以便(业务价值)。后面的业务价值在比较简单或者大家都比较明确的时候刻意不需要注明。
价值观:1、让需求独立,方便理解,分析以及实现
2、明确需求的业务价值
3、快捷增加,删除,变更用户故事
二、对用户故事估计
方法:在估计会议上,主持人拿出一个用户故事,大家对这个用户故事分,最后取平均值
价值观:1、估计是对实现规模的相对估计,不是对实际耗费资源的度量估计,因为实际的偏差可能比较大。
2、当某人的估计偏差较大时,说明对故事的理解上出现了一定的问题,这时是消除理解误差的好时机
3、估计值不是一成不变的,当实际实现过程中发现问题时需要对该故事以及关联的故事尽心重估
三、优先级调查
方法:使用每个故事的功能存在问题和功能缺失问题进行调查。根据结果统计得出该故事的优先级:基本需求、线性需求、兴奋点需求、反对需求、疑问需求、无所谓需求
价值观:1、通过有效调查量化的方法来划分需求的级别,目的是为了
2、优先级不是一成不变的,随着对业务了解的不断深入,以及产品的发展会对优先级进行修正
四、发布规划
方法:首先要确定的是迭代周期的长度,以周为单位,然后估计出每个迭代周期团队的速度。然后可以从用户故事池中选择出合适的用户故事来填充到第一次和第二次的迭代周期中。其余的暂时可以先不用填充,随着每次迭代周期的完成来对发布计划进行更新。最后根据估计的速度和需要开发的故事来确定需要几个迭代周期,并最终有几个迭代周期来确定需要开发的时间周期。
发布计划可以以功能来驱动进行,也可以以日期来驱动进行。
价值观:1、以月做为时间范围,规划对象是用户故事,估计的单位是故事点
2、发布规划详细程度不超过3个迭代周期,因为未完成得需求集会发生变动
3、选择迭代周期1-4周,短时间的目的是可以快速反馈
4、功能驱动,确定要完成的用户故事,然后根据功能的点数除以迭代值,得到需要迭代周期,算出完成时间
5、日期驱动,确定发布时间,计算需要迭代周期,确立点数,填充用户故事
五、迭代规划
方法:对当前要进行的一次迭代周期内的用户故事来分解成工作任务,工作任务包括设计工作,不同层次的开发工作,调试工作和测试工作等等具体的任务,然后对任务进行估计,这时候估计的单位以理想工作小时做为单位。比如,设计需要两个人小时,开发持久层需要1个人小时,调试持久层需要半个人小时,开发业务层需要2个人小时,调试中间层需要1个小时等等。。。
然后根据每个故事的人小时和这个迭代周期内参与的人数,以及每个人所能参与的实际有效时间(注意有效时间约为每天6小时,需要考虑到会议,讨论,头脑休息等非理想工作时间)来判断这个迭代周期的填充是否足够,如果不够则再加入一个用户故事,如果超出则移出一个用户故事到下一个迭代周期中。
价值观:1、以周做为时间范围,规划对象是工作任务,估计的单位是理想小时。
2、使用承诺驱动的方法,团队为自己所承诺的工作负责,同时也让规划更趋于理性
5.1迭代启动
方法:启动会议
价值观:团队
5.2迭代进行
方法:每日会议
价值观:沟通,扫清障碍
5.3迭代结束
方法:反馈修正
价值观:不管完善团队
5.4迭代测试
方法:同步测试/异步测试
价值观:完整性
六、结束发布
方法:数据统计,经验总结,收尾迭代
价值观:1、统计数据做为下次相同条件发布过程的参考
2、共享团队经验
3、根据客户反馈对最终简单功能进行收尾,复杂功能留给下个发布版本
重要实践:
客户参与,频繁发布,外部测试,内部测试,发布规划,迭代规划,结对编程,频繁重构,持续继承,代码集体所有
posted on 2008-02-28 16:51
rocket 阅读(1338)
评论(4) 编辑 收藏