错误的管理学,也导致美国这20多年的软件工程研究走错了方向。例如Halstead与McCabe开始了软件质与量的量度,但根本上,软件是与创造能力(活的)有关的,故美国在这方面发展了20多年,所产生出来的技术不但没有被广泛采用,相反那些已采用的技术也慢慢停用。在需求工程研究方面,美国发明过100多个需求语言,但至今最常用的仍然是英文,其他的几乎被完全淘汰。美国管理学说:“不能量度,便不能管理”。在实践中,如果你问十个有经验的软件主管:“写需求是一页纸好或一千页纸好?”你会得到很不同的答案,可见理论和实践是严重脱节的。总括来说,在这20多年间,由于走错方向,美国软件工程科技实验的多,但成功的少,突破更近乎于零。
要想知道怎样克服这个错误,就必须先明白走错方向与没有走错方向的软件工程研究的分别及美国为什么迟迟不能改正这个错误。在软件工程科技的发展史上,很多软件科学家如Halstead与McCabe用很多心思去研究,都得不到成功的结果。相反,Fagan在1975年发明了软件检视(software inspection)方法,该方法简单到不能再简单,只是减低人为的错误;30年后的今天,这种方法仍为人采用。其主要分别是Fagan对“人”,而Halstead与McCabe是对“物”。如果你翻看Halstead的原著《软件科学的要素——1977》( Elements of Software Science——1977)及Fagan1976年在IBM系统杂志上的软件检视的文章,你会发现两人所费的时间和心思有天渊之别。但Halstead的研究走错了方向,越做越复杂,最后得不到成功的结果。对“物”可以凭理论,但对“人”必须凭经验。美国大部分软件工程科学家,只有极少的实践经验,即使有部分从事研究的科学家出身于软件 /IT工业,但由于他们的实际经验缺乏深度和广度,所以提出的理论也不切合实际和不具代表性。像Frederic Brooks那样能够先集科技及管理于一身,继而在极少有的大型项目( OS360)中广泛地吸取实践经验,然后将经验的心得上升为理论的软件工程科学家,在美国是绝无仅有的。如果在20年前美国有计划地培养一批像Frederic Brooks那样的科学家,情况可能会和今天不一样,但美国政府当年没有这样做。
在思维模式能够影响一个时代发展的今天,大多数软件企业仍摆脱不了以“物”为中心的管理方式去管理智力工作者。由于工业时代的管理思维根深蒂固,无论是日本规范化的“软件工厂”模式还是美国的工程开发模式,都没有走出软件管理的误区,他们共同的失败之处是陷入盲点,看不到问题所在,当然也就无法正确解决问题。管理不同类型的事物是需要不同方法的,在软件企业中,对“物”还是对“人”是两种方向,走错了方向只会扩大错误的影响范围。