软件项目管理——IBM360的经验与教训.doc
2页♦项目介绍在1961年年底,IBM开始打算实施“360系统电子计算机计划”,据当时的估算, 整个计划投资约需50亿美元(这可是在60年代初,十儿年前的“曼哈顿工程”才花了 20亿),这是不折不扣的大手笔,要知道,当时IBM的年营业额还不到这个数字Z 所以如此花钱,是因为这项计划要做一些以前没人做过的事,这将是一个通用的系统 (360就是360度的意思,表示该系统全面的应用范围),该系列不同型号的计算机 将能享用同样的设备,如磁带机、打印机等,能使用同样的软件,并且可以相互连接, 一起工作,这些在今天看来理所当然的事,在当时可是闻所未闻该项目在硬件设计上 很有创新,乃至IBM不得不自己动手设计制造芯片(因为买不到),但更大的困难却 是在软件方面,要让所有的软件适用于所有的电脑(当然,仅限于360系列),这个 理念让IBM的软件工程师们伤透脑筋,投入到这个项目中的软件工程师超过2000人 (Windows2000也只动用了 1700名),花费超过5亿美元,竟然超过了硕件研发的 费用,所有这些都是创纪录的其最终的结果是:首版OS/360比原计划晚了很多(总共花费了 5000人/年),其 控制程序存在缺陷。
OS/360比原来设想占用更多的内存,其运行速度也相当慢另外, OS/360的研发经费也大大地超出了预算(超过了大概$10000000)♦项目评论缺乏合理的时间进度是造成众多项目滞后的最主要原因,它比其他所有因素加起 来的影响还大导致这种普遍性灾难的原因是什么呢?首先,我们对估算技术缺乏有效的研究,更加严肃地说,它反映了一种悄无声息, 但并不真实的假设 切都将运作良好在单个的任务中,“一切都将运转正常”的假设在时间进度上具有可实现性因为所遇的延迟是一个概率分布曲线,“不会延迟” 仅具有有限的概率,所以现实情况可能会像计划安排的那样顺利然而大型的编程工作, 或多或少包含了很多任务,某些任务间还具有前后的次序,从而一切正常的概率变得非 常小,甚至接近于无第二,我们釆用的估算技术隐含地假设人和月可以互换,错误地将进度与工作量相 互混淆因为软件开发本质上是一项系统工作一一错综复杂关系下的一种实践一一沟通、 交流的工作量非常大,它很快会消耗任务分解所节省下来的个人时间从而,添加更多 的人手,实际上是延长了,而不是缩短了时间进度第三,由于对自己的估算缺乏信心,软件经理通常不会有耐心持续地进行估算这项 工作。
观察一下编程人员,你可能会发现,同厨师一样,某项任务的计划进度,可能受 限于顾客要求的紧迫程度,但紧迫程度无法控制实际的完成情况就像约好在两分钟内 完成一个煎蛋,看上去可能进行得非常好但当它无法在两分钟内完成时,顾客只能选 择等待或者生吃煎蛋软件顾客的情况类似厨师还有其他的选择:他可以把火开大, 不过结果常常是无法“挽救”的煎蛋 面已经焦了,而另一面还是生的现在,我并不认为软件经理内在的勇气和坚持不如厨师,或者不如其他工程经理 但为了满足顾客期望的日期而造成的不合理进度安排,在软件领域中却比其他的任何工 程领域要普遍得多而且,非阶段化方法的采用,少得对怜的数据支持,加上完全借助 软件经理的直觉,这样的方式很难生产出健壮可靠和规避风险的估计显然我们需要两 种解决方案开发并推行生产率图表、缺陷率、估算规则等等,而整个组织最终会从这 些数据的共享上获益或者,在基于可靠基础的估算出现之前,项冃经理需要挺直腰杆, 坚持他们的估计,确信口己的经验和直觉总比从期望派生出的结果要强得多第四,对进度缺少跟踪和监督其他工程领域中,经过验证的跟踪技术和常规监督 程序,在软件工程中常常被认为是无谓的举动项目的时间依赖于顺序上的限制,人员 的数量依赖于单个子任务的数量。
从这两个数值可以推算出进度吋间表,该表安排的人 员较少,花费的吋I'可较长(唯一的风险是产品可能会过吋)相反,分派较多的人手, 计划较短的吋I'可,将无法得到可行的进度表总之,在众多软件项日中,缺乏合理的吋 I'可进度是造成项目滞后的最主要原因,它比其他所有因素加起来的影响还要大第五,当意识到进度的偏移时,下意识(以及传统)的反应是增加人力这就像使 用汽油灭火一样,只会使事情更糟越来越大的火势需要更多的汽油,从而进入了一场 注定会导致灾难的循坏最后采用这个项目的负责人F. D. Brooks事后总结了他在组织开发过程中的沉痛 教训吋说:“……正像一只逃亡的野兽落到泥潭中做垂死的挣扎,越是挣扎,陷得越深, 最后无法逃脱灭顶的灾难……程序设计工作正像这样一个泥潭,……一批批程序员被 迫在泥潭中拼命挣扎,……谁也没有料到问题竟会陷入这样的困境……”IBM的OS/360操作系统的历史教训成为软件开发项目的典型事例,为人们所 记取参考书目• Frederick P. Brooks, Jr.;译者:钱一一.人月神话:软体专案管理Z道.经济新潮 社.2004 年[2011-04-12 查阅USBN 9867889185 (中文(台湾)).。





