做事所花费的时间总是比你预期的要长,即使你的预期中考虑了侯世达定律。
—— 侯世达,哥德尔、埃舍尔、巴赫
周三的下午,我像平常一样,写着代码听着歌,突然从天而降一份莫名其妙的故事列表,说让我给个人天,用来投标用。作为一个技术异常牛逼的高端程序员,这对我来说岂不是 A Piece Of Shit…哦不,Cake。拿着列表,打眼一看就知道是做什么 — 又是个审批流系统。注册、登录、忘记密码…这些也需要时间?!哦,还要做个SSO,可能要做点数据集成,给个15人天吧!又是一堆CRUD… CRUD 各给2人天一共8个。看起来有4个 Model,乘个4,32个人天差不多。前端还有些工作量,找前端估一下…还有些跟遗留系统集成的部分,这块应该比较麻烦,给个30人天差不多…还要用微服务架构,估计需要一些基础环境,每个组件给3个人天,一共8个组件,算24吧….总共算起来130个开发人天,差不多,再加点buffer,算150吧!差不多了吧…
这一幕是不是有点眼熟?不过,这样的做法可能会带来下面的几个问题:
1. 估计者的估计点数是否能代表团队的估计点数?
问题的答案显而易见。那么有同学会说,此时团队的人员还没完成配置,没办法让真实团队进行功能的估计。确实是这个样子,所以我们只能力所能及的去模拟真实团队进行估计。一般,交付项目的团队肯定不会全上非常有经验的同学,人员配比一定会有 leverage,也就是 Senior 人员和 Junior 人员的比例。所以,在估计的过程中,至少要引入 Junior 的同事,能够从不同经验的角度来看待同样的问题,来使估计不会过分“乐观”