人月神话读书笔记(一)

001

焦油坑

过去几十年的大型系统开发就犹如一个焦油坑,很多大型动物在其中剧烈挣扎,他们中大多数开发出了可运行的系统--不过,其中只有非常少数的项目满足了目标、时间进度和预算的要求。

各种团队,大型的和小型的,庞杂的和精干的,一个接一个淹没在了焦油坑中。表面上看起来好像没有任何一个单独的问题会导致困难,每个都能被解决,但是当它们相互纠缠和累积在一起的时候,团队的行动就会变得越来越慢且很难看清问题的本质。

在入坑前,大家都会觉得自己战无不胜,就像陷入焦油坑的巨兽,自以为有着庞大的身躯就能在各种的地形中安然度过。所以忽视了一个又一个的小错误。这些被忽视的东西单个来说很小,但当他们汇总到一起时,你就会发现,已经陷入焦油坑,无法自拔。我之前的编程过程往往也会出现这种错误,在没有看清题目需求时,便先一步动手,走到哪是哪,最后被各种逻辑错误弄得焦头烂额。以后的过程,一定不能忽视这些问题,避免再次陷入“”焦油坑“”当中

002

人月神话

缺乏合理的时间进度是造成项目滞后的最主要原因,它比其他所有因素加起来影响还大。

我们围绕成本核算的估计技术,混淆了工作量和项目进展。人月是危险和带有欺骗性的神话,因为它暗示人员数量和时间是可以相互替换的。

软件开发的过程中时间精力的投入和人力的投入并不成线性相关。我们每一次对项目的估算都应该谨慎,把握好“人”与“月”之间的关系。

向软件项目中增派人手从三个方面增加了项目必要的总体工作量:

  • 任务重新分配本身和所造成的工作中断;

  • 培训新人员;

  • 额外的相互沟通。

关于进度安排,我的经验是为1/3计划、1/6编码、1/4构件测试以及1/4系统测试。

Brook法则:向进度落后的项目中增加人手,只会使进度更加落后。

特别需要指出的是,不为系统测试安排足够的时间简直就是一场灾难。

在现实情况中,一旦开发团队观察到进度的偏差,总是倾向于对任务进行削减。当项目延期所导致的后续成本非常高时,这常常是唯一可行的方法。

posted @ 2020-05-04 19:42  邵文  阅读(103)  评论(0编辑  收藏  举报