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

简介:   最初的问题  上周,在SCNA(北美2010软件技术大会)的一个专题小组讨论会上,Chad Fowler (@chadfowler)问道,“有多少项目是因为程序的原因失败的?”。按当时的情形,我想他的观点是,项目的失败归咎于业务问题,而非程序。

  最初的问题

  上周,在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

目录
相关文章
|
3月前
|
数据可视化 项目管理
项目管理怎么做?四大项目管理模型详解,让你的项目不再“忙而无效”!
本文介绍四大经典项目管理模型:瀑布模型(适合需求明确的项目)、Scrum模型(适合需求频繁变化的项目)、增量模型(分阶段推进,逐步完成)和风险管理模型(防患于未然)。同时推荐几款常用工具,如板栗看板、Trello和Asana,帮助团队更高效地协作。
97 0
|
项目管理
项目管理文档-【3】IT项目启动阶段
/Files/lzhdim/IT项目启动阶段.rar   IT项目的启动阶段 1.1 可行性研究报告框架   1.2 项目章程      1.3 项目整体风险水平定性分析表   1.
765 0
|
XML 存储 SQL
【C#编程最佳实践 五】项目与代码流程实践
【C#编程最佳实践 五】项目与代码流程实践
193 0
【C#编程最佳实践 五】项目与代码流程实践
|
9月前
|
搜索推荐 JavaScript Java
项目开发过程中实际遇到的几个问题处理
项目开发过程中实际遇到的几个问题处理
227 2
|
项目管理
项目管理文档-【6】IT项目收尾阶段
/Files/lzhdim/IT项目收尾阶段.rar   IT项目的收尾阶段 4.1  用户部门新需求申报单    4.2  IT项目产品质量评审表    4.3  软件验收单 4.
819 0
|
C++
C++程序设计实践学材系列(26)——1.7 实践“项目”提示
回到系列文章的目录——[系列文章目录]  回到本章目录——[第1章目录]    1.7 实践“项目”提示   本节与前面各节相关性极大,建议由前面各节看清项目要求,必要时再阅读本节。  【项目1.1】 将例程ch1-1.cpp中第5行“hello world!”换为“C++,我会爱上你!”即可  【项目1.2】 在项目1.1基础上,再加如下一句   cout<<"爱你千回终不
989 0
|
9月前
|
监控 前端开发 Java
Java从入门到精通:4.1.2参与实际项目——学习与团队成员协作,了解项目开发的流程和规范
Java从入门到精通:4.1.2参与实际项目——学习与团队成员协作,了解项目开发的流程和规范
131 1

热门文章

最新文章