|
凡事预则立,不预则废。一个好的开始项目等于成功的一半,软件项目的成功关键在于一个切实可行、安排合理的项目计划。某种程度上来说,项目计划的好坏已经决定了项目的成败。而要做好项目计划,则必须从优秀的项目估计开始。
《孙子兵法》云:“夫未战而庙算胜者,得算多也,未战而庙算不胜者,得算少也。多算胜,少算不胜,而况于无算乎!”意思是说,在拉开战幕之前,就详细分析敌我实力,商讨周密的作战计划,充分评估有利条件和不利条件,开战之后就往往会取得胜利;反之,没能进行周密“庙算”,开战之后就往往会失败,更何况不进行“庙算”呢?由此可见,预先估计对于一件事情的成败的重要性是至关重要的,甚至是决定性的。项目管理者联盟
项目估计如此重要,那么我们如何才能做好估计呢?项目管理者联盟
很多项目经理会说,我们也做了估计,可是最终还是失败了,这又是为什么呢?对这些失败的项目进行“尸体解剖”,我们发现这些项目经理往往是对项目估计认识不充分,缺少正确的项目估计的技能和知识,从而导致项目估计工作不完整、不全面、不准确,因而无法有效的支撑项目计划的制定。项目经理博客
估计的方法及流程项目管理者联盟
以项目的初始估计为例,完整的项目估计活动应该遵循如图所示的步骤:项目管理者联盟
(1) 作为项目估计的输入,需求要尽可能的明确。需求描述的越清晰、越完整,估计的结果偏差就越小。项目管理者联盟
(2) 在估计的操作中,被估计的需求应进行一定程度的分解。理论上,分解的颗粒度越精细,估计的结果的精度也越高。但在实际操作中,需要考虑两个方面的因素。一方面,项目从启动到结束,需求的可分解性是逐渐增加的,因此在最初的阶段,需求分解不太可能达到非常精细的程度,即使强制进行了细致的分解,对估计结果的影响也不明显;另外一个方面,需求分解的越细致,操作的工作量也越大,估计的成本也越高。因此,需要把握需求分解的颗粒度,要找到其中的平衡点。项目经理圈子
(3) 规模估计的目的是衡量最终交付产品的规模量级。对于软件项目的规模一般是代码行(LOC,或项目管理者联盟
KLOC)。常用估计方法通常有Delphi方法、类比法、功能点估计法和PERT估计法项目管理者联盟
a) Delphi法项目管理者联盟
i、 组织者向专家发放项目需求,估计专家熟悉项目需求。一般由3~4名专家参与估计为佳。pmp.mypm.net
ii、 组织者向各专家提供项目规格和估计表格;项目管理者联盟
iii、组织者召集小组会各专家讨论与规模相关的因素,并设定估计结论的接受标准。一般以估计差异转自项目管理者联盟
的方差值在某一设定的范围内为可接受;项目管理者联盟
iv、 各专家匿名填写估计表格;项目管理者联盟
v、 组织者整理估计结果,计算差异,并将估计结果告知各专家(注意匿名)club.mypm.net
vi、 组织者组织讨论估计差异较大的估计项;项目管理者联盟
vii、 专家针对差异不可接受的项目进行再次估计,并再次填写估计表格。项目管理者联盟
viii、 重复4-6, 直到达到估计的偏差达到可接受的范围为止。项目管理者联盟
b) 类比法项目经理博客
i、 整理出项目功能列表和实现每个功能的代码行;项目管理者联盟
ii、 标识出每个功能列表与历史项目的相同点和不同点,特别要注意历史项目做得不够的地方;项目管理者联盟
iii、 通过步骤1和2得出各个功能的估计值;项目管理者联盟
iv、 输出规模估计。www.mypm.net
|