平时工作中会参与一些投标项目的工作量评估,与团队平时的工作中也会涉及到对迭代用户故事的评估。一般标书中的需求会描述的范围普遍更宽泛,就算是使用用户故事的方式表达,也是很粗糙的。而实际迭代过程中的用户故事会更细致一些。在实际工作中,会发现“人天”作为评估的单位更容易被广泛接受。今天想来聊聊对这个原因的思考。
本文一部分内容是通过ChatGPT协助生成。技术正在改变我们的生活与工作。
人天估算的起源
人天评估是一种项目管理中常用的技术,用于估计完成一个任务或项目所需要的时间和人力资源。人天评估的历史可以追溯到20世纪早期,但并没有一个确切的发明者。
据说,这种估算方法最早出现在20世纪30年代的美国,当时它被称为“定额成本法”,用于计算制造业生产线上工人的产出和成本。在20世纪50年代和60年代,人天评估被引入到计算机软件开发项目中,以帮助开发人员估计任务完成的时间和资源。
随着时间的推移,人天评估逐渐成为一种常用的项目管理技术,被广泛应用于各种行业和领域。
什么是人天估算
人天估算是一种基于时间的估算方法。它通常使用人天(人工工作日)来衡量完成项目所需的时间。例如完成一项工作需要5人天,这里1天是8个小时,那么5人天代表1个人需要做5天;而如果你有5个人就可以在一天内做完。这种方法的优点是精确度较高,可以更好地控制项目进度。此外,人天估算方法简单易懂,可以被客户或非技术人员理解。因此,在商业项目或需要严格的时间表的项目中,人天估算是非常有用的。
人天估算的缺点
首先,它需要非常详细的需求文档和设计,以便准确估算项目时间。这意味着在项目早期,由于需求和设计尚未完全确定,人天估算的准确性会受到影响。其次,人天估算可能会低估或高估工作量,特别是在涉及到新技术或未知领域的项目中。因此,需要在估算中考虑不确定性和风险。
一些思考
人天估算和软件工程一样都是从制造业项目管理借鉴过来的一种方法。在制造业,知识被固化在机器中,操作的人在了解了对机器的使用之后,使用工具来完成相同工作的时间几乎相同。而软件开发中,人是知识的主体,相同的工作不同的人实现出来是不同的。这里面会存在知识掌握程度差异带来的区别,还有技能熟练成度的差异。这也就导致软件项目中不确定因素会比制造业多的原因之一。可以看到人天估算更适合制造业。
人天估算本身包含的估算信息较多:时间的估算,工作量的估算,成本的估算。可见这么丰富的信息最后都融合到一个数字里面。这是它为什么受欢迎的原因之一。不过这种简单也是有代价的,它需要高质量的输入,同时有一个重要的前提,每个人的能力和技能都是相同的水平,每天的产出也是相同的。但大家都知道,软件项目的不确定性很难在项目一开始就拿到准确的需求,而团队的每个人也不可能都一样水平。这也导致人天估算的不准确从一开始就注定了。
相比较于人天估算这种精确估算,敏捷估算推荐的是相对估算,它能体现的是任务相对于已经做过的某一个工作的相对的规模、复杂度。不到最后落到具体人或者团队身上,它都不会带有具体的时间、工作量、成本。而这几点的信息需要利用“昨日天气”这个模式来获得。“昨日天气”也就是同一个团队做过的相似任务的时间、成本、工作量作为参考,因为他们是实际发生过的。从这一点来看,敏捷估算会相对准确一些。不过也因为这中思考方式的转变,导致这种估算在接受和认可上有一定的难度。
践行敏捷实践,让工作变得更美好。欢迎关注我的公众号,交流落地经验。