大道至易:实践者的思想(七十六):附录——附三:杀不死的人狼——我读《人月神话》

阅读数:13 2019 年 10 月 12 日 16:26

大道至易:实践者的思想(七十六):附录——附三:杀不死的人狼——我读《人月神话》

节选自同名博客文章(2007 年 3 月),该文章是关于《人月神话》的读后感。

总的来说,我事实上并不反对某种具体的方法,而是在努力学习种种方法。但我并不认为有什么单一的方法能解决所有问题。每一种解决方案都有其前提和背景,精通一种或全部工程工具、方法和过程,都无助于掌握这些前提、背景以及潜在的关系。理解工程的适用性,涉及工程专家的整体素养和实践经验,也涉及具体的工程环境、目标和实施者(团队)。而这些课题,正好是目前的软件工程甚少谈论的。

在银弹的话题上,答案不外是:有、没有和将来一定会有。我的答案与这些都不一样。我认为“有没有”的话题没有意义,不值得讨论。因为 Brooks 在人狼的设定上是一个伪命题,而在银弹的假设上则是学术的。我进一步的观点是,广义工程对首要任务(人狼)和完美方案(银弹)的假设,不应该成为狭义工程所追求的终极与利器。

我们要分清狭义工程与广义工程。正是由于他们对本质需求的设定完全不同,因而也有各自不同的主要与次要任务。一切工程活动的历史告诉我们,曾经的经验、失败和成功,以及据此在广义工程中归纳推演的理论,都只是我们在具体的、狭义的工程中的参考,而非无往不利的银弹。

曾经,我们如同走在一片沙漠,看不到沙漠的边缘,也不知道如何行走。Brooks 的伟大贡献,在于他用《人月神话》指出了一条道路并教给我们基本的行走方法,让我们从中学会了辨识流沙,懂得了沙暴的征兆;同时“没有银弹”的假设激发了我们的斗志,如同有人在说“你要证明沙漠有边界,你就拿出一束青草来看看”。

于是有了几种喋喋不休于“有没有青草”的人。一种是已经在灵魂上上升到另一个层次,故而无需行走于沙漠。另一种则只是站在沙盘边上,用长杆推动卒子,而鞋子上根本不会沾上一点点沙土。还有一种人则不时地宣称他们已经找到了青草。他们总能确保你在付费的时候看得到青草,而你转身时才会发现那里并不是沙漠的边缘。

剩下的人一边喃喃着“沙漠边缘的青草”,一边在焦燥的沙海里缓步前行。不同的是喃喃而不自觉者掉进了沙坑,心怀憧憬而盯紧脚步的人则走出了沙漠。

走出来,你才会觉得:原来有没有青草,并不是那么重要。

评论

发布