C++博客 :: 首页 :: 联系 ::  :: 管理
  163 Posts :: 4 Stories :: 350 Comments :: 0 Trackbacks

常用链接

留言簿(48)

我参与的团队

搜索

  •  

积分与排名

  • 积分 - 393304
  • 排名 - 58

最新评论

阅读排行榜

评论排行榜

在很多方面,管理一个大型的计算机编程项目和管理其他行业的大型工程很相似—— 比大多数程序员所认为的还要相似;在另外一些方面,它又有差别—— 比大多数职业经理人所认为的差别还要大。

这个领域的知识在累积。现在AFIPS(美国信息处理学会联合会)已经有了一些讨论和会议,也出版了一些书籍和论文,但是还没有成形的方法对这一领域来进行系统地阐述。提供这样一本主要反映个人观点的小书看来是合适的。

虽然我原来从事计算机科学的编程方面的工作,但是在1956—1963年间,自动控制程序和高级语言编译器开发出来的时候,我主要参加的是硬件构架方面的工作。1964年,我成为操作系统OS/360的经理,我发现前些年的进展使编程世界改变了很多。

虽然是失败的,但管理OS/360的开发仍是一次很有帮助的经历。负责这次开发项目的团队,包括我的继任经理 F. M. Trapnell,有很多值得自豪的东西。该系统在设计和执行方面都很出色,并被成功地应用到很多领域,特别是设备独立的输入输出和外部库管理,在很多技 术革新中被广泛复制。现在,这一系统是十分可靠的,相当有效且非常通用。

但是,并不是所有的努力都是成功的。所有OS/360的用户很快就能发现它应该能够做得更好。设计和执行上的 缺陷在控制程序中特别普遍,相比之下,语言编译器就好得多。大多数缺陷发生在1964—1965年的设计阶段,所以这肯定是我的责任。此外,这个产品发布 推迟了,需要的内存比计划中的要多,成本也是估计的好几倍,而且第一次发布时并不能很好地运行,直到发布了几次以后,问题才得以解决。

按照当初接受OS/360任务时的协议,在1965年离开IBM后,我来到Chapel Hill。我开始分析OS/360的经验,看能不能从中学到什么管理和技术上的教训。特别要说明的是,System/360硬件开发和OS/360软件开 发中的管理经验是大相径庭的。对Tom Watson关于为什么编程难以管理的探索性问题,这本书是一份迟来的答案。

在这次探索中,我和1964—1965年的经理助理R.P.Case,还有1965—1968年的经理 F.M.Trapnell进行了长谈,从中受益很多。我还对比了其他大型编程项目经理的结论,这些项目经理包括M.I.T.的F.J.Corbato,贝 尔电话实验室的V.Vyssotsky和John Harr,International Computers Limited的Charles Portman,苏联科学院西伯利亚分部计算实验室的A.P.Ershov和IBM的A.M.Pietrasanta。

我自己的结论体现在下面的文字中,送给专业程序员、职业经理,特别是程序员的职业经理。

虽然写出来的是各自独立的章节,但本书还是有一个中心的论点,特别包含在第2~7章。简言之,我相信由于人员 的分工,大型编程项目碰到的管理问题和小项目碰到的管理问题区别很大;我相信关键需要的是维持产品自身的概念完整性。这几章探讨了其中的困难和解决的方 法。而后续的章节则探讨了软件工程管理的其他方面。

这个领域的文献并不多,但散布很广。因此我尝试在书后给出了参考文献,说明某个特定知识点并指导感兴趣的读者 去参阅其他有用的文献。很多朋友读过了本书的手稿,其中一些朋友还给出了很有帮助的意见。这些意见很有价值,但为了不打乱文字的通顺,我把它们作为注解包 含在本书中。

因为这本书是一部文集而不是一部教材,所有的参考文献和注解都被放到书的末尾,建议读者在读第一遍时略去不看。

深深地感谢Sara Elizabeth Moore小姐,David Wagner先生和Rebecca Burris夫人,他们帮助我准备了手稿。感谢Joseph C.Sloane教授在图解方面的建议。

Frederick P.Brooks, JR.

Chapel Hill, N.C.

1974年10月


令我惊奇和高兴的是,《人月神话》在20年后仍然继续流行,印数超过了250 000册。人们经常问,我在1975年提出的观点和建议,哪些是我仍然坚持的,哪些是已经改变了的,又是怎样改变的?尽管我在一些讲座上也分析过这个问题,但我还是一直想把它写成文章。

Peter Gordon现在是Addison-Wesley的出版伙伴,他从1980年开始和我共事。他非常有耐心,对我帮助很大。他建议我们准备一个纪念版本。我们决定不对原版本做任何修订,只是原封不动地重印(除了一些无足轻重的修正),并用更新的思想来扩充它。

第16章重印了一篇在1986年IFIPS会议上的论文《没有银弹:软件工程的根本和次要问题》(No Silver Bullet:Essence and Accidents of Software Engineering)。这篇文章来自我在国防科学委员会主持军用软件方面研究时的经验。我当时的研究合作者,也是我的执行秘书,Robert L. Patrick,他帮助我回想和感受那些做过的软件大项目。1987年,IEEE的《计算机》(Computer)杂志重印了这篇论文,使它传播得更广 了。

《没有银弹》被证明是富有煽动性的,它预言十年内没有任何编程技巧能够给软件的生产率带来数量级上的提高。十 年只剩下一年了,我的预言看来是安全了。《没有银弹》激起了越来越多文字上的剧烈争论,比《人月神话》还要多。因此在第17章,我对一些公开的批评作了说 明,并更新了在1986年提出的观点。

在准备《人月神话》的回顾和更新时,一直在进行的软件工程研究和经验已经批评、证实或否定了少数书中断言的观 点,也影响了我。剥去辅助的争论和数据后,把那些观点粗略地分类,对我来说是很有帮助的。我在第18章列出了这些观点的概要,希望这些单调的陈述能够引来 争论和证据,然后得到证实、否定、更新或精炼。

第19章是一篇更新的短文。读者应该注意的是,新观点并不像原来的书一样来自我的亲身经历。我在大学里工作,而不是在工业界,做的是小规模的项目,而不是大项目。自1986年以来,我就只是教授软件工程,不再做这方面的研究。我现在的研究领域是虚拟环境及其应用。

在这次回顾的准备过程中,我找了一些正在软件工程领域工作的朋友,征求他们现在的观点。他们很乐意和我分享他 们的想法,并仔细地对草稿提出了意见,这些都使我重新受到启发。感谢Barry Boehm、Ken Brooks、Dick Case、James Coggins、Tom DeMarco、Jim McCarthy、David Parnas、Earl Wheeler和Edward Yourdon。感谢Fay Ward出色地对新的章节进行了技术加工。

感谢我在国防科学委员会军事软件工作组的同事Gordon Bell、Bruce Buchanan、Rick Hayes-Roth,特别是David Parnas,感谢他们的洞察力和生动的想法。感谢Rebekah Bierly对第16章的论文进行了技术加工。我把软件问题分成“根本的”和“次要的”,这是受Nancy Greenwood Brooks的启发,她在一篇Suzuki小提琴教育的论文中应用了这样的分析方法。

在1975年版本的序言中,Addison-Wesley出版社按规定不允许我向它的一些扮演了关键角色的员 工致谢。可是,有两个人的贡献必须特别指出:执行编辑Norman Stanton和美术指导Herbert Boes。Boes设计了优雅风格的版式和封面,他在评注时特别提到:“页边的空白要宽,字体和版面要有想像力”。更重要的是,他提出了至关重要的建议: 为每一章的开头配一幅图片(当时我只有“焦油坑”和“兰斯大教堂”的图片)。寻找这些图片使我多花了一年的时间,但我永远感激这个忠告。

Soli Deo gloria愿神独得荣耀。

Frederick P.Brooks, Jr.

Chapel Hill, N.C.

1995年3月




这是本书中唯一的一节废话。*

我是个书狂,积习甚深,费尽心机在软件工程、系统工程方面积累了一些书。书,在我看来当分为神品、精品和普通 三等,其中神品、精品又分别有一、二和三品之分。我所收集的书中,软件工程书大都属于精品,神品只有两本,Frederick P.Brooks的这本书就属于神品之列。

软件作为一个行业,逐步背起了“solving the wrong problem”的名声。问题决定解决方案,这也就是说,我们一直在制造错误解决方案!这方面有大量的证据,其中最著名的是美国政府统计署(GAO)的数 据:全球最大的软件消费商—— 美国军方—— 每年要花费数十亿美元购买软件,而在其所购软件中,可直接使用的只占2%,另外3%需要做一些修改,其余95%都成了Rubbish。一句话,不管这些软 件是否符合需求规格,但它们显然没有满足客户的需求。面向对象技术并没有给我们带来“神奇的效应”,不管开发商如何吹嘘面向对象OO(Object- Oriented)工具是多么万能,也不管那些OO狂热者是多么毅然地前赴后继,这方面的数据从20世纪80年代以来并没有发生大的改观。

这实在是令我们的软件工程专家和从业人员们羞愧,因为它揭示了我们可能一开始就从根本上做错了什么!20世纪 90年代中期,当软件工程一代宗师Michael Jackson(非歌坛巨星Michae Jackson)宣布他们的研究结果时,立刻在软件工程界激起了阵阵涟漪。Jackson指出,软件从业人员和方法学大师们只是简单地模仿和照搬其他学科 的方法,却将最重要的方面—— 问题域—— 给忽略了。他指出,面向对象方法和结构化方法对问题域的处理没有什么大的区别,却被人们过分地用美好的词汇给美化了:

“...You can see the results clearly in many object-oriented modeling descriptions. Often they are accompanied by fine words about modeling the real world. But when you look closely you can see that they are really descriptions of programming objects, pure and simple. Any similarity to real-world objects, living or dead, is purely coincidental...”

(……从众多面向对象建模的描述中,你可以很清楚地看到这些恶果。而且它们还经常伴随着有关现实世界建模的非常美好的词汇。然而,仔细看看,你就会发现它们其实是彻头彻尾的编程对象!如果说有任何和现实世界对象相似的地方,不管是死是活,纯属巧合……)

回首软件工程近40年的发展,Jackson哀叹软件行业普遍缺乏专业性,充满了业余人员,“手中有个锤子,看到什么都是钉子”,谁都可以开发性命攸关的软件。

这就是我们面临的严峻而复杂的现实,也许您会感到震惊!然而在大师Frederick P.Brooks眼里,是那么的平静。因为早在28年前,他就在“The Mythical Man-Month”这本不朽著作中对这些内容作了深入论述。

这本小册子行文优美,思想博大精深,字字真言,精读之有不尽的趣味,藏之又是极珍贵的文献,名眼高人,自能鉴之。

前些年,一位朋友从印度归来,说此书印度极为普及,我也动起笔来,但惭愧终未成正果。汪颖兄素来勤恳,明知此 翻译为“success without applause, diligence without reward”,却兢兢业业,反复琢磨,历经单调、繁琐、艰辛的劳动,终于付梓。钦佩之余随即作序共勉。

Dave Wang

SE Forum China

2002年3月

印象里,从谭浩强老师的《BASIC语言》在全国畅销,最终销量超过1 200万册时,民族软件产业就承载了 国人太多的期待。计算机图书出版者也与读者结下了不解之缘。人们将软件产业看作中华民族腾飞的一次历史性机遇。的确,软件产业是头脑产业,而中华民族最不 缺的就是有智慧的人才。几台微机,一本指南,似乎就可以开公司编程赚线,而且可以出口赚美元。然而,20多年转瞬即逝,我们听说过很多软件英雄和编程奇才 的故事,却没有产生一个有国际影响的软件品牌或有国际竞争力的民族软件企业。就在我们身边,印度的软件产业却已迅速崛起,产值10年增长了10倍,数十家 企业通过了CMM5级认证,印度已经成为世界第二大软件出口国。目前,中国经济发展水平可能要领先印度10年,但中国软件产业却落后印度将近10年,原因 何在?

几乎所有的人都认为,软件开发是年轻人的职业。程序员们一边挥着汗水,辛苦地熬夜写代码,一边又对自己30岁 以后的职业发展方向充满惶恐。实际上,我国最缺的是有10年以上经验的软件工程师。金山软件公司总裁雷军曾说过:“在印度,包括在美国,我见到的项目经理 都是三四十岁的人,他们‘越老越值钱’,有些人甚至拥有超过20年的行业经验。”为什么中国的程序员总是在不断学习新的开发工具、钻研程序代码,而不能逐 步提升自己的视野、思维和经验?

作为出版者,我们一直关注着中国软件产业的发展,也时刻检讨着自己的责任。长期以来,在各大城市书城和计算机 专业书店的书架上,很难找到几本软件管理和软件工程的图书,更多的书店里甚至根本没有软件工程图书的分类。同样在印度,软件管理的图书比比皆是,数量远远 超过编程指南的图书。在全球最大的网上书店亚马逊网站上,软件管理和软件工程方面的图书也是门类清晰,为数众多。对这种强烈反差长期的漠视,也许正是我们 出版者的责任。

于是,在2001年的秋季,我们在一个月的时间内,走访了软件行业中的各大专业媒体、网站、院校和企业,与 50多位业界专家进行了交流和沟通,最终确定了引进出版一套国外软件管理和软件工程经典图书的设想,希望借此能将国外成熟先进的软件管理思想和管理经验系 统引进到国内,从而推动中国的软件产业的发展,对广大软件工程师的成长和素质提升有所帮助。我们相信,中国软件产业的繁荣和发展,不仅有赖于国家产业政策 的支持,还有赖于从业者管理理念的突破和管理思想的普及,更有赖于软件产业中有人文精神的优秀人才的涌现和具有核心竞争力的优秀企业的诞生。

经过将近一年的努力,在业界许多专家的支持下,我们抱着宁缺毋滥的想法,将国外软件管理和软件工程的经典图书 完整地筛选了一遍后,选定了几本精品,其中的每一本均是相关领域中最经典或最具代表性的作品,有的书曾在国外屡获大奖;有的书已经出版20年,却仍然畅销 不衰,而这本《人月神话》在其出版的32年后我们仍然极力推荐,因为它确实是软件管理工程图书中的极品,值得一版再版。

在本书引进和出版的过程中,我们得到了《IT经理世界》、《程序员》杂志、UMLChina网站等机构和众多业界专家学者的真诚理解和大力支持,在此向他们一并致以衷心的感谢。

2007年6月


Frederick P.Brooks,Jr.曾荣获美国计算机领域最具声望的图灵奖(A.M.Turing Award)桂冠。美国计算机协会(ACM)称赞他“对计算机体系结构、操作系统和软件工程作出了里程碑式的贡献”。

  Brooks博士是北卡罗莱纳大学Kenan-Flagler商学院的计算机科学教授。他被认为是“IBM 360系统之父”,曾担任360系统的项目经理,以及360系统项目设计阶段的经理。凭借在此项目中的杰出贡献,他与Bob Evans和Erich Bloch在1985年荣获了美国国家技术奖(National Medal of Technology)。Brooks博士早期曾担任IBM公司Stretch和Harvest计算机的体系结构设计师。

Brooks博士创立了北卡罗莱纳大学的计算机科学系,并在1964~1984年期间担任系主任。他还曾任职于美国国家科技局和国防科学技术委员会。Brooks博士目前的教学和研究方向是计算机体系结构、分子模型绘图和虚拟环境设计。




posted on 2007-12-12 19:35 sdfasdf 阅读(641) 评论(0)  编辑 收藏 引用 所属分类: 软件工程

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理