详情
编辑推荐:
“图灵奖得主、“IBM360系统之父”作者Brooks颠覆了 项目管理 领域,长久不衰传奇经典!软件开发人员、软件项目经理、系统分析师等IT从业者必藏之软工圣经!
畅销全球40年!新版再发行
全球软工领域畅销的项目管理经典!
影响人力编程思想的著作之一!
套装书包含:
《人月神话(40周年中文纪念版)》
《敏捷软件开发实践 估算与计划》
《敏捷软件测试:测试人员与敏捷团队的实践指南》
内容简介:
《人月神话(40周年中文纪念版)》在软件领域,很少能有像《人月神话》一样具有深远影响力和畅销不衰的著作。Brooks博士为人们管理复杂项目提供了具洞察力的见解,既有很多发人深省的观点,又有大量软件工程的实践。本书内容来自Brooks博士在IBM公司SYSTEM/360家族和OS/360中的项目管理经验,该项目堪称软件开发项目管理的典范。该书英文原版一经面世,即引起业内人士的强烈反响,后又译为德、法、日、俄、中、韩等多种文字,全球销售数百万册。确立了其在行业内的经典地位。
在本书出版40年后的今天,我们重新整理了Brooks博士的经典内容,并将国内软件开发领域先行者们对《人月神话》中的实践及系统理论的使用经验和心得集结成册免费赠与大家共享,更使本书成为国内从业者的必读经典之一。
本书读者包括:软件开发人员、软件项目经理、系统分析师等IT从业者。
详述用于估算和计划任何敏捷项目的行之有效的技巧
《敏捷软件开发实践 估算与计划》为对敏捷项目进行估算和计划提供了紧贴实用的指导方针。在本书中,敏捷联盟联合创始人Mike Cohn讨论了敏捷估算与计划背后的哲学思想,并通过列举现实世界的例子和项目案例具体展示了如何完成工作。本书是你开发工具箱中必不可少的敏捷估算“利器”。
本书清晰地阐述了相关概念,并引导读者逐步找到下列问题的答案:将构建什么产品?产品规模多大?需要在何时完成?到那时我们到底能完成多少?你首先会认识到优秀的计划由哪些要素组成,接着会了解到如何才能使计划敏捷化。
采用本书中讲述的方法,你将获得敏捷估算工具,帮助你从始至终保持敏捷、节省时间、充分利用资源并且完成更多工作。本书要点如下:
为什么传统的指令性计划会失败而敏捷计划会取得成功
如何使用故事点和理想人天来预估特性的规模,以及它们分别适用于哪种情形
重设估算的方式和时机
如何同时采用财务及非财务手段来确定特性的优先级
如何将大的特性分解为更小的、更便于管理的特性
如何计划迭代周期并对团队的初始进度进行预估
如何安排具有高度不确定性或进度相关风险的项目的进度
如何对由多个团队合作开发的项目进行估算
本书介绍所有敏捷、半敏捷或者迭代流程,包括Scrum、XP、特性驱动的开发、水晶方法、自适应软件开发、DSDM、统一过程(UP)以及其他许多方式。它无疑是每位研发经理、团队经理和成员不可或缺的宝贵资源。
测试是敏捷开发的关键组成部分。敏捷方法的广泛应用使人们开始关注如何有效测试,同时敏捷项目改变了测试人员的角色。但是,测试人员的许多职责还是得到了不少误解,测试人员的真正职能是什么?敏捷团队真的需要具有QA背景的成员吗?“敏捷测试人员”到底意味着什么?
作者简介:
小弗雷德里克·布鲁克斯曾获得美国计算机领域具声望的图灵奖(A. M. Turing Award)。美国计算机协会(ACM)称赞他“对计算机体系结构、操作系统和软件工程做出了里程碑式的贡献”。布鲁克斯博士1956年开始任职于IBM公司,早期担任Stretch 和Harvest计算机的体系建构师。他被认为是“IBM 360系统之父”,曾担任360系统的项目经理。凭借在此项目中的杰出贡献,他与Bob Evans和Erich Bloch在1985年获得了美国国家技术奖(National Medal of Technology)。
布鲁克斯博士创立了北卡罗来纳大学的计算机科学系,并于1965-1985年担任系主任。他还曾任职于美国国家科技局和国防科学技术委员会。目前其仍活跃于从事虚拟环境和科学可视化等方面的研究工作,2010年获得虚拟现实事业奖(IEEE Virtual Reality Career Award)。
Mike Cohn,是专注于流程与项目管理的咨询与培训公司Mountain Goat Software的创始人。Mike拥有逾20年的行业经验,担任过创业公司乃至财富40强企业的技术负责人,他还是敏捷联盟的发起成员之一,经常在业界相关杂志上发表文章并出席有关会议。他也是User Stories Applied (Addison-Wesley ,2004年出版)一书的作者。
前言:
神品—— 代序*这是本书中唯一的一节废话。*
我是一个书狂,积习甚深,费尽心机在软件工程、系统工程方面积累了一些书。书,在我看来当分为神品、精品和普通三等,其中神品、精品又分别有一、二和三品之分。我所收集的书中,软件工程书大都属于精品,神品只有两本,Frederick P. Brooks的这本书就属于神品之列。
软件作为一个行业,逐步背起了“solving the wrong problem”(解决错误的问题)的名声。问题决定解决方案,这也就是说,我们一直在制造错误解决方案!这方面有大量的证据,其中最著名的是美国政府统计署(GAO)的数据:全球最大的软件消费商(美国军方)每年要花费数十亿美元购买软件,而在其所购软件中,可直接使用的只占2%,另外3%需要做一些修改,其余95%都成了垃圾。一句话,不管这些软件是否符合需求规格,它们都显然没有满足客户的需求。面向对象技术并没有给我们带来“神奇的效应”,不管开发商如何吹嘘面向对象OO(Object-Oriented)工具多么万能,也不管那些OO狂热者多么毅然地前赴后继,这方面的数据从20世纪80年代以来并没有发生大的改观。
这实在令我们的软件工程专家和从业人员们羞愧,因为它揭示了我们可能一开始就从根本上做错了什么!20世纪90年代中期,当软件工程一代宗师Michael Jackson(非歌坛巨星Michael 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”(没有掌声的成功,没有回报的勤勉),却兢兢业业,反复琢磨,历经单调、繁琐、艰辛的劳动,终于付梓。钦佩之余随即作序共勉。
SE Forum China
2002年3月于深圳
令我惊奇和高兴的是,《人月神话》在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)杂志重印了这篇论文,使它传播得更广了。
“没有银弹”被证明是富有煽动性的,它预言10年内没有任何编程技巧能够给软件的生产率带来数量级上的提高。10年只剩下一年了,我的预言看来是安全了。“没有银弹”激起了越来越多文字上的剧烈争论,比《人月神话》还要多。因此在第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设计了优雅风格的版式和封面,他在评注时特别提到:“页边的空白要宽,字体和版面要有想象力。”更重要的是,他提出了至关重要的建议:为每一章的开头配一幅图片(当时我只有“焦油坑”和“兰斯大教堂”的图片)。寻找这些图片使我多花了一年的时间,但我永远感激这个忠告。
Frederick P.Brooks, Jr.
Chapel Hill, N.C.
1995年3月
在很多方面,管理一个大型的计算机编程项目与管理其他行业的大型工程很相似—— 比大多数程序员所认为的还要相似;在另外一些方面,它又有差别—— 比大多数职业经理人所认为的差别还要大。
这个领域的知识在于累积。现在,AFIPS(美国信息处理学会联合会)已经有了一些讨论和会议,也出版了一些书籍和论文,但是还没有成形的方法对这一领域来进行系统地阐述。提供这样一本主要反映个人观点的小书看来是合适的。
虽然是失败的,但管理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教授在图解方面的建议。
Chapel Hill, N.C.
1974年10月
- 联系人:阿道
- 联系方式: 17762006160
- 地址:青岛市黄岛区长江西路118号青铁广场18楼