几乎在每一次软件项目管理培训之前,无论是什么公司谁来讲,都会用(或者试图用)下面这张图来说明软件项目管理非常重要。
但是从来没有人怀疑过着上面的数据到底是否真实。我用过这张图不下十次,从来没有怀疑过。因为我去过在一家小软件公司做开发的时候,做了两个项目都是延迟交货并且追加投资的,所以在我的心目中,软件项目不延期不追着要钱是一件奇怪的事情。于是在做项目管理培训时,也会用些失败的经历去教育别人。但是小公司的经历不代表所有公司的经历,更无法代表美国软件产业的经历。我也隐隐的怀疑过,难道软件工业已经如此发达的美国,做项目会做得那么烂?70%的项目不是延期、加钱就是彻底失败?
今天收到的ACM通讯第一篇文章就对这个数据提出了批评。作者问道:我们需要退一步来询问这个数据和报告是否真实?是否反映软件产业的实际情况?尽管大量的学术论文、培训、ppt都引用了这一资源说明软件工程或者软件项目有巨大的危机,但是作为项目经理的作者却没有这一感觉。于是他找到了另一篇文章《How Large Are Software Cost Overruns》。这篇文章的两个作者比较较真,多次给Standish去函询问数据从何而来,调查是怎么做得,然而Standish不做回答。于是这二位仁兄去认真察看了调查报告的原文,并且在第十三页找到了这样一段话:“We then called and mailed a number of confidential surveys to a random sample of top IT executives, asking them to share failure stories [!!!]. During September and October of that year, we collected the majority of the 365 surveys we needed to publish the CHAOS research.”
也就是说,Standish在做调查的时候是去信给项目经理请他们分享失败项目的故事。换句话说,这个调查的样本是针对作了失败项目的项目经理而进行的。
我们可以设想如下情况:如果你是一个项目经理,你收到一封电子邮件询问你的软件项目成功了几个,失败了几个,为何成功,为何失败。一般会有三种反应:置之不理、随便回答一下,认真回答。
一个成功项目比较多的项目经理会怎样反应呢?我认为他更多的是置之不理或者随便回答,因为他很成功,也很顺利,或许应该很忙,对这样的事情不会太关心,不过是一个商业调查而已。但如果是一个失败的项目经理呢?他会有一肚子的怨气没有地方发泄,他需要找人来倾听,他希望有人帮他批评他的上司,他希望别人不要犯类似的错误。所以这样的项目经理反馈这个调查的可能性比较大。所以,我认为只要是邮件调查,就一定会出现失败项目比成功项目回应调查的几率大。再加上调查邮件里要请项目经理分享“失败项目的经验”,那结果可想而知,一个没有失败项目的经理会回信参与调查吗?所以,该调查的抽样样本本身已经带有倾向性。
所以,无论Standish集团的动机如何,这个调查报告是有很大误差的,何况该报告对于“超预算”一词定义不清晰,解释模糊,这一调查结果很难让人信服。偶以后不再用这个数据了。