从我毕业到现在,已经或多或少为N个项目估算过工作量了,这里分享下一些估算工作量的经验:

Part 1: 会影响工作量估算的因素

(1) 无法正确认识即将要开发的应用程序系统的复杂性,经常过低或者过高估计了

(2) 要开发的系统有时候必须与现有的系统集成在一起,而这个集成的工作量很难估算,因为集成的方式不同(侵入式的还是非常低耦合的)会极大影响工作量

(3)系统的规模(功能点的数目),一般工作量与功能点数量的平方成正比

(4)项目团队中成员的能力,不仅仅是专业技术水平,还有领域知识的熟知程度。你不可能假设团队里面每个人都是领域专家并且是专业知识非常扎实的那种。

(5)用户需求可能变化的部分,如果变化的频度和范围。如果需求经常变化,而且变化范围很大,那么对工作量的估算会产生很大的影响。

(6)项目团队成员的人数,一般与人数的平方成正比。

(7)是否有现成的工具或者框架来完成我们的需求,二次开发和平地砌墙的工作量差异很大。

但是总有一点是没错的,那就是对项目的了解越多,对成本的估算与实际成本相差越小,所以对于估算工作量的人来说,要多和客户沟通。