内容简介
本书是用SEI的能力成熟度模型(CMM)改进机构软件开发过程的实用指南,向软件项目经理和管理员提供CMM软件过程改进的实用知识,并介绍软件寿命周期每个阶段的实现方法。本书强调软件过程定义、有效利用软件度量和常识软件项目管理。这种集成方法能帮助专业人士用CMM作为工作准则,不断实现软件过程改进。 前 言 在我们的生活中,有时会遇到的人物,发现某种产品,从而改变我们对某个东西的看法。对我来说,这个人就是Joe Raynus,这个产品就是他实现的软件工程衡量标准。我在20世纪80年代末遇到他,听说他开发了一个令人不可思议的产品,可以自动生成软件衡量标准,帮助分析结果。毫无疑问,经过几个星期的讨论与评估,我不仅理解了这个产品及其工作原理,而且理解了这个人及其思考方法。简而言之,他可以把每个复杂的过程与计算简化成我能方便地理解和交流的管理术语与图表。许多软件专家还在把软件工程看成一门艺术,而Joe已经可以向产品经理说明如何把原先的知识与软件工程原则联系起来了。 Joe的工作不断改进,Carnegie Mellon大学软件工程学会(SEI,Software Engineering Institute)收集和建档的知识也在不断?慕4邮鹿廊砑钅康娜硕蓟辜堑茫琒EI的能力成熟度模型(Capability Maturity Model)是用于帮助政府项目经理更好地理解参与政府工作的公司具有的成熟程度,但其大多数内容要求了解软件开发活动中如何出错,为何出错。将我在政府部门遇到的问题与在商业化市场中遇到的问题相比,我发现问题是相同的。速度、质量、要求满意度、测试方法、配置管理、项目计划与监管、成本、风险管理和预见性在小项目和大型政府软件开发中都要遇到。 SEI的知识和Joe的智慧能帮助任何软件公司更好地建立世界的产品。他的方法简单而直接,他的例子明确,他的实践极为丰富。商业部门的同行在机构中领导软件改进活动时应密切关注CMM和Joe的作品,也许你还不知道,你的许多竞争对手已经实现了能在时间和质量上占优势的关键过程。 Michael J. Prowse 质量与客户服务部主任 Sun公司Solaris软件公司 序 十五年前,老板的老板把我叫到办公室,提出了三个“简单”问题: 1. 支持与维护软件产品的费用为什么这么高? 2. 产品可靠性如何? 3. 一个软件故障的平均成本如何? 为了回答这些问题,我成了查错者和制错者。几年之后,我自己开了一家公司,主要产品是自动生成软件衡量标准的工具。 当时我是个经理,是软件厂商。生活中有时需要进行一些艰难的决定。我离开自己创办的公司和倍感亲切的产品,回到行业中。我看到自己的使命就是帮助客户回答上述问题。 不久,我发现,要了解这些问题,就要“深入基层,了解民情”。即使是一组软件衡量标准,也不可能对这些问题提供现成的方案。每个客户的情形各不相同,除非了解特定问题,否则不可能提出建议。 没有像了解美国空军一样了解软件管理问题的机构。大约有一年时间,我曾是源选择评审委员会(Source Selection evaluation Board,SSEB)的技术顾问。审查各种提案,很好地了解外部看到的潜在问题,这些问题的影响程度,客户有什么预期,软件生产过程可能遇到怎样的问题。 之后,我成为了一名客户。结束了在SSEB的工作之后,我花了几年的时间帮助我的客户管理和控制他们的软件问题。我将软件开发过程中遇到的问题组织起来,供客户参考。有时,很明显的信息被隐藏了起来。我已经体验了他们的生活,并帮助他们解决了问题。 后来我做了顾问。了解能力成熟度模型(CMM)对我很重要。我在评审小组期间进行的几次评审使我对软件管理问题有了更深的了解。与此同时,
目录
目 录 第1章 软件管理过程与CMM 软件开发过程 软件管理与机构 等什么 参考文献 第2章 能力成熟度模型 CMM的构成 五级CMM CMM方法的好处 关键过程区的共同特性 测量与分析 CMM的主要过程概念 与项目定义的软件过程相关的概念 关键实践和CMM 收集与分析过程数据 应用专家判断 参考文献 第3章 评估与评估目标 软件开发过程 软件质量保证活动 评估 CMM的误解 事后评估 CMM客观与机构焦点 参考文献 第4章 过程焦点 过程焦点 结果过程管理 管理决策过程的组件 决策活动与目标实现 过程管理与测量过程 测量什么 选择信息 项目模型 测量概念 参考文献 第5章 连接测量与CMM关键过程区 连接软件开发寿命周期与软件项目管理 将关键过程区与环境连接 成熟度曲线 连接关键过程区与测量 定义指标与问题 目标/问题/度量方法 成熟度攀登机 参考文献 第6章 测量、属性与数据 测量 过程属性与数据 四维数据收集 参考文献 第7章 软件度量 软件度量的作用 SEI的度量集 易失性 修订 度量指标表 参考文献 第8章 评估软件成熟度案例分析 前言 评估背景 初始评估(1995年3月) 测试准备度决策评估(1995年7月) 初始操作性使用(1995年8月) 扩展操作性测试(1995年10月) 软件对购买决策的影响(1996年3月) 案例分析结论 致谢 第9章 结论