“人类是万物之灵,有能力学习他人的经验,却也最容易对他人经验视若无睹。” ——Douglas Adams 当研究项目历史时,会引发一个简单的问题:既然我们可以避免,为什么还有人愿意去经历错误和失望?如果古代及现代工程史都是公开的,而且无论灵感来自何处,我们也因做些聪明的事而领取薪水,为什么少有组织奖赏那些从过去获取经验的人?每天都有项目完成或取消(许多开发项目都以此结束2),但少有人从中吸取经验。大多数组织中的经理人似乎很少奖赏那些寻找这类知识的人。也许是害怕他们找出来的东西(害怕必须为此负责),或者也可能对此缺乏兴趣。当我们花费时间来开展新项目时,没有人愿意回顾痛苦或令人沮丧的经验。 注释2:CHAOS报告(Standish Group出版)是一份经常被引用的文献,内容关注于软件项目的预算、进度以及常见失败上。请参考http://standishgroup.com/sample_research/。 Henry Petroski在其To Engineer Is Humman: The Role of Failure is Successful Design(Vintage Books出版,1992年)一书中提及:许多工程的突破都来源于失败的结果。产生这种现象的部分原因在于,失败会使我们集中注意力,重新检查我们忘却的假设(当原型烧起来时,很难假装一切正常)。正如Karl Popper3所说的,只存在两种理论:错误的理论和不完整的理论。如果没有失败,我们就会变得骄傲,忘记了我们对事物的了解实际上并不像我们所想象的那样周全。 注释3:Karl Popper是20世纪著名的哲学家。请参考http://en.wikipedia.org/wiki/Karl_Popper。 因此,窍门就是尽可能从他人的失败中学习。我们应该利用他人的经验来应对未来的挑战。虽然失败的表象对于不同项目有很大的差异,但引发这些问题的根本原因或团队行动也许可以借鉴(并且是可用避免的)。即使是我们自己的项目,也要避免逃避失败的习惯。相反,我们应该视之为学习机会。失败的因素是什么?哪些因素可能很容易减少或消除?根据Petroski的说法,只要我们有勇气仔细检查发生过的事情,从实际失败中学得的实践知识,将是我们取得进步的最有力的源泉。 也许这就是为什么波音公司——全球最大的飞机设计和制造公司之一,会留着一本黑皮书,来记载从过去的设计和制造失败中获取的经验教训。4自从波音公司成立,就一直保存着这份文件,用来帮助现代设计师从,从过去的经历中吸取经验。任何这样做的组织,都可用增加项目成功的几率,同时也有助于建立一种可以公开讨论、面对失败的环境,而非否认和隐藏失败。看起来,软件开发人员也需要保存他们自己的黑皮书。 注释4:引自James R. Chiles所著的Inviting Disaster: Lessons from the Edge of Technology(HarperBusiness出版,2002年)。