智能应用 影音
MongoDB
ST Microsite

更好的团队合作估算方法:计划扑克

在执行软件专案时,常常使用截止日期来逆向计算工时,然而这种做法有时会使程序工程师无法确保完成品质,容易导致他们形成「先求有,再求好」的思维。此外,一些专案经理可能会认为程序工程师的日常工作状况不佳,因此将初始时间乘以一个倍数作为缓冲时间。

事实上,程序工程师不会因为时间变长而变得更有效率,过度放宽截止日期不会提高他们的工作效率。

确实,工时无法精确预测,但可以采取一些方法达到「相对客观」的估算。在整个工时评估的问题上,需求的复杂度与工时往往呈正相关,因此分析需求复杂度变得非常重要。计划扑克(Planning Poker)是一种敏捷软件开发中常用的估算技巧,用于评估软件开发任务的工作量或复杂度。它是一种团队合作的估算方法,通常在敏捷或迭代开发过程中使用。

在使用敏捷软件开发框架(如Scrum)进行专案时,其中一个关键的会议是每个新专案开始时进行的计划会议。在此会议,团队会共同计划他们认为在该次迭代中可以完成的工作量。团队在这个会议中使用计划扑克技巧,此技巧允许他们共同估算待办工作的复杂度。

执行计划扑克时,建议参与人数不宜过多,亚马逊(Amazon)的Jeffrey Bezos以确保会议参与人数不超过2个比萨餐点能够供应的人数而闻名,Steve Jobs则着称于要求那些在会议中没有具体目的的人离开。计划扑克的基本流程如下:

1.团队选择要估算的任务或项目。
 
2.每位团队成员手中拿着1组特殊的估算卡片,上面列有不同的数字或尺寸,例如:1、2、3、5、8、13、20、40、100(代表估算的相对大小)以及一张 "?"/"?" 卡片(代表不确定或需要进一步讨论)。

3.由专案经理或项目负责人将任务的内容和要求介绍给团队成员。

4.所有团队成员同时选择一张卡片,代表他们对该任务估算的工作量或复杂度。

5.当所有成员都选好卡片后,将卡片翻面,统一揭开。

6.如果估算的数字差异不大,则取得一致的估算值,进行下一个任务的估算;如果估算的数字差异较大,则进行讨论,并再次进行选择直到取得一致。

7.重复上述步骤,直到所有的任务都被估算完毕。

计划扑克使用创造性模糊进行初步估算,同时避免深陷于绝对数字的困境。创造性模糊之所以存在,是因为现实与理想之间存在着相当大的差距,由于各种限制条件,我们无法精确地量化事物。因此,通过创造模糊的空间,可以避免对数值进行不必要的分析。对于专案经理来说,与其评估一个无法实现的时间表,不如评估更加准确客观的时间表。这样一来,团队成员可以第一时间了解与专案预计时程相差多远,同时在资源有限的情况下,也可以更好地安排需求的优先顺序或寻求其他帮助。

然而,计划扑克只是一种估算工具,而非确定性预测。它提供一种相对客观的方式来评估工作量,但仍需要在实际执行过程中进行调整和迭代。此外,团队成员的参与和互动至关重要,并且需要专案经理的引导和支持。

因此,在进行软件专案时,笔者建议结合计划扑克等估算方法和敏捷开发的原则,注重团队合作、沟通和迭代。这样的方式能够更好地应对专案的不确定性,提高工作效率和品质,并确保顺利完成专案目标。(作者为国立阳明交通大学资工系终身讲座教授暨华邦电子讲座)

亚马逊创始人Jeffrey Preston "Jeff" Bezos。

现为国立阳明交通大学资工系终身讲座教授暨华邦电子讲座,曾任科技部次长,为ACM Fellow、IEEE Fellow、AAAS Fellow及IET Fellow。研究兴趣为物联网、移动计算及系统模拟,发展出一套物联网系统IoTtalk,广泛应用于智能农业、智能教育、智能校园等领域/场域。兴趣多元,喜好艺术、绘画、写作,遨游于科技与人文间自得其乐,着有<闪文集>、<大桥骤雨>。