原文:http://publish.itpub.net/a2010/0805/1086/000001086567.shtml
【IT168 评论】 回想一下你已经完成的网络和软件项目,当初估算了多长时间和多少费用?有多少估算是准确的?IT项目几乎都会超出预期,也意味着大部分软件项目的估算都是失败的,这是为什么呢?原因有很多,本文仅列举其中10个重要的原因。
1、项目范围边界未确定好
当你对项目尚不了解的情况下,你是如何估算项目需要的时间的?很难找出一位客户可以准确地说出他们的系统应该如何运行。
我参与的每一个大型项目几乎无一例外都要求系统具有“灵活性”,换句话说就是,客户希望系统能处理将来需要处理的一切,但他们也说不清究竟需要什么功能,因此,“灵活性”本质上不是系统需求,因为它是一个模糊的概念。
2、开发时间由非程序员估算
如果你不是程序员,不要私自猜测开发需要的时间,如果项目经理象写小说那样虚构估算,项目注定会失去控制,开发时间的估算应该听取程序员的意见。
3、开发人员的估算太过乐观
开发人员估算时间一般都只考虑了编码需要的时间,另外,每个人的开发速度和效率都不一样,许多开发人员在估算开发时间时都过于乐观,他们往往会忽略掉诸如项目管理,需求整理,讨论,缺勤,电脑问题等因素。
4、没有充分解剖项目
对于一个独立的功能,如果估算的开发时间超过了一周就要小心了,象这样的功能应该进一步细分,这样开发人员可以更详细地分析更复杂的问题。
5、估算多少时间就使用多少时间
给一个程序员5天时间让他完成一个任务,他就一定会用5天时间,软件开发是可以无级变速的,任何代码都可以进行改善,如果开发人员只花了3天就完成了任务,他们会用剩下的时间来调整代码或干脆做其它事情。
遗憾的是,这将会导致估算时间成为开发所需的最小时间,实际交付时间只能被进一步推迟。
6、开发人员多!=开发速度快
一个需要耗时100天的项目不可能用100个开发人员1天就完成了,开发人员越多只会导致项目复杂性呈指数级增长。
7、项目范围变更
这可能是每个开发人员感觉最头疼的问题,有时是应客户的要求对功能进行修改或添加,有时会是CEO一时兴起,觉得某个功能很酷就要求加上或修改。
8、估算被固定
估算应是一个持续的过程,应随系统的开发进度不断更新,程序员往往会认为他们能够弥补逝去的时间,但却很少有人真正做到。
9、遗忘了测试时间
要让开发人员自己测试自己的代码是不现实的,他们知道代码是如何工作的,因此会潜意识地使用一个特殊的测试方法,通常,测试和调试时间需要占到开发时间的50%。
10、估算得太死
非程序员很少能体会到软件开发的复杂性,因此很少有项目计划不被迫延后,影响项目进展的因素很多,估算时如果不预留部分机动时间,最终只会是一个失败的估算。
开发延迟会导致代价高昂的连锁反应,遗憾的是,出了问题大家都喜欢将责任归咎于底层的程序员,这样下去对以后的项目也会不利,因为程序员会吃一盏长一智,下一次他们要么拒绝提供估算时间,要么会夸大开发时间。
不知道你现在的项目是否处于失控的状态,谈谈你对项目估算失败的其它原因吧!
分享到:
相关推荐
软件 管理 项目 评估 软件项目评估失败的10大原因 项目管理
**软件项目评估方案报告** 在智能仓储管理系统软件项目的评估中,我们需要关注多个关键知识点,以确保项目的成功实施和高效运行。以下是对这些知识点的详细解释: 1. **项目背景与目标**:首先,理解项目的背景是...
《软件工程的秘密:软件开发项目为何失败》一书由George Stepanek撰写,深入探讨了软件项目失败的原因,为软件工程师、项目经理以及所有参与软件开发流程的人员提供了宝贵的洞见和经验教训。以下是对该书核心知识点...
根据美国GartnerGroup公司的调查,项目失败可以归结为四个主要类别: 首先,项目组织原因是导致失败的关键因素之一。这包括项目经理的能力不足,项目组织结构不合理,人力资源分配不当,激励机制缺失,以及对利益...
本篇文章将探讨项目规划失败的六个隐蔽原因,尤其是与项目管理软件相关的方面。 首先,静态方法是项目失败的一个重要原因。在当今快速变化的商业环境中,敏捷性和灵活性是项目成功的关键。传统的、僵化的项目管理...
### 软件工程实践中的软件项目评估与选择 #### 第一章:软件项目评估与选择 ##### **软件项目评估的重要性** 软件项目评估是软件工程领域内一项至关重要的活动。通过对项目的全面评估,可以帮助组织更好地识别...
### 软件工程中的软件项目评估与度量 #### 第一章 简介 **软件工程概述** - **定义与重要性:** - 软件工程是一种将系统化、规范化的管理和工程方法应用于软件开发的过程。 - 其目标在于提高软件的质量、可靠性...
软件项目风险评估报告主要关注软件开发周期中可能遇到的风险,以及实施过程中外部环境变化带来的影响。以下是对这些风险的详细分析和应对策略。 首先,软件管理是项目风险的关键来源之一。有效管理软件开发工程化是...
总的来说,软件评估报告强调了风险评估在软件开发中的核心地位,以及软件管理、体系结构和项目管理在规避风险中的作用。通过深入分析风险、制定应对策略,可以提升软件开发的成功率,保证软件的性能和用户体验。
软件项目管理是软件工程领域中一个极为重要的子领域,它涉及到软件开发、维护、升级等全过程的管理和控制。随着信息技术的快速发展,软件项目的复杂性和规模不断增大,项目管理的角色和挑战也随之增加。本综述从国内...
《软件工程的秘密:软件开发项目为何失败》一书由George Stepanek撰写,深入探讨了软件项目失败的原因,为软件工程师、项目经理以及所有参与软件开发流程的人员提供了宝贵的洞见和经验教训。以下是对该书核心知识点...
### 软件工程中的软件项目评估与审计 #### 第1章:软件项目评估与审计简介 **软件项目评估与审计概述** - **定义:**软件项目评估是对软件开发项目进行全面评价和审查的过程,旨在确保项目达成既定目标。而软件...
### 浅析软件项目管理中十个误区 在软件项目管理过程中,存在许多常见的误区,这些误区如果不加以识别和纠正,可能会导致项目的失败或延期。本文将深入探讨这十大误区,并提出相应的解决策略。 #### 一、忽视项目...
在软件项目管理中,管理不确定性非常重要,需要进行风险评估和管理。在项目计划阶段,需要识别可能的不确定因素,并在项目过程中不断监控和调整,以减少不确定性对项目的影响。 最后,为了保证项目的顺利完成,项目...
在准备这些材料时,企业需要确保信息的真实性和完整性,避免因材料不全或不准确导致评估失败。同时,由于政策可能会有所调整,因此在申请前应详细查阅最新的双软评估指南,确保按照最新要求进行准备。 双软评估不仅...
软件项目总结报告是项目完成后对整个开发过程的全面回顾和评估,旨在记录项目的关键信息,分析项目的执行情况,以及总结经验教训。以下是对报告各部分的详细说明: 1. **引言** 引言部分应包含实际参与项目的团队...
软件项目风险评估报告的目的是通过识别潜在风险并提供相应的预防措施,降低软件开发失败的可能性。这要求项目团队具备丰富的经验、专业的技术知识以及有效的沟通协作能力,以应对项目中可能出现的各种挑战。
在软件开发过程中,项目风险控制制度是至关重要的一个环节,它涉及到项目的成功与否。软件项目风险控制制度旨在预防、识别和应对可能影响...正确理解和执行这一制度,能有效提高软件项目的成功率,降低失败的可能性。