工时估算:扑克牌法

怎么评估任务的工时?有很多种方法,这里介绍一下敏捷团队的扑克牌估时法,这也是实际工作中曾用到的估时方法。

以下内容来源主要是不同文章摘抄:


有效的估算是软件开发人员在工作中面临的最严峻挑战之一。无论团队规模如何,他们都需要在整个团队中定义,估算和分配工作。随着团队规模的扩大,围绕规划和评估工作建立良好习惯变得更加重要。缺乏计划和估算会降低对计划的信心,打破团队与业务之间的关系,并使每个人的开发更加困难。

什么是敏捷扑克?

本质上就是扑克牌。有专门的敏捷扑克,一般没有的话拿普通扑克牌也可以。

扑克牌估时步骤

  • 产品负责人或者项目负责人向团队成员讲解需求或任务
    • 例如:
    • “客户登录预订系统”
    • “客户输入酒店预订的搜索条件”
  • 团队成员根据自己的理解对需求和任务工时进行估算,选好扑克牌/其他人不可见(如果无法估算,可以使用特殊牌)
  • 同时出牌
  • 然后讨论估计值并解释高低估计值(如果大家的估算结果相近,就可以取平均值,估算结束)
  • 根据需要重复,直到估计收敛

为什么要使用扑克牌法来做估算

有人可能会问,在传统的做法中,我们一般是让一个专家或者项目经理来做估算,给出结果,然后团队照做就可以了,多个人都参与估算不是浪费时间吗?

使用估算扑克来做估算基于两个结论,

  • 第一:团队的智慧要高于某一个人的智慧。
  • 第二:真正参与工作的人做出的估计要高于其他人做出的估计。

估算扑克有效还有如下几个方面的原因:

  1. 传统估算通常是一个人在思考,而使用估算扑克估算时,鼓励跨职能团队的多个团队成员参与估算,团队成员可以从不同的视角来思考和分析问题,估算的过程中考虑的更加全面、估算也更加准确。
  2. 在估算的过程中,团队对估算的结果进行讨论和评判,在一个高度透明的环境下,估算的结果更加真实和客观。这样也避免了很多时候过于武断,或是拍脑袋做出的决定。
  3. 估算的过程也是一个知识分享和学习的过程,对某一个条目不清楚的成员通过其他成员的阐述会增加对该条目涉及到的要点的认识。

附两篇图文并貌的介绍:


更多敏捷系列:
敏捷开发:Scrum 和 Kanban 比较