软件项目管理:一个统一的框架
作者 : Walker Royce
译者 : 周伯生 等
出版日期 : 2002-09-01
ISBN : 7-111-10850-7
定价 : 45.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 297
开本 : 16开
原书名 : Software Project Management: A Unified Framework
原出版社: Addison Wesley
属性分类: 教材
包含CD :
绝版 :
图书简介

本书介绍了一种崭新而独特的与现代软件开发的复杂性相匹配的管理框架。作者从讲求实效的观点出发,揭示出广为人们接受的管理优先级所具有的缺点,凭借20年来在项目管理方面积累的第一手成功经验,为软件专业人员提供最新的前沿技术与知识。
  为了做出正确的战术决策和战略选择,为了增强整个组织获得成功的把握,本书介绍了一些已被证明的行之有效的基准。

图书前言

软件产业持续不断地向新方法靠近,以管理复杂性不断增长的软件项目。过去,我们已经看到了进化、革命以及反复出现的成败的话题。虽然软件技术、过程和方法发展迅速,但是软件工程仍然是一个人力密集的过程。因此,管理人员、技术、资源和风险的方法有着深刻的影响力。
  本书抓住了一个软件管理的视角,强调在以下要素间取得平衡:
  .理论和实践
  .技术和人员
  ·客户的价值和供货方的利润
  .策略和方法
  贯穿全书,你都将看到一个极为重要的、反复出现的管理主题:平衡。达到各种项目相关人员的目标间的平衡是非常重要的,他们之间通过各种各样的语言和符号来沟通。这是我在每部分开头放上罗塞塔石碑的一个抽象描绘图的动机。软件工程固有的三个基本表现语言是需求(问题空间的语言)、设计(软件工程师使用的转换语言)和实现(解空间的可在计算机上执行的语言)。正如罗塞塔石碑使得人们能够翻译埃及象形文字一样,软
件管理技术使得人们能够将问题表述翻译为满足所有相关人员的解决方案。
  从来没有软件管理的食谱,也没有显而易见的好实践的配方。我已经尽可能多的带着科学、现实主义和经验来处理问题,但是管理在很大程度上是一种判断,一种依靠常识(或者不平常的判断力)的活动和随情况而定的决策。这就是经理们都收入丰厚的原因。
  某些小节包括带有对特别问题的实用且往往奇妙的处理方法。为了区分这种现实指南和一般的过程模型、技术和原理,这些小节的标题都包含“实用的”这个词。使用“实用的”这个词,我的意思是没有幻想,客观地面对现实,这也恰恰是这些小节的目的。它们包含强烈的意见和容易引起争议的观点,同时它们将激起墨守成规者的思考。
  我已经尝试使用适当的证明来区分已证实的技术、新的方法和过时的技术。在多数情况下,我使用简单的经济学论点和常识,再加上领域应用的经验来证明我的观点。大部分资料都综合了过去10年中通过学习管理成功的软件项目获得的经验(实践水平);另一方面,某些资料表现了非常新的、假设的方法,它们还没有在实践中得到清楚的证明。
  我曾经仔细思考应该把这本书定位于管理教育还是管理培训。这种考虑可能很琐碎,但是很重要。我15年前听过的一个例子说明了这种区别。设想某天你的14岁的女儿放学回家后问道:“爸爸、妈妈,我应该选学校的性教育课吗 ”你会给她应有的建议。但是如果她这样问:“我可以接受学校的性培训吗 ”那么你的反映很可能是不同的。(对我来说那时的意义不如现在,因为现在我的三个女儿都是十几岁的少女了!)
  培训有应用知识的一面,它使得知识或多或少的立即变得有用;而教育却更多的致力于讲授原理、经验基础和研究领域的实质,而将这些知识的应用留给学生去完成。我努力让本书成为软件管理教育的一个载体(除了从工作中获得的经验外,我怀疑管理培训的作用)。我不会伪称我的建议在每一个项目上都是可以直接应用的。虽然我已经努力尽可能多地证明我的观点,但还是有些观点仍纯粹是个假设,没有被证明。希望我的猜想和建议可以激起进一步的讨论和进展。
  我预期的读者包括了所有积极的软件专业人员。主要的目标读者是决策者:那些批准与软件相关的预算投资和开支的人。这个群体包括组织经理、项目经理、软件获取官员和他们的职员。对于这些读者,我试图为他们当前的战术决策和今后的战略投资提供直接可用的指南。另一类重要的读者是软件从业者,他们协商并执行软件项目计划,履行组织目标及项目目标。
 写作风格
  因为是为一个广泛的读者群体写书,所以我没有深入到技术观点或者技术制品中去,另外的一些参考书里对它们进行了更好的讨论。相反,我对计划并执行一个成功的软件项目所需的经济学、管理制品、工作分解结构策略、组织策略和度量元进行了相当深入的讨论。
  为了使这些复杂的主题更容易被理解,书中包括了很多图例。加入了一些注解,说明插图和表格的精确度和准确性。虽然多数数字准确地描述了一些概念、趋势、期望和关系,但是我故意地让表达的形式不严密。在软件管理的语境中,精确度和准确性的区别并不像看上去的那样微不足道,这有两方面的原因:
  1.软件管理中包含很多灰色区域、对状况的依赖和含糊的折衷办法。为很多概念提供一个准确的描述,同时又要保持表达在一个跨越多领域的广泛范围内的精确度,这不说是不可能的,也是非常困难的。
  2.理解精确度和准确性的区别是优秀的软件经理的基本技能。他们必须准确地预测估计、风险和变更的影响。现在已经证实,需求或者计划中的不合理精确度,是通向成功的重大障碍,它难以捉摸,却反复出现。
  在我的很多数字表达中,绝对值都是不重要的,并且它们在不同的领域和项目环境下有很大不同。相对值构成了大多数插图和表格的要点。
  为了将管理方法放在一个切实的语境中,我有时会提供一些轶闻趣事一样的证据和实际领域的经验,有时会提供某种条件下相对准确和精确的性能基准。几个附录阐明了在此
 讲述的技术是怎样应用到现实世界的语境中的。我的王牌案例研究是一个完全文档化的、成功的大规模项目,它提供了一个具体的示例来展示这些管理方法是怎样发挥作用的,它同时也提供了一个框架,使某些改进的过程和技术更趋合理。
组织结构
  本书由5部分组成,每一部分都有多个章节:
  .第1部分 软件管理的复兴 描述当前的软件管理实践的现状和软件经济学,并介绍了提高软件投资回报所必需的现状转移。
  .第2部分 软件管理过程框架 描述原始的过程和一个现代软件管理的框架。这个框架包括软件生命周期的阶段、制品、工作流和检查点。
  .第3部分 软件管理规范 总结某些与现代软件过程的计划、控制和自动化相关的关键技术。
  .第4部分 展望 展望现代项目的项目性能和下一代软件经济学,还讨论了成功所必需的文化转变。
  .第5部分 案例研究和支持资料 5个附录为书中提到的某些建议、指南和观点提供了重要的基础。
致谢
  虽然我的迭代式开发观点受众多文献的影响,但是在本书的写作过程中我参考的出版物相对很少。可能对相关出版物的更详细的罗列会帮助一些读者,并使一些作者满意,但是多数与我的观点相关的文献都是一致的。
  我的材料基本上来自于主要的3个来源:
  1.TRW的Ada Process Model Guidebook [Royce,Walker,1989]:我写的这本书记录了在一个大规模TRW项目中成功实现的过程描述,以便于它在整个TRW中得到使用。
  2.瑞理软件公司的software management seminar [Royce,Walker,1997]:我写下这个关于最佳软件实践的两天的讨论会,来描述瑞理的软件管理方法。对这个资料的同行评审者包括Don Andres(TRW)、 Barry Boehm(南加州大学)、 Larry Druffel(软件工程研究所)、Lloyd Mosemann(美国空军)以及WinstonRoyce(TRW),还包括很多瑞理公司内部的领域从业者和主管人员。在20世纪90年代中期,这个讨论会纪要已经分发了几十次,给广泛的读者群,包括政府机构、国防项目承包商和商业组织。
  3.瑞理的Unified Process:瑞理收购Objectory后,进行了大量的内部投资以融合Objectory过程(集中于用例驱动的方法)的方法和原有的瑞理过程的方法(集中于管理方法和面向对象建模)。这个投资仍在进行中,随着瑞理持续地在生命周期的更多活动、工具和方法中拓宽过程描述和规定,产生了Unified Process。
  其他几个来源对于本书中讲述的管理过程也有重要影响,这种影响是包括多年的互相交流、交换想法和广泛的第一手沟通的长期关系的结果。
  .过去15年中我与Barry Boehm的共事是我的软件工程知识的一个丰富来源。
  .Don Andres非凡的领导才能和项目管理专业知识使他有别于其他很多我曾经为之工作过或者一起工作过的项目经理,同时我从他那儿学到了很多。
  .Dave Bernstein、 Robert Bond、 Mike Devlin、 Kevin Haar、 Paul Levy、John Lovitt以及Joe Marasco等瑞理的高层管理者已经培育出了一个机敏的公司,它拥有把软件工程当作一个行业的清晰的远见。
  .Philippe Kruchten的软件构架和过程框架方面的著作,以及他自己的领域经验,帮助我总结升华了很多观点和陈述。
  .瑞理的3个资深方法学家Grady Booch、Ivar Jacobson和Jim Rumbaugh在统一建模语言的定义中已经为软件工程界作出了伟大的贡献。
  .在瑞理的领域组织中的几百个专注的软件专业人员,已经赋予软件项目以价值,并且把软件工程理论应用到实践中。
  对这本书影响最大的是我的父亲Winston Royce,他调整了我的文字、验证了我的观点、提出了修改意见,并且增强了我采取容易引起争论的立场和激励发展的决心。
  一些人花时间评审我的手稿,他们还为澄清概念、理顺表述从而提高本书质量作出了贡献。我要特别感谢Ali Ali、Don Andres、Peter Biche、Barry Boehm、Grady Booch、Doug Ishigaki、 Ivar Jacobson、 Capers Jones、 Hartmut Kocher、 Philippe Kruchten、 Eric
 Larsen、Joe Marasco、 Lloyd Mosemann、Roger Oberg、 Rich Reitman、Jim Rumbaugh和John Smith。
  最后,本书的整个表述的质量、一致性和可理解性,很大程度上是Karen Ailor的工作。
 她的批改、文章的组织感觉、对细节的关注和敢作敢为的挑错,使本书有了实质性的提高。

译者简介

周伯生 等:周伯生: 北京航空航天大学计算机学院教授,博士生导师,近二十年来一直从事软件工程环境、过程工程和环境的研制与开发工作,是该学科方向的学术带头人。曾获国家科技进步一等奖和部委级科技进步一等奖各一项,获部委级科技进步二等奖三项。曾任国家科委与美国ISSI公司合作研制项目(集成化软件工程环境)总体组组长,国家七五和八五科技攻关软件工程及环境总体组成员,国防科工委科技委及软件与算法专业组成员,国家自然科学基金重大项目--中国自动控制CAD软件工程化系统(CADCSC)学术领导小组成员,航空工业部软件工程化小组副组长等职;现任北航软件工程研究所与美国FunSoft公司合作研制项目总体组组长,在我国积极倡导过程工程环境和系统工程环境的研制、开发和应用。

译者序

近二十年来,许多新一代的软件技术、过程和方法的发展异常迅速,但是软件工业仍然是一个人力密集的过程,离工业化生产方式的差距相当遥远,管理人员、技术、资源和风险的方法和技能,对软件项目的成败有着举足轻重的作用。为了管理好规模和复杂性都在不断增长的软件项目,软件工业一直在持续不断地改善软件项目管理的方法。然而,要寻找一个全面、清晰并且可供选择的管理方法,来处理诸如商用构件集成、软件重用、风险管理和进化式、增量式、螺旋式软件过程等问题,一直是一个棘手的问题。《软件项目管理:一个统一的框架》一书提供了一种新的经过经验测试过的框架和一套如何前进的指南。在美国,被誉为50年来对软件工业的生产方式影响最大的杰出的工程师Barry Boehm在为本书作序时指出,这本书照亮了通往下一代软件管理实践的道路。
  本书第1部分描述了当前软件管理实践的现状和软件经济学,并指出:减少需要构造的软件数量(注意构架和重用)、减少返工(通过改进过程和群组合作)以及减少劳动密集型工作(尽可能自动化)是提高软件投资回报的主要途径。本书第2部分描述了软件生命周期的阶段、制品、工作流和检查点等软件管理过程框架的主要内容,并将螺旋模型的灵活性和风险管理规范与一整套主要的生命周期阶段和里程碑结合在一起,构成了Rational(瑞理公司)统一过程的管理基础。并且指出,虽然瀑布模型有它的不足之处,但是它对于在一个特定的软件状况下怎样推进提供了最全面细致的管理指南。本书第3部分介绍了某些与现代软件过程的计划、控制和自动化相关的关键技术,确保软件项目的管理制品(包括项目计划及其相关的成本和进度估计、项目组织、群组构建以及项目度量元等)也在并行进化。作者在这;部分不仅强调了管理解决方案必须根据实际情况来确定,而且提供了剪裁这些方案的指南。本书第4部分讨论了下一代软件经济学以及获得成功所必需进行的文化转变,并展望了应用产品线管理、双向工程以及小型群组等最佳实践的前景。第5部分是案例研究和支持资料。
  本书的主要读者是决策者,即那些批准与软件相关的预算投资和开支的人,包括组织经理、项目经理、软件获取官员以及他们的职员。本书对他们当前的战术决策和今后的战略投资提供了直接可用的指南。另一类重要读者是其他软件人员,他们参与协商并执行软件项目计划,以履行组织目标及项目目标。
  在内容的侧重点上,作者把本书定位于软件管理教育,而不是软件管理培训,着重讲授原理;经验的理论基础和研究.领域的实质,是进行软件管理教育的一本良好教材。作者将对这些知识的应用留给读者自己去完成。
  需要特别指出的是,贯穿全书有一个极为重要的管理话题,这就是在作任何决策时,必须在理论和实践、技术和人员、客户的价值和供货方的利润以及策略和方法等四个方面进行适当的权衡,以便在各类项目相关人员的不同目标之间保持恰当的平衡。
  另外需要指出的是,软件工业的历史已经证明,需求问题或者计划中不合理的精确度会反复出现却又难以捉摸,是软件项目获得成功的重要障碍c因此,要做好软件项目管理,必须准确地预测估计、风险和变更的影响,正确地理解精确度和准确度的区别,这些是软件经理应该具有的一项基本技能。
  我们相信,本书的出版将会对我国的软件项目管理界起到推波助澜的作用。然而,正如本书作者所指出的,“从来没有软件管理的食谱,也没有良好实践的配方”。我们也认为,在很大程度上,软件工程是技术科学、人文科学与实验科学的交叉,管理方案是管理人员根据经验(判断力)、事实和原理作出的决策。因此,在进行项目管理时,应该联系实际,勤于思考,精心策划,勇于实践,及时总结,力求概括出适合我国民族特点、文化背景和企业实际的管理原理与实施细则,以便将我国的软件项目管理技术切实地推向前进,以促进我国软件工业的发展。
  在本书的翻译过程中,我们曾部分地参阅了北京航空航天大学计算机科学与工程系陆伯鹰、朱凯佳、周建国、高宏亮、王旭、郭鹏、丛杨、刘志成等人的译稿。此外,北京赛柏科技有限责任公司的周柳芳对全书进行了编排、整理和部分录入工作。我们对他们的辛勤工作表示诚挚的谢意。
  我们深深地知道,科技著作的翻译需要译者真正了解所涉及的技术内容,由于本书的内容非常广泛,在翻译过程中我们虽然作了很大努力,但其译稿可能仍然存在疏漏和错误,希望广大读者批评指正。
  北京航空航天大学软件工程研究所 周伯生
  北京赛柏科技有限责任公司 廖彬山

图书目录

第一部分 软件管理的复兴
第1章 传统的软件管理
第2章 软件经济学的进化
第3章 改进软件经济学
第4章 旧方法和新方法

第二部分 软件管理过程框架
第5章 生命周期阶段
第6章 过程中的制品
第7章 基于模型的软件构架
第8章 过程的工作流
第9章 过程检查点

第三部分 软件管理规范
第10章 迭代过程计划
第11章 项目的组织和责任
第12章 过程自动化
第13章 项目控制和过程插装
第14章 过程剪裁

第四部分 展望
第15章 现代项目的剖面图
第16章 下一代软件经济学
第17章 现代过程转移

第五部分 案例研究和支持资料
附录A 软件管理实践的现状
附录B COCOMO成本估计模型
附录C 变更度量元
附录D CCPDS-R案例研究
附录E 过程改进及其与CMM的映射关系

教学资源推荐
作者: 韩万江
作者: 毋国庆 梁正平 袁梦霆 李勇华
参考读物推荐
作者: (美)Barry W. Boehm
作者: (美)Ken Howard Barry Rogers 著