成功的(Successful)
“按时完成,费用不超出预算,而且所有特性和功能都符合原先的设计规格。”
不太成功的(Challenged)
“已完成而且可以运行,但费用超出了预算,没有如期完成,[拥有]的特性和功能少于原先的设计规格”
失败的(Impaired)
“在开发周期的某个时刻项目被取消了”
尽管非常流行,这些定义还是有问题的。某些项目即使一分钱也没赚到,它仍然可能是成功的。另一些项目即使带来了数百万美元的收入也仍然不算很成功。
CIO杂志对这种古怪的情形作了如下评论:
那些满足了所有传统成功标准——时间、预算和设计规格——的项目,最后仍然可能是失败的,因为它们不能吸引目标用户,或者因为它们最终不能带来更多的商业价值。
……同样,按照传统的IT标准被认为失败的项目最终却可能反败为胜,原因是:尽管存在费用、时间和规格方面的问题,但系统最后却被目标用户所喜爱,或者带来了预想不到的价值。举个例子,曾有一家金融服务公司,开发一套新系统时工期延迟了六个月,费用也超出了原来预算的两倍多(最终的花费达570万美元)。但这一项目最终却造就了一家适应性更强的组织(在13个月之后),因而被认定为一个相当成功的项目——这家公司通过账户冲销节省了3300万美元,而且降低了时间价值比,提高了容量,从而使生产环境中并发收集策略的测试数增长了50%。*
成功不只是如期完成对于成功来讲,除了如期完成,应该还有更多的要素……但它们是什么呢?
我小时候非常喜欢玩耍。后来我喜欢上了编程所带来的挑战。当我使一个程序成功运行,就会有一种胜利的感觉。回想那时,即使是一个不能工作的程序,也仍然是一种成功,只要我从编写它的过程中获得了乐趣。这时我对成功的定义主要围绕着个人回报。
随着经验不断增长,我的软件变得更加复杂,我常常无法全面跟踪它究竟是如何工作的。我不得不在完成某些程序之前结束它们。我开始相信可维护性是成功的关键——这一思想在我参加工作并与其它的开发团队一起工作时得到了验证。我为自己能写出优雅的、可维护的代码而感到自豪。此时,成功对我来说意味着技术优秀。
某些项目的代码尽管写得很好,但项目还是失败了。即使执行过程无懈可击的项目也仍然会让用户打呵欠。我开始认识到我的项目组是一个更大的生态系统的一部分,这个系统包含几十个,几百个甚至几千个人。我的项目需要满足那些……尤其是为薪水支票签字的人。实际上,对于那些为工作提供资金的人来说,软件的价值必需超过它的成本。于是,成功意味着向组织机构交付价值。
这些定义并不矛盾。三种类型的成功都很重要(见图1-1)。没有个人的成功,你将很难为自己及其他员工提供激励。没有技术上的成功,你的代码最终将被它自身的重量压跨。没有组织的成功,你的团队可能发现公司不再想要它了。
组织成功的重要性
软件开发团队更喜欢容易获得的技术和个人成功,因此组织成功常常被他们忽视。然而毫无疑问的是:即使你并不为组织的成功负责,更大的组织仍然会从这个层面上来评价你的团队。行政和高管不太会关心你的软件是否优雅、可维护,甚至也不会关心它是否被用户所喜爱;他们关心的是结果。那是他们项目投入的回报。如果你不能达到这种类型的成功,他们会设法让你达到。
不幸的是,高级经理人员通常并没有时间和精力去为每个项目分别实施一套有细微差别的方案。他们挥舞的是大刀,而不是解剖刀。他们希望由项目团队去关注各种细节。
当团队开发的结果不能让经理们满足,就是挥舞大刀的时候了。成本就是最明显的目标。砍掉成本有两种最简单的方法:设置非常紧迫的交付期限来缩减开发时间,或者将工作外包给一个劳动力成本更低廉的国家。或者两种方法同时运用。
这些都是笨拙的方法。过于紧迫的交付期限最终将延缓进度,而不是加快进度[McConnell 1996](220页),而离岸外包则拥有隐性成本[Overby]。
紧迫的期限和外包的威胁听起来是不是很熟悉?如果是,那就说明你的团队到了重新为成功负起责任的时候了:不仅仅是个人和技术的成功,还有组织的成功。
图1-1 成功的类型:
组织最重视的是什么?
尽管某些项目的价值直接来自于销售,但组织的价值却不仅在于销售收入。项目可以通过多种方式来提供价值,而且你不能永远使用金钱来衡量这些价值。
除了收入和成本节约,价值还会来自以下方面:*
· 竞争优势差异(Competitive differentiation)
· 品牌影响(Brand projection)
· 提高客户忠诚度
· 满足监管要求(regulatory requirements)
· 原创性研究(original research)
· 策略性信息(strategic information)
* 本文摘自《敏捷开发的艺术》一书。
- 浏览: 9220237 次
- 性别:
- 来自: 上海
最新评论
-
netkongjian:
不错的报表工具知识分享![deyi]
主流报表工具推荐 -
starry8023:
您的博客很有用!而且我也出现了类似的问题,我是在vs上运行的, ...
在VC下配置openGL -
sliuxl:
...
复制表结构 -
DR玫瑰花香:
[color=darkblue][/color][size=m ...
KMP算法深度解析 -
alvin198761:
看看这两个操作系统的历史,就知道了,这个问题没法追究责任,一个 ...
一则旧闻-Linux是UNIX的盗版?SCO的三大漏洞
相关推荐
提高软件项目成功率涉及到多个层面,包括项目管理、需求分析、团队协作、技术选型、风险管理等。以下是一些关键策略,旨在帮助提升软件项目的成功率: 1. **明确项目目标与范围**:在项目启动阶段,必须清晰定义...
软件项目策划是软件开发过程中的关键环节,它关乎项目的成功率和效率。以下是对"软件项目策划成功进行的九个基本要点"的详细说明: ...通过遵循这九个基本要点,项目经理可以提高项目成功率,确保软件项目的顺利进行。
一个活跃的社区是开源项目成功的基石。社区建设可以从以下几个方面入手: - **提供交流平台**:建立邮件列表、论坛或社交媒体群组等渠道,方便成员之间的沟通。 - **举办线上线下活动**:定期组织线上分享会、线下...
此外,软件项目管理还需要考虑项目的风险管理、质量管理、配置管理、变更管理、进度管理等方面,以确保软件项目的成功。 软件项目管理的重要性在于,它可以确保软件项目的质量、进度和成本的控制,满足用户的需求,...
软件项目管理——失败案例分析 软件项目管理是一个复杂的过程,需要合理的时间进度、有效的估算技术、科学的资源分配和严格的质量控制。然而,在软件项目管理中,各种失败案例层出不穷,IBM360系列的经验与教训便是...
项目目标是软件开发项目的最终目标,它规定了项目的成功标准和评估方法。项目范围是软件开发项目的边界,它规定了项目的内容和边界。项目进度是软件开发项目的时间安排,它规定了项目的开始和结束日期、项目的关键...
软件开发项目全套文档 软件开发项目全套文档是软件开发项目的关键组成部分,它涵盖了软件开发项目的所有方面,从项目概论到项目实施、测试、...只有拥有一个完整的软件开发项目全套文档,才能确保项目的成功和质量。
7. 小型软件组织的项目组合管理:Vähäniitty等人指出小型软件组织需要明确的项目组合管理来提升项目成功率。 8. 中庸管理策略:Goldstein等人探讨了在软件开发中寻找中庸管理策略的方法。 9. 外部IT项目经理的...
软件项目管理是指对软件项目的计划、协调、控制和监理,以确保软件项目的成功实施。软件项目管理涉及到项目计划、进度控制、资源分配、风险管理、质量控制、沟通管理、人力资源管理等多个方面。 在软件项目管理中,...
"软件项目会议纪要范本" 软件项目会议纪要是软件项目管理中的一种重要文档,它记录...软件项目的质量管理、时间管理和团队管理是软件项目管理中的一些关键活动,需要项目经理和团队成员共同努力来确保软件项目的成功。
软件项目管理是项目成功的关键,它贯穿了项目的全过程,包括从初始、计划、执行、管理到结束等过程。项目集成管理在项目的整个生存期内协调项目管理其他各管理知识域,保证项目总目标的是实现。 软件项目管理的九大...
1. 软件项目集成管理:软件项目集成管理是指在软件项目实施过程中,统筹计划、组织、协调和控制各项活动,以确保软件项目的成功实施。软件项目集成管理的目的是为了确保项目的目标、范围、进度、成本、质量和风险等...
软件项目策划是软件开发过程中的核心环节,成功的项目策划能够确保项目按期完成,满足客户的需求,并有效地控制成本。...有效的项目策划能够降低不确定性,提高项目成功率,也是项目经理专业能力的重要体现。
理解并管理这些风险是确保项目成功的关键。 软件管理涉及多个层面,首先,能否按时完成项目是决定软件质量的重要因素。在时间压力下,有些开发者可能会牺牲文档编写,导致后期协调工作受阻,进而影响项目进度。因此...
在IT行业中,软件项目管理是确保软件开发过程高效、有序且成功的关键环节。软件项目管理模板则为这一过程提供了一套结构化、标准化的方法,帮助项目经理和团队成员明确任务、规划资源、控制风险并保证质量。以下将...
了解软件项目的范围对于软件项目的成功实施至关重要,可以帮助项目经理和开发团队更好地规划和实施软件项目。 3. 总体要求 该部分介绍了软件项目的总体要求,包括总体功能要求、软件开发平台要求、软件项目的开发...
"软件项目管理实验指导" ...软件项目管理实验指导书涵盖了软件项目管理的多个方面,旨在帮助学生和开发者了解软件项目管理的基本概念和实践操作,使他们能够更好地管理软件项目,确保软件项目的成功完成。
软件项目成功最重要的要素是什么?大型软件项目是依靠一个组织来完成的,如果这个组织 在管理上是无序的,开发过程是非正式和混乱的,计划期限和成本目标通常超限,项目的成功取 决于个人英雄式的行为,在人员发生...