摘要:
ide
提及估算问题,咱们第一反应每每是“估不许”!估得准又如何呢?若是估算结果是须要5个月才能完成,但合同要求3个月交货,你怎样办?因此其实咱们还有一个“估得多”的问题,而在“估不许”和“估得多”这两个问题以前,还有“不敢估”的问题。spa
估算问题很复杂,咱们首先要作的是拆解这个问题,这样才能更好地找到合适的解决方法。
orm
咱们从不一样角色的视角来看看估算的问题:资源
老板如何看估算?开发
老板是很了解本身的手下的:若是让项目组本身去估算,那么估算值必定是大于工期限制,并且实际的工做量又会远大于估算值。团队协作
但老板是要赚钱的,项目的合同金额是固定的,交付期是“死”的,因此项目组不要跟我扯项目有多困难,不要说须要更长时间,反正必须在交付期以前将项目作出来,并且项目能验收!这样才能符合个人利益。it
因此老板不太可能让项目组本身估算工期,而后让项目组按照这个工期来安排工做。class
项目经理如何看估算?基础
项目经理(后面简称PM)是责任大,权力小的职位,项目的“几座大山”都压在了PM身上。软件
这“几座大山”是什么呢?
1)进度的压力
2)老板的压力
3)客户的压力
4)软件质量的压力
5)恨铁不成钢的项目组成员
6)……
原本估算应该是舒缓这些压力的好办法,若是能根据估算来安排进度和调整项目组的人力安排,估算就是美好的。
但问题是估算出来须要5个月完成,但工期只有3个月,老板和客户都不会由于这个估算而放松对进度的要求和限制,也不会下降软件的质量要求,老板也不会安排更多的人手到你的项目组(项目期间老板若是不将人员抽走的话,你已经要阿弥陀佛了)。
因此估算对于PM来讲一点价值都木有,横竖都是死,不如节省这些无用的估算时间,让我死得舒服一点吧。
项目成员如何看估算?
我是来打工的不是来卖命的,完成本职工做对得起这份工资就行。项目成败跟我没啥特别关系,PM把任务安排下来,我完成任务就能够了。至于加班嘛,这是IT界的“潜规则”,我就加一点吧,但没日没夜的加班老子是受不了的!
你说“估算”?让我估计本身任务须要多长时间完成?说了这个时间有用吗?我说10天你还不是直接砍成3天,不要作这种“虚伪”的事情了,直接告诉我何时要完成就好了。
客户如何看估算?
不要老说咱们提不出需求,你不作出来我怎样知道我要什么呢?软件开发我不懂,不要每次催促大家交货就跟我提一些我听不懂的理由,咱们懂技术的话就没有大家公司的事了!咱们判断事情的标准其实很简单,签署合同时咱们已经写得很清楚了,就是:给大家这么多钱,这样的工期,到时必须交出像样的东西出来!
估算?你说什么估算?大家签合同的时候不是应该想好了吗?如今才跟我说超出工期,那合同要来干吗呢?
看上去不管是从哪一个角度来看,估算”都是“十死无生”的事情,并且估算彷佛没有办法兼顾各方面的利益。那么是否是不谈估算,直接绕开估算这个事情,就“万事大吉”呢?
理想的估算境界
理想状况是这样的:项目组的估算符合合同的要求,能在工期内交付,能保证质量要求,并且项目的实际状况与估算状况基本吻合,而且项目组不须要太多加班,甚至是不须要加班。这样就能知足和平衡老板、PM、项目组成员以及客户的利益了。
避开估算其实象鸵鸟遇到事情将头埋在沙中,避得一时避不了一世。咱们须要直接面对估算带给咱们的挑战,只要能克服如下的三个问题,就能够实现上述的“理想境界 ”。这三个问题是:1)不敢估;2)估不许;3)估得多。
问题1:不敢估
不敢估算或者不肯意估算,主要有三个缘由:
1)项目工期是限死,项目人力资源基本也是死的,让估算者以为估算没有价值;
2)项目的需求不肯定,采用什么技术也不太肯定,让估算者以为没法进行估算;
2)估算其实至关因而对本身工做的承诺,估算者不想本身对本身设套。
问题2:估不许
不敢估算这个问题克服后,估不许的问题就会呈现出来,估算偏差超过100%甚至是200%以上都是很常见的事情。没必要太过紧张,若是能克服“不敢估”这一关,“估不许”这个问题是能够解决的。
“估不许”的缘由一般有:
1)对项目的需求和技术估计不许,特别是项目需求不肯定的时候;
2)对项目组自身的估计不许,包括对自身的技术能力、团队协做能力、研发流程能力的估计等。
问题3:估得多
估算出来了,并且实际状况也估算状况相差无几,也不必定能知足要求,由于这个估算每每是大于工期的限制的。这第三个问题,才是咱们终极须要解决的问题!
估算方法最多只能帮助咱们估得比较准,但并不能帮助咱们估算得少,真正能让估算数字降低的决定性因素是什么呢?这个决定性东西其实就是大家的研发能力!
如何解决这些问题?
谈起估算问题,咱们表面上谈的是“估得准”的问题,而实际上咱们但愿的是“估得准而且估得少”,要终极达到这个目标,必须按顺序逐步来解决前文提到的三个问题。
公司的领导们不要太过心急,这三个问题没有几年时间是不能完全解决的,给你一个时间表参考参考:
1)完全解决问题1大概须要3个月时间;
2)在解决问题1基础上,完全解决问题2大概还须要6个月-1年时间;
3)在完全解决问题一、2的基础上,完全解决问题3大概还须要2年以上时间。
这是一个系列文章,将会围绕这三个问题给出一些最佳实践供你参考,你也不用太担忧须要这么长时间 才有效果,后续文章会为你分享立刻能够实践的作法,改进是持续进行的。
如下是本系列文章的大体规划:
1.不只仅是估不许的问题 <---------这是本篇文章
2.估算能够很难也能够很容易
3.估算和预算
4.估什么?谁来估?
5.怎样估算?
6.项目初期的估算
7.项目中后期的估算
8.怎样才能让估算数值更少?
请关注后续文章,谢谢!
做者:张传波
创新工场创业课堂(敏捷课程)讲师
软件研发管理资深顾问
CMMI首席专家
《火球——UML大战需求分析》做者