词条 | 人月传说 |
释义 | 人月传说原名:THEMYTHICALMAN-MONTH 作者:FREDERICK P. BROOKS, JR. 翻译:Adams Wang 此书被多数人奉为软件工程学经典之作,直到今天,它依然为广大的工程师们提供了重要参考。 关于作者Frederick P. Brooks,Jr.是北卡罗来纳大学Kenan-Flagler商学院的计算机科学教授,北卡来罗来纳大学位于美国北卡来罗来纳州的查布尔希尔。Brooks被认为是“IBM 360系统之父”,他担任了360系统的项目经理,以及360操作系统项目设计阶段的经理。凭借在上述项目的杰出贡献,他、Bob Evans和Erich Bloch在1985年荣获了美国国家技术奖(National Medal of Techology)。早期,Brooks曾担任IBM Stretch和Harvest计算机的体系结构师。 在查布尔希尔,Brooks博士创立了计算机科学系,并在1964至1984年期间担任主席。他曾任职于美国国家科技局和国防科学技术委员会。Brooks目前的教学和研究方向是计算机体系结构、分子模型绘图和虚拟环境。 第一版序言第一版序言(Preface to the First Edition)在很多方面,管理一个大型的计算机编程项目和其它行业的大型工程很相似——比大多数程序员所认为的还要相似;在很多另外的方面,它又有差别——比大多数职业经理所认为的差别还要大。这个领域的知识在累积。现在AFIPS(美国信息处理学会联合会)已经有了一些讨论和会议,也出版了一些书籍和论文,但是还没有成型的方法来系统地进行阐述。提供这样一本主要反映个人观点的小书看来是合适的。虽然我原来从事计算机科学的编程方面的工作,但是在1956-1963年间自动控制程序和高级语言编译器开发出来的时候,我主要参加的是硬件构架方面的工作。在1964年,我成为操作系统OS/360的经理,发现前些年的进展使编程世界改变了很多。管理OS/360的开发是很有帮助的经历,虽然是失败的。那个团队,包括我的继任经理F. M. Trapnell,有很多值得自豪的东西。那个系统包括了很多优秀的设计和实施,成功地应用在很多领域,特别是设备无关的输入输出和外部库管理,被很多技术革新广泛复制。它现在是十分可靠的,相当有效,和非常通用的。但是,并不是所有的努力都是成功的。所有OS/360的用户很快就能发现它应该做得更好。设计和实现上的缺陷在控制程序中特别普遍,相比之下,语言编译器就好得多。大多数这些缺陷发生在1964-1965年的设计阶段,所以这肯定是我的责任。此外,这个产品发布推迟了,需要的内存比计划中的要多,成本也是估计的好几倍,而且第一次发布时并不能很好地运行,直到发布了几次以后。就象当初接受OS/360的任务时协商好的,在1965年离开IBM后,我来到查珀尔希尔。我开始分析OS/360的经验,看能不能从中学到什么管理和技术上的教训。特别地,我要说明System/360硬件开发和OS/360软件开发中的管理经验是非常不同的。对Tom Watson关于为什么编程难以管理的探索性问题,这本书是一份迟来的答案。在这次探索中,我和1964-65年的经理助理R.P.Case,还有1965-68年的经理F.M.Trapnell,进行了长谈,从中受益良多。我对比了其他大型编程项目的经理的结论,包括M.I.T.的F.J.Corbato,Bell电话实验室的V.Vyssotsky,International Computers - iii -Limited的Charles Portman,苏联科学院西伯利亚分部计算实验室的A.P.Ershov,和IBM的A.M.Pietrasanta。我自己的结论体现在下面的文字中,送给职业程序员、职业经理、特别是程序员的职业经理。虽然写出来的是分离的章节,还是有一个中心的论点,特别包含在第2-7章。简言之,我相信由于人员的分工,大型编程项目碰到的管理问题和小项目区别很大;我相信关键需要是维持产品自身的概念完整性。这些章节探讨了其中的困难和解决的方法。后续的章节探讨软件工程管理的其他方面。这个领域的文献并不多,但散布很广。因此我尝试给出参考资料,说明某个特定知识点和指引感兴趣的读者去看其他有用的工作。很多朋友读过了本书的手稿,其中一些朋友给出了很有帮助的意见。这些意见很有价值,但为了不打乱文字的通顺,我把它们作为注解包含在书中。因为这本书是随笔不是课本,所有的参考文献和注解都被放到书的末尾,建议读者在读第一遍时略去不看。深切感谢Sara Elizabeth Moore小姐,David Wagner先生,和Rebecca Burris夫人,他们帮助我准备了手稿。感谢Joseph C.Sloane教授在图解方面的建议。查珀尔希尔,北卡罗来纳 F.P.B., Jr1974年10月 目录:目录 第1章 焦油坑 编程系统产品 职业的乐趣 职业的苦恼 第2章 人月神话 乐观主义 人月 系统测试 空泛的估算 重复产生的进度灾难 第3章 外科手术队伍 问题 Mills的建议 如何运作 团队的扩建 第4章 贵族专制、民主政治和系统设计 概念的完整性 获得概念的完整性 贵族专制统治和民主政治 在等待时,实现人员应该做什么 第5章 画蛇添足 结构师的交互准则和机制 自律——开发第二个系统所带来的后果 第6章 贯彻执行 文档化的规格说明——手册 形式化定义 直接整合 会议和大会 多重实现 电话日志 产品测试 第7章 为什么巴比伦塔会失败 巴比伦塔的管理教训 大型编程项目中的交流 项目工作手册 大型编程项目的组织架构 第8章 胸有成竹 第9章 削足适履 第10章 提纲挈领 第11章 未雨绸缪 第12章 干将莫邪 第13章 整体部分 第14章 祸起萧墙 第15章 另外一面 第16章 没有银弹 第17章 再论“没有银弹” 第18章 《人月神话》的观点:是与非? 第19章 20年后的《人月神话》 结束语:令人向往、激动人心和充满乐趣的50年 注解与参考文献 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。