我们在开发一个软件项目的时候,大老板或者客户经常需要我们给他们某个项目估算的工时,我们一般的做法就是把当前的项目按照WBS进行自上而下,自顶而底,自外而里的进行分解;然后根据一个详细的可个人实施的任务作为一个最低的估算时间的单元,这个时候问题,就来了,如何让这个最低的估算时间的单元逼近它的实际真实值,同时也不让员工太闲或者太累?这里给大家介绍一种我们以前用过的乐观估计,悲观估计和期望估计的算法,供大家参考。
任务最终的估算时间=(乐观估计+悲观估计+期望估计*4)/ 6(中庸),
(1)乐观估计:乐观估计的值可以由项目经理或者组长来填写,因为项目经理或者组长一般会希望一个任务完成的时间越短越好,但是项目经理填写这个时间的时候一定要实事求是。
(2) 悲观估计:悲观估计一般有开发者自己填写,因为开发者一般在做这个任务之前会尽可能的为自己争取更多的时间。
(3) 期望估计,期望估计一般由资深的高级工程师来估计的时间或者做个这个项目的其他的同事来估算时间;但是有的时候,也可以由开发人员自己估计时间。
这样,根据项目的实际情况,加上不同的权重,一般来说,任务最终的估算时间就基本上解决实际项目所需要的时间了,同时也不让员工太闲或者太累。
另外,如果是拿这个估算去客户那边接新的项目的话,如果很想接到项目,则增大乐观估计的权重,如果此项目可有可无则增大悲观估计的权重系统,这个时候期望估计一般由开发人员自己估计的时间,这样的话,客户和开发这边就都能照顾到。因为项目管理的最终目标是让所有的项目干系人都满意。