第1章 软件危机:错误的流程导致错误的结果

无论是商业组织、政府机构,还是非营利组织,都可能需要通过开发、定制和使用软件来创造价值。假如没有软件的帮助,作为商业领导者,你很难甚至无法实现自己设定的业务目标。尽管软件如此有用,但是一直以来,软件开发都广受诟病,被认为不可靠、高成本、易出错。1这就使你陷入了一个两难的境地:你需要软件,但无法及时得到成本可接受、质量又可靠的可用软件。

1 2005年4月11日的弗雷斯特报告“企业软件开发无法满足速度和质量需求”指出,企业软件开发公司仍然让人失望:弗雷斯特在2004年秋季的一项调查表明,将近三分之一的受访对象对软件供应商交付定制软件的时间不满意,相同比例的受访对象对最终交付的软件质量感到失望,五分之一的受访对象对软件质量和交付时间都不满意。该调查的692位受访对象均为在IT领域具有影响力、掌控财政大权的人士。

实际上,斯坦迪什组织(Standish Group)在2011年的CHAOS报告中指出,2002年至2010年期间,超过半数的软件项目都被评定为存在缺陷或者是彻底失败,只有37%的项目是成功的(如图1-1所示)。斯坦迪什组织对成功项目的保守定义是:能够按照既定的预算,在承诺的期限之内交付所有需要的功能。而软件适应变化的能力、管理风险的能力以及软件的固有价值均未纳入评估范畴。

图1-1 传统软件开发存在风险

软件项目的成功率如此之低,你很可能会为那些牵涉到软件开发的重要项目忧心忡忡。软件行业耗时、成本高,又不可预期,早已让你大失所望。如果不是软件那么重要的话,你很可能早就停止在软件上的投资了。

不过,面对这些问题的并不只有你一个,很多机构都有同样的困扰。例如,联邦调查局(FBI)的“哨兵”(Sentinel)项目最近也遇上了麻烦。结果,他们运用本书中描述的理念和流程,使项目起死回生。

这里关于“哨兵”项目的资料均来自美国司法部的检察长报告,并且对外公开。如果你认为这只是一个基于政府工作特性的个案,不具有普遍性,那么试想一下:如果一个庞大的政府机构都可以这样彻底地改进软件的开发方式,你的组织同样可以做到。

目录