畅享博客 > 婧听哲语 > 过程改进 > [讨论]估算规模,还是直接估算工作量?
2008-10-14 22:06:29

[讨论]估算规模,还是直接估算工作量?

 

 

人月于2007-10-18 00:19发布的《IT项目管理-计划-估算》提到:

 


“对于软件项目,估算有很重要的地位,估算步骤最好是能够先估算规模,再根据生产率得到总体工作量,再根据总体工作量预计项目各阶段周期。类别估算,参数估算,专家法或三点法估算,功能点估算等都常在软件项目中使用。

在没有充分的历史数据积累的情况下建议参与专家法通过类别方式进行估算,有了足够的历史数据来检验和校正估算参数和可以过渡到功能点估算和专家估算。项目在进行过程中需要不断的积累和收集历史项目的实际执行数据,形成工作量比例分布,生产率等实际的估算参数基准。”

 


 

我们现在就是按照上面的思路在做的,方法用的是Delphi或者PERT法,主要估的是新开发的代码和复用的代码行数,以及中试需编写的测试用例数和计划执行的测试用例数。基本无历史数据积累,很多数据是拍脑袋出来的,如生产率等。没有估算评审任务工作量及返工的工作量

 

我们度量规模偏差率。这问题就来了。举个例子,某项目估算出来需要新开发1000行代码,需要复用原1000,复用率是40%(即需要对原来1000行代码中的400行代码进行修改,另600行也是项目编译实际需要的代码,只是不需要做改动),那么估算出来的总代码是1000+400=1400。而我们现在选用的代码统计工具时是包含了所有参与编绎的代码行数,这样,实际值在一般情况下(不考虑删除代码的情况)肯定要比估算的大吧?分析估算偏差的时候就会碰到麻烦。

 

看了Humphrey大师的《PSP软件工程师的自我改进过程》,对于这一点的建议是:

1.对每个程序行用单独的特殊注释(添加、删除、修改、复用)来标识,并编写特殊的计算器来识别标记。

2.编写一个特殊的计算器来比较新程序的版本和它前一个版本的差异。

而对于我们来说,这两点都不可能,项目组的人完成本职工作都捉襟见肘,哪里能抽人来办这件事。

 

比较可行的方案就是直接找一个现成的,好用的工具了。可是,目前还无收获。

 

除此之外,在CMMIONLINE.NET上看到另一种估算方案,核心在于把工作分解得足够细,直到可以估计工作量的程度

原文地址:http://cmmionline.net/forums/thread/761.aspx

 


“傻瓜估算法”。

第一步:把公司内部最有项目经验最有估算经验的工程们召集在一起,制订组织级别的估算表框架。

软件开发活动,可以分类以下几类:

1        直接生产软件的活动,如:需求开发、设计、编码、测试等工程类活动。

2        项目管理类活动,如:编写项目计划、计划跟踪、发布评审等活动。

3        项目支持类活动,如:配置管理、QA检查等。

4        维护类活动,项目验收后的数据整理、修改缺陷、系统维护等活动。

 

    根据公司的实际情况,列出各类项目活动,可以根据不同的项目类别而列出不同的活动,尽量把这些活动种类细化,如考虑设计时,还需要考虑设计评审的时间,考虑编写计划时,需要考虑主计划、子计划的编写等等。

把这些框架定好,并设计出估算表模板,供项目组使用。

    据我的经验,很多估算没有做好的缘故,常常是忘记或者是没有估算好估算管理类、支持类、维护类的活动。当一个公司的估算精英聚集在一起的时候,大家要列出公司估算中常常遇到的问题,全部考虑到估算表模板中,并写上足够清晰的指导。当项目组用这些模板的时候,相当于用了估算精英们的脑袋来思考本项目的估算了。

第二步:项目组选用合适的估算表模板,进行由底而上的估算。

    项目组根据自己项目的特点,选用合适的估算表模板,然后项目组成员一起在这个模板的基础上,继续细化,进行详细的WBS,列出要完成这个项目所需要的全部工作,并且把这些工作落实到具体的项目组成员身上,由负责该任务的人来估算自己完成这个任务需要多少时间,而不是由项目经理分配一个完成时间。这就是由底而上的估算办法,这是微软MSF中的估算办法,这个办法有以下好处:

    1.最终该任务是由这个人来完成的,他估计多少时间才能做完,这个时间才是最接近实际的。

    2.负责该任务的人进行估算的时候,肯定需要认真思考这个任务的风险,需要做哪些具体的工作,这样更容易在未开始工作之前就发现更多的潜在问题。相反如果由项目经理来分配时间,这个人就可能不会去思考这个任务了。

    3.做这个任务的人会有被重视和尊重的感觉,他会很重视自己承诺的完成时间,并且想法设法按时间完成。这样会减少很多项目管理时间,因为每个任务负责人都会主动地跟踪好自己的工作。

 

第三步:持续完善模板,持续改进。

    每个项目使用模板进行估算后,都可以对模板提出改进建议,把本项目的成功经验融入到模板中,让后面的项目收益。

 


 

我们即将要做的硬件的估算正是打算采用这种思路。

 

孰优孰劣?恐怕试了才知道。再怎么说,适合自己的就是好的。


推荐到鲜果: 查阅更多相关主题的帖子: 估算

评论

dfsfdsf

发布者 匿名用户
2008-11-25 16:41:54


不错!!!!

发布者 yishun
2009-1-5 9:40:30


您正在以 匿名用户 的身份发表评论  快速登录
(不得超过 50 个汉字)
       看不清,换一个
提示消息
(输入完内容可以直接按Ctrl+Enter提交)