前车之鉴 软件项目评估失败的十个原因

来源:CIOAge  作者:黄永兵 编译
2010/8/5 10:31:53
回想你已经完成的网络和软件项目,当初估算了多长时间和多少费用?有多少估算是准确的?IT项目几乎都会超出预期。

本文关键字: CIO

回想一下你已经完成的网络和软件项目,当初估算了多长时间和多少费用?有多少估算是准确的?IT项目几乎都会超出预期,也意味着大部分软件项目的估算都是失败的,这是为什么呢?原因有很多,本文仅列举其中10个重要的原因。

1、项目范围边界未确定好

当你对项目尚不了解的情况下,你是如何估算项目需要的时间的?很难找出一位客户可以准确地说出他们的系统应该如何运行。

我参与的每一个大型项目几乎无一例外都要求系统具有“灵活性”,换句话说就是,客户希望系统能处理将来需要处理的一切,但他们也说不清究竟需要什么功能,因此,“灵活性”本质上不是系统需求,因为它是一个模糊的概念。

2、开发时间由非程序员估算

如果你不是程序员,不要私自猜测开发需要的时间,如果项目经理象写小说那样虚构估算,项目注定会失去控制,开发时间的估算应该听取程序员的意见。

3、开发人员的估算太过乐观

开发人员估算时间一般都只考虑了编码需要的时间,另外,每个人的开发速度和效率都不一样,许多开发人员在估算开发时间时都过于乐观,他们往往会忽略掉诸如项目管理,需求整理,讨论,缺勤,电脑问题等因素。

4、没有充分解剖项目

对于一个独立的功能,如果估算的开发时间超过了一周就要小心了,象这样的功能应该进一步细分,这样开发人员可以更详细地分析更复杂的问题。

5、估算多少时间就使用多少时间

给一个程序员5天时间让他完成一个任务,他就一定会用5天时间,软件开发是可以无级变速的,任何代码都可以进行改善,如果开发人员只花了3天就完成了任务,他们会用剩下的时间来调整代码或干脆做其它事情。

遗憾的是,这将会导致估算时间成为开发所需的最小时间,实际交付时间只能被进一步推迟。

6、开发人员多!=开发速度快

一个需要耗时100天的项目不可能用100个开发人员1天就完成了,开发人员越多只会导致项目复杂性呈指数级增长。

7、项目范围变更

这可能是每个开发人员感觉最头疼的问题,有时是应客户的要求对功能进行修改或添加,有时会是CEO一时兴起,觉得某个功能很酷就要求加上或修改。

8、估算被固定

估算应是一个持续的过程,应随系统的开发进度不断更新,程序员往往会认为他们能够弥补逝去的时间,但却很少有人真正做到。

9、遗忘了测试时间

要让开发人员自己测试自己的代码是不现实的,他们知道代码是如何工作的,因此会潜意识地使用一个特殊的测试方法,通常,测试和调试时间需要占到开发时间的50%。

10、估算得太死

非程序员很少能体会到软件开发的复杂性,因此很少有项目计划不被迫延后,影响项目进展的因素很多,估算时如果不预留部分机动时间,最终只会是一个失败的估算。

开发延迟会导致代价高昂的连锁反应,遗憾的是,出了问题大家都喜欢将责任归咎于底层的程序员,这样下去对以后的项目也会不利,因为程序员会吃一盏长一智,下一次他们要么拒绝提供估算时间,要么会夸大开发时间。

不知道你现在的项目是否处于失控的状态,谈谈你对项目估算失败的其它原因吧!

英文原文链接:http://www.sitepoint.com/blogs/2010/07/29/10-reasons-why-software-project-estimates-fail/

责编:穆琳琳
vsharing微信扫一扫实时了解行业动态
portalart微信扫一扫分享本文给好友

著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
最新专题
成都行

成都行亮点 成都行程 智囊团 参观成员 合作媒体 活动咨询..

2015年中国制造业信息化峰会

大会聚焦 大会亮点 大会议程 重要嘉宾 成都行 赞助合作 ..

    畅享
    首页
    返回
    顶部
    ×
      信息化规划
      IT总包
      供应商选型
      IT监理
      开发维护外包
      评估维权
    客服电话
    400-698-9918