项目实施过程中工作包估算

在项目实施过程中,程序员的工作任务估算准确性是合理完成计划的关键一环
然而,在实际实施过程中,往往受到各种因素的影响,导致程序员不能/不愿合理估算实施情况
往往是高手过于乐观,然后发现来不及,然后本着负责任的态度要加班加点
新手根本估算不出,唯上级之命,能做则做,不能做也没有责任意识

以下是可能导致程序员估算不准确的因素
1、对需要估算的任务理解不清
2、采用了新的技术
3、不善于对付技术主管或项目经理的压力
4、不善于估计风险
5、不善于估计和其他人的协同工作
6、不善于应对变化
7、难于控制自己的工作效率
8、微妙的心理因素,不愿意让人看低自己的能力
9、博弈心态,故意高估,准备讨价还价


为了改善程序员的估算准确率,首先是技术主管或项目经理必须要充分认识程序员估算的重要性
1、理解程序员的弱势地位,不能倚势强压,鼓励程序员合理估算并给予充分尊重。
      不能把工作量估算的过程变成一个双方讨价还价的过程
2、工作必须细致,估算结果应该是带有前提的,但是绝大多数程序员在估算的时候会不表述这个隐含前提。
      技术主管A:这个工作你要几天?
      程序员B:大概三天吧
      (可能隐含前提:如果我今天下午把我那台突然病毒发作的机器搞好的话
                                      如果这份需求/设计文档写的足够细致的话
                                      如果老大你愿意及时给予我支援的话
                                      如果不考虑单元测试的时间的话
                                     ……)
     因此技术主管或者项目经理必须鼓励程序员充分考虑各种前提,从而作出比较符合实际的估算
3、加强事后总结,并判断原因,协助程序员改善估算方法。

4 充分了解新工作的内容和要求,细化成小任务,评估其中的难点,区分常量时间工作(重复劳动)和突破性工作(需要研究的),需要考虑自己的研究问题能力。
一般先做一个乐观时间估计,就是假设不遇到较大技术和业务难点。视工作重要程度,越重要的工作估计时间越长(可能遇到问题的可能性越大)。普通工作是乐观时间的两倍,重要工作是乐观时间的3-4倍。

5  如果希望获得进一步发展的话,我认为估算的能力是必须的。
能够正确估算自己三天内的工作的,是一个好的程序员,
能够正确估算自己一周内的工作的,是一个优秀的程序员,
能够正确估算自己两周内的工作的,那多半不仅仅是程序员:P
能够正确估算别人工作的,是开发管理的必备素质。

因此,有必要在外在环境不具备的情况下,从自身做起,逐步提升自己估算的能力。

做法很简单,自己做一个对照表,列明任务、自我估计工作量、实际工作量、误差、原因等。工作量最好精确到小时。
不断的进行总结和改进,估算的能力必定会有大幅度的提升。

猜你喜欢

转载自item.iteye.com/blog/907271