艾伟也谈项目管理,关于导致项目失败的程序的讨论

  最初的问题

  上周,在SCNA(北美2010软件技术大会)的一个专题小组讨论会上,Chad Fowler (@chadfowler)问道,“有多少项目是因为程序的原因失败的?”。按当时的情形,我想他的观点是,项目的失败归咎于业务问题,而非程序。会议室里很安静。可以看出,全体成员认为他说的是有道理的。我相信大家是都同意Chad的观点的。项目的失败,罪不在于程序,在于业务问题。

  后续调查

  Uncle Bob (@unclebobmartin)后来做了一次简单的微博调查,我和其他很多人都参与了。调查的结果是,赞成项目失败的责任主要归咎于业务问题、而非技术问题的占了绝大多数。Bob感到这么多人选择这样的观点表明了从长远角度看,程序不是那么的重要,因此,技术人员也一样显的不那么重要。

  Bob认真了提出了一些很好的论据来说明为什么程序很重要,来说明事实上,程序不仅能使项目失败,而且会使整个公司倒闭。我在这里不做更多的复述,我强烈推荐你们去读一下Bob的这篇文章, “The Cost of Code?” (外刊IT评论网提供了这篇文章的中文全文翻译),Bob在这篇文章里的大部分观点我都赞同。程序的成本很大。但我不认为所有的项目的失败都归咎于程序,但他用来说明这个观点的例子都很有价值。

  原因和责任

  证据确凿

  一个人死了,一颗子弹击中了他的胸膛。一个项目失败了,只剩下一堆没有的程序码。对于我们来说也许事实很清楚,一颗子弹杀死了这个人。对于我们来说也许事实很清楚,糟糕的程序杀死了这个项目。在没有举出其它可能的论证、在现有缺少证据的情况下,我承认这两种认定。人被一颗子弹杀死,项目被糟糕的程序害死。

  是的,从技术上讲,项目的失败归咎于程序。

  扣动扳机的人

  我们的悲剧并没有结束。我们不能够用消灭子弹来阻止谋杀,我们更不能用禁止对程序代码的依赖来挽救项目。虽然子弹和程序是原因,但它们都只是表象。

  是有人扣动了扳机。

  在大型项目中,要想找到一个受谴责的对象,你不能不提及那些自以为是的人。在大型项目中,通常都是众多的人为因素要对失败负责。如果我们要对大多数失败的项目进行考古发掘,我可以自信的说,我们会发现失败的原因都在人身上。我可以自信的说,我们会发现这些都是交流不畅的失败。这不是一种失败,是成百上千种的,大的或小的失败。缺乏远见,缺乏透明度。

  由于缺乏远见和透明度而导致的缺乏凝聚力。缺乏清楚的预期。责任不清。当不同意时缄口不言。以非建设性的方式发表反对。讨论起来像打仗。用煽动性的语言制造分裂。避而不谈失误。用发邮件来替代打电话。用打电话来代替面对面交流。过度强调交货日期。对时间和速度的认识截然相反。不重视周边工作。没热情 … 这个清单还有很多。

  对于软件项目,程序是关键。你不可能制作一个没有代码的软件项目。程序代码越糟,项目的风险越大。当糟到一定程度,项目就会失败。更严重的是,公司也可能会因为这个项目而倒闭。

  但我不会忘记,是我们写了这些程序。

  是我们扣动了扳机。

  [英文出处]:Code as a Cause of Project Failure

时间: 2024-09-20 07:30:07

艾伟也谈项目管理,关于导致项目失败的程序的讨论的相关文章

艾伟也谈项目管理,ERP项目实施要未雨绸缪不要亡羊补牢

在ERP项目中,要做到在项目实施的未雨绸缪,不会出现亡羊补牢的情况就需要项目管理和实施人员在项目推进过程中队下面的阶段进行预测,把握好发展的趋势,掌握项目的主动权.下面就提出一些建议,供大家讨论.希望对大家有用. 一.要考虑每一个项目阶段普遍存在的问题 ERP项目可以根据项目进度,分为项目立项.需求调研.业务流程重组.模拟运行.并向运行.正式上线等几个阶段.其实不同的企业,虽然有各自的特性,但是也存在着一些普遍的问题.有经验的项目管理员,对各个阶段普遍存在的问题有深入的了解.此时他们就可以预先采

艾伟也谈项目管理,微型项目实践感悟

1. 什么是微型项目 微型项目是指绝大部分工作由一个人员负责的项目,这个核心成员负责项目的系统分析.构架.及绝大部分的编码工作.项目的持续时间一般不会超过一个月.项目的参与人员除了核心的程序员外还可能一部分辅助人员,包括第二程序员(负责一部分编码工作).美工(负责界面设计)等. 微型项目的规模一般很小,业务逻辑也比较简单,价格一般也不会超过10K.程序员通常直接和对方领导打交道.客户大多没有任何技术背景.需要程序员直接负责系统的需求分析. 2. 微型项目分析 2.1 一般流程: 微型项目的流程可

艾伟也谈项目管理,杂谈项目中的那些事儿:计划与变化

IT项目中,我们最恐惧什么? 项目中止?不是,因为对于尽心尽力的我们而言,"项目中止"很少是因为咱这些苦哈哈,也许是财务危机.也许是项目的必要性已不存在.也许仅仅是无限期的延迟. 所以,这里我们讨论的是:一个正在执行的还算正常的项目进程中的事情. 对于项目执行和管理者而言,我们最恐惧的其实是"变化",如果谁为了讨好客户和老板,大声呼喊:"我会快乐地拥抱变化",那么不要客气,对他倒竖中指吧,因为他正把大家拖入泥潭. 事实如此,但是纵然我们再怎么不喜

艾伟也谈项目管理,动起来再调整 - 向项目经理推荐敏捷

要成为一个好的项目经理需要学会逆水行舟.虽然顺水推舟有时也能到达目的地,但学会逆水行舟,你才能到达任何地方. "虽然很有道理,但我认为现实不允许,很多项目都有规定的期限.中途还有给客户演示效果,往往实际项目中都是按最后上线日期来进行项目规划管理的." "写得不错,但是有些建议过于理想化了.毕竟说得很有道理,但实际中具体做起来又不是那么一回事了." 这是两位网友对<软件项目经理新手上路>的评论.这话很有道理,也是在现实生活中碰钉子碰出来的.在项目中确实存在

艾伟也谈项目管理,假如我是一个项目总监/经理

就国内中小民营企业而言,项目总监/经理的角色最为尴尬.项目总监/经理不是一个行政上的title,所以没有行政.财务.人力上的权力:项目总监/经理也很少有项目提成或项目奖金:项目总监/经理更多的被视为因政治因素而临时授命的一个暂时性的英雄人物,一个能够带领一群初级工程师完成某项任务的高级技术工程师.简而言之,只有义务而缺乏权利. 在绝大多数中小民营企业中,抛开强烈的政治斗争不说,还缺乏完善的公司管理制度,缺乏正规的项目管理流程,缺乏足够的技术储备力量.所以身处民营企业这个漩涡中,需要考虑的不仅仅是

艾伟也谈项目管理,软件架构引言之项目管理的问题

软件架构引言之项目管理的问题   很多朋友都有过或者正在管理一个或者多个软件项目,那么我的文章就从这个问题开始:如果单纯从表象来说,软件项目管理过程中暴露的最大问题是什么?   不同的人的会有不同的答案,但是大致这样的答案我想大部分人都是会认可的,那就是"进度拖延".进度拖延当然是表象之一了,其他诸如质量不过关.功能不完整等等,我觉得都是和进度拖延密切相关的.很多项目经理都想去做那些认为是十分必要的事情,比如计划.测试等,但是"没有时间".为什么会没有时间?等到项目

艾伟也谈项目管理,编程习惯

文/Alexey Radul 译/程显峰 原文地址:http://web.mit.edu/~axch/www/programming_habits.html 近年来,我对编程艺术有很多体会.过后,我发现有些体会是错的:有些体会我遗忘了但又重新感受到:而另外有些则是必然会发现的.我还完善了一套项目管理的好习惯,这些习惯包括我自己的,或者小组的,抑或是更大的,公司内部的.一方面,这些习惯对软件的成功开发是至关重要的(太小或者纯粹巧合的不算),另一方面,这些习惯也不是什么高深莫测的东西,较小的篇幅就可

艾伟也谈项目管理,项目管理一些体会

项目管理需要的知识,是一个体系的知识,包括项目管理本身的知识体系,以及项目管理要应用到的领域所需要的知识体系,然后就是管理的技能,当时最重要的,是软技能,也就是人际关系技能. 管理的核心:人. 管理的四大要素: 1. 选择正确的人 2. 为他们分配正确的工作 3. 保持他们的积极性 4. 帮助团队凝聚起来并保持团队的凝聚力. 1. 选择正确的人 首先要学会看人.虽然我不是人力资源专家,但是我清楚一个软件项目的成功所需要的成员素质,主要就是沟通能力和责任心. 由于工作需要,我面试过一些人,有毕业生

艾伟也谈项目管理,项目管理的十大挑战

公司项目中的项目管理挑战 1. 不明确的目标:当目标不明确时,开发团队是不可能达到客户要求的.而且,由于上级管理层不会同意也不会支持不明确的目标,该项目成功的几率微乎其微.因而,项目经理应当通过询问恰当的问题,从一开始就建立并传达清晰的目标. 2. 范围变更:也称作"范围蔓延",当项目管理层允许项目的范围延伸到原始目标以外时,就会发生这种现象.当然,客户和项目监管员会要求修改项目,但一个优秀的项目经理会评估每一个请求.决定是否及如何实施,并且与每个利益相关人交流决策对预算与期限的影响.