首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

1.7  估算的真正目的

假设你准备出去旅行,正在决定拿哪一个行李箱。你喜欢的是那个小行李箱,因为它容易携带而且可以放进飞机座位上方的行李舱中。你还有一个大箱子,由于必须办理托运,还会由于等待行李提取而耽误时间,所以不喜欢它。你把衣服整理到小箱子旁边,看上去刚好差不多。你会怎么办?也许你会很小心地叠放衣服,尽量不浪费任何空间,希望能够放进去。如果这样不行,你也许会用蛮力把它们硬塞进去,然后坐到箱子上压着它以便把锁扣给关好。如果这样还是不行,你就必须面对一个选择:是把一些衣服留在家里还是拿那个较大的箱子。

软件项目面临着相似的两难局面。项目计划者常常发现在项目的业务目标与进度和成本的估算值之间存在差距。如果差距不大,计划者也许可以通过精打细算或“挤压”项目进度表、预算或特性集来控制项目成功结束。如果差距很大,就要重新考虑项目的目标。

软件估算的首要目标并不是预测项目的结果,而是确定项目目标是否足够现实,从而让项目在可控的状态下达成这些目标。是可以把你旅行中想携带的衣物放入小行李箱,还是必须拿大箱子?如果做出少量调整的话,是否就可以拿小箱子?主管们希望得到同样类型的答案。他们想要的往往不是一个告诉他们说需要的衣物无法放进行李箱的准确估算,而是想要一个放入尽可能多的衣物的计划。

当项目的业务目标和达到这些目标所需的进度和工作量之间的差距过大时,就会出现问题。我发现,如果初始目标和初始估算之间的差距不超过20%,项目经理就有足够的机动空间来控制特性集、进度、团队规模和其他参数,从而达到项目的业务目标。其他专家也得出了同样的结论(Boehm 1981,Stutzke 2005)。如果业务目标和达到目标的实际需求之间的差距过大,项目经理就无法通过对项目参数做出细微调整来使项目获得成功。无论多么仔细地叠放或者坐在箱子上都不可能把你所有的衣服全放到较小的箱子中,即使大箱子不是你的首选,也必须拿它,否则就必须留下一些衣物。在项目经理可以控制项目达到目标之前,必须让项目目标更符合实际情况。

估算无需非常准确而是要有用。当我们同时具有准确的估算、好的目标设定和好的计划与控制时,我们就能够以接近“估算值”的结果完成项目。(你可能已经想

到了,把“估算值”放在引号中是因为估算的项目与最终交付的项目并不相同。)

项目假设动态可变的特点是本书更关注估算技术而不是估算学的主要原因。如果项目的基本假设发生了百分之百的改变,准确度达到±5%的估算也不会带来多少帮助。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论
     
    同类图书推荐