当我们提起工作量估计的时候,我们会碰到同样的问题,我们如何来做估计?有什么方法可以遵循呢?如何估计才更准确?我对某个功能做了估计,但它超出了预计的开发时间,为什么?
Scrum团队已经做了和严肃的承诺去完成开发工作(可以交付的产品),必须要深思熟虑才可能成功。
成功的工作里昂估计的几个步骤:
估计每个团队成员有多少时间可以在Sprint中被使用:
估计每一个团队成员在当前的Sprint中有多少时间可以被使用时Sprint计划会议的一个非常非常重要的部分。需要注意的是如果一个开发人员估计一个任务8小时可以完成,这个并不等于他一天可以做完。事实上,没有人会做在座位上一动不动,工作8个小时,参加会议的时间,午饭时间,意外的打断,看email, 接听电话等等都要考虑进去。
刚刚开始实践Scrum的人经常会问“是否需要预留一些时间来做bug修改?”。我当然不会准备两个Sprint,一个用来做产品backlog的开发,一个做bug修改。bug修改的时间应该是每天例行的时间,也就是说这是我们每天例行工作的一部分,扣除这些例行的时间,剩下的才是你可以承诺给Sprint的时间。
1. 估计每个成员有多少时间花在和Sprint相关的工作上。
Sprint可用的工作时间= 平均日工作时间 - 其他活动.
平均日工作时间 = e.g. 8 hours
其他活动: = e.g. 4 hours
Emails and Phone : 1 Hrs
午饭: 1 Hrs
读Blogs/bbs : 0.5 Hrs
Bug fixes : 1.5 hrs
Sprint可用的工作时间= 4 hours
为产品Backlog中的每个项目估计工作量:
有完成过类似工作经验的人来做相关的估计会更好一些,有历史数据可供参考。最好是让相关的有类似工作经验的人参与进来做适当的估计。经过几个Sprint之后,团队成员就会找准自己的位置,知道自己可完成多少工作。这也会使估计更为准确一些。
2. 所有的团队成员都要参与工作量估计的游戏。
3. 从Product Backlog中挑出排列好优先级的项目,要能够完全理解它,知道应该做什么,有哪些依赖、复杂度,风险等。如果需要的话让Product Owner做相关的澄清。
4. 细化理解后的项目为2-16 h/m工作量的小任务。
5. 为每个小的任务估计时间.
关于工作量估计的一些注意点:
1.一旦已经承诺要递交的Sprint的工作任务,团队成员不应该在受到外界的干扰,比如指派新的工作任务,或改变工作任务等。
1. 估计每个成员有多少时间花在和Sprint相关的工作上。
Sprint可用的工作时间= 平均日工作时间 - 其他活动.
平均日工作时间 = e.g. 8 hours
其他活动: = e.g. 4 hours
Emails and Phone : 1 Hrs
午饭: 1 Hrs
读Blogs/bbs : 0.5 Hrs
Bug fixes : 1.5 hrs
Sprint可用的工作时间= 4 hours
为产品Backlog中的每个项目估计工作量:
有完成过类似工作经验的人来做相关的估计会更好一些,有历史数据可供参考。最好是让相关的有类似工作经验的人参与进来做适当的估计。经过几个Sprint之后,团队成员就会找准自己的位置,知道自己可完成多少工作。这也会使估计更为准确一些。
2. 所有的团队成员都要参与工作量估计的游戏。
3. 从Product Backlog中挑出排列好优先级的项目,要能够完全理解它,知道应该做什么,有哪些依赖、复杂度,风险等。如果需要的话让Product Owner做相关的澄清。
4. 细化理解后的项目为2-16 h/m工作量的小任务。
5. 为每个小的任务估计时间.
关于工作量估计的一些注意点:
1.一旦已经承诺要递交的Sprint的工作任务,团队成员不应该在受到外界的干扰,比如指派新的工作任务,或改变工作任务等。
2. 余下的工作将被移动到下个Sprint中。
3. 为了达到目标,团队必须是自我组织,并且团队成员之间是透明的。
3. 为了达到目标,团队必须是自我组织,并且团队成员之间是透明的。