内容简介
本书紧扣CMMI二级至五级的过程要求,结合国内软件研制现状,设计了一套可以满足CMMI五个等级共22个过程域通用目标和专用目标的实施细则,并给出了过程记录的参考模板,对于加快CMMI在软件研制单位推广、实施的进程,指导软件研制单位进行基于CMMI的软件质量管理体系建设,具有较好的借鉴作用,可作为推广应用CMMI的重要参考资料。 本书内容系统全面,有很强的实用性和指导性,可供从事软件工程理论研究和软件工程实践的科研人员和工程技术人员参考,也可供进行CMMI质量管理体系建设的单位和相关人员学习。
目录
第1篇 基础篇
第1章 CMMI基础知识
1.1 CMMI的表示方法
1.1.1 CMMI阶段式表示方法
1.1.2 CMMI连续式表示方法
1.2 CMMI过程域内部结构
1.3 CMMI共用目标和共用实践
1.3.1 共用目标2——制度化已管理过程
1.3.2 共用目标3——制度化已定义过程
第2章 CMMH实施流程
2.1 CMMI实施准备
2.1.1 制定CMMI实施计划
2.1.2 建立组织机构
2.1.3 培训
2.1.4 资源保障
2.2 建立软件质量管理体系文件
2.3 体系试运行
2.4 项目评估及整改
2.5 体系正式运行
第3章 软件生存周期模型
3.1 概述
3.2 软件生存周期主要活动
3.2.1 软件系统分析与设计
3.2.2 软件需求分析
3.2.3 软件概要设计
3.2.4 软件详细设计
3.2.5 软件编码
3.2.6 软件单元测试
3.2.7 软件集成和集成测试
3.2.8 软件配置项合格性测试
3.2.9 软件系统测试
3.2.10 软件验收与移交
3.3 生存周期模型的定义
3.3.1 瀑布模型
3.3.2 W模型
3.3.3 快速原型化开发模型
3.3.4 增量模型
3.3.5 高复用度开发模型
3.4 敏捷软件开发
3.5 生存周期模型的选择
3.6 小结
第2篇 项目管理类过程
第4章 需求管理
4.1 概述
4.2 制定需求管理计划
4.3 需求理解与承诺
4.4 管理需求更改
4.5 维护需求的双向可追溯性
4.6 标识项目工作与需求之间的不一致性
4.7 小结
第5章 项目策划及集成项目管理
5.1 概述
5.1.1 规模估计
5.1.2 工作分解结构
5.1.3 工作量估计
5.2 制定项目策划计划
5.3 项目初步估计
5.4 制定软件开发计划
5.5 制定阶段实施计划
5.6 执行项目计划
5.7 计划变更控制
5.8 小结
……
第6章 项目监控
第7章 供方协议管理
第8章 风险管理
第9章 定量项目管理
第3篇 工程类过程
第10章 需求开发
第11章 技术解决方案
第12章 产品集成
第13章 验证
第14章 确认
第4篇 支持类过程
第15章 配置管理
第16章 过程和产品质量保证
第17章 测量与分析
第18章 决策分析和决定
第19章 原因分析和决定
第5篇 过程管理类过程
第20章 组织过程定义
第21章 组织过程焦点
第22章 组织培训
第23章 组织过程绩效
第24章 组织创新和部署
第6篇 工具篇
第25章 软件过程管理工具
参考文献
精彩书摘
《基于CMMI的软件工程实施:高级指南/软件开发与测试丛书》:
(1)确定拟向供方提供的事件(如项目配备的设施、文件、服务等)以及供方需完成的需求。
(2)拟订工作说明、规格说明、条款和条件、可交付项清单、进度表、预算和验收过程。
(3)确定项目和供方中被授权负责更改供方协议的人员。项目中被授权负责更改供方协议的人员可以是供方协议管理人员,也可以是管理层代表,或其他由组织授权的人员。
(4)规定如何确定、沟通和处理需求更改和对供方协议的更改。
(5)确定要遵循的标准和规程,例如,要求供方按照CMMI 2级(或2级以上)对研发过程进行管理。
(6)确定项目和供方之间的关键依赖关系。
(7)确定项目监督供方的类型和深度、规程,以及用于监督供方绩效的评价准则(包括要监督的过程和要评价的工作产品)。
(8)确定和供方要一起进行的评审活动,以及评审形式(如评审、会签等)。
(9)确定供方对交付的产品进行后续维护和服务等方面的责任。
(10)确定所交付的产品的保证、拥有权和使用权。
(11)确定验收准则,例如,产品能够通过独立第三方进行的配置项级别和系统级别的软件测试。
[活动2]各个利益相关方在协议实施之前理解全部要求并对正式协议做出承诺。一般情况下,该协议作为合同等的一部分。
[活动]卫定期评审供方协议,以确保它正确地反映项目与供方的关系、当前的风险和市场环境。例如,软件研制周期小于6个月的项目,可以每月就协议的履行情况定期评审一次。评审可以根据情况结合供方过程或产品评价一同完成,在条件受限时可以采取其他方式沟通了解协议履行情况。
[活动4]签订供方协议后,如情况发生变化,可能需要对正式协议进行修改。修改后的正式协议应重新获得各个利益相关方的承诺。
……
前言/序言
基于CMMI的软件工程实施:高级指南 软件开发与测试丛书 内容简介 在日益复杂和竞争激烈的软件行业中,一套行之有效的工程实践是确保项目成功、交付高质量产品以及实现组织可持续发展的基石。本书《基于CMMI的软件工程实施:高级指南》并非一本包罗万象的软件开发手册,而是聚焦于一个核心且强大的框架——能力成熟度模型集成(CMMI),并深入探讨如何在实际的软件工程实践中,尤其是软件开发与测试领域,对其进行高级别、精细化的实施。本书旨在为那些已经对CMMI模型有所了解,或已经迈出初步实施步伐的团队和组织提供一套更为成熟、深入且实用的指导。 本书的内容不包含以下方面: CMMI模型的详细理论和历史沿革: 本书不会从零开始介绍CMMI模型的由来、不同版本的演变、基本概念(如成熟度等级、能力等级、过程域等)的定义。读者应已具备对CMMI基础知识的基本掌握。 通用的软件开发生命周期(SDLC)模型介绍: 本书不会花费篇幅详细阐述瀑布模型、迭代模型、敏捷模型等不同SDLC模型的特点、优缺点及适用场景。虽然CMMI的实施需要与SDLC相结合,但本书的侧重点在于CMMI的实践层面。 基础的软件开发技术和编程语言教程: 本书不包含任何特定编程语言(如Java, Python, C++等)的语法讲解,也不提供基础的软件设计模式、算法或数据结构等技术细节的教学。 基础的软件测试方法和工具介绍: 本书不会讲解单元测试、集成测试、系统测试、验收测试等基本测试类型,也不会深入介绍各种自动化测试工具(如Selenium, JMeter等)的具体使用方法。 项目管理基础概念(如WBS、风险管理基础): 虽然CMMI与项目管理紧密相关,但本书不会重复介绍诸如工作分解结构(WBS)的创建、基础风险识别与分析等通用项目管理知识。 组织变革管理的通用理论和方法: 本书不会深入探讨如何进行广泛的组织结构调整、人力资源管理或企业文化建设等宏观层面的变革管理理论。CMMI实施中的组织变革是其一个重要组成部分,但本书侧重于围绕CMMI本身的实践。 非软件工程领域的内容: 本书的内容严格限定在软件工程的范畴,不涉及硬件工程、嵌入式系统开发(除非与软件工程实践直接相关)、信息安全(作为独立的学科领域)、IT服务管理(ITSM)等其他专业领域。 对CMMI模型的评价或对比: 本书不会对CMMI模型本身进行价值判断,也不会将其与其他成熟度模型(如ISO 9001, TMMi等)进行详细的横向对比分析。 本书的核心内容聚焦于“基于CMMI的高级实施”,通过以下几个维度,为读者提供一套系统、可操作且富有洞察力的实践指南: 第一部分:CMMI高级实施的战略与规划 在这一部分,我们将超越CMMI基础目标的理解,深入探讨如何在组织战略层面规划和驱动CMMI的实施,以实现真正的业务价值。 战略对齐与价值驱动的CMMI目标设定: 详细阐述如何将CMMI的实施目标与组织的长期业务愿景、市场定位和竞争策略紧密结合。我们将探讨如何识别最能为组织带来直接商业利益(如降低成本、缩短上市时间、提升客户满意度、规避合规风险等)的过程域,并以此为依据,制定具有高度战略价值的CMMI实施路线图。这包括如何量化CMMI实施的预期收益,并建立可衡量的成功指标。 选择适合的CMMI模型版本与成熟度目标: 针对不同的组织规模、业务类型和成熟度基础,深入分析选择CMMI-DEV、CMMI-SVC、CMMI-ACQ等不同模型集(Model Set)的考量因素。同时,我们将指导读者如何根据组织的资源、时间和期望达到的业务影响力,审慎选择合适的成熟度目标(如3级、4级、5级),并解释不同目标对实施深度和复杂度的影响。 高层领导者的承诺与驱动力: 深入剖析高层管理者在CMMI实施中的关键作用,以及如何构建和维持他们的持续支持。本书将提供一系列实用的沟通策略和影响力技巧,帮助CMMI倡导者赢得高层领导的理解和资源投入,将CMMI实施从一项“IT项目”提升为一项“战略性业务改进项目”。 成功的CMMI实施组织模型与角色职责: 探讨建立一个高效的CMMI实施支持团队所需的关键角色,如CMMI主任、过程改进专家、培训协调员等。我们将详细界定这些角色的职责、所需技能以及他们之间如何协同工作,以确保实施过程的顺畅与有效。 第二部分:CMMI核心过程域的高级实践与案例分析 本部分将聚焦于CMMI模型中对软件开发与测试最为关键的过程域,并提供超越教科书式描述的深入实践技巧和真实世界案例。 需求管理(REQM)的高级策略: 探讨如何建立更健壮的需求管理流程,包括需求变更控制的精细化操作、需求的可追溯性管理的高级技巧(例如,利用工具实现从业务需求到测试用例的端到端追溯)、以及如何有效管理模糊、不完整或相互冲突的需求。我们将深入分析需求验证与确认的高级方法,例如使用原型、用户故事地图等方式提升需求的清晰度。 配置管理(IPM)与集成产品管理(IPM)的精细化实施: 重点在于如何构建稳定、可靠的配置管理环境,确保软件产品的版本控制、基线管理和变更跟踪的准确性。对于集成产品管理,我们将探讨如何将配置管理与项目计划、风险管理等过程深度集成,实现对复杂产品结构的有效管理。 项目规划(PP)与项目监控(PMC)的优化: 深入讲解如何利用CMMI原则制定更具现实意义、可执行性的项目计划,包括如何更准确地估算工作量、资源需求和时间表。在项目监控方面,我们将聚焦于如何运用数据驱动的方法,对项目进度、成本、质量进行有效的跟踪和度量,以及如何及时识别偏差并采取纠正措施。 风险管理(RSKM)的预测性与主动性: 不仅局限于识别风险,本书将侧重于如何建立一个主动的风险管理体系,通过风险预测、趋势分析来规避潜在问题。我们将探讨风险度量、风险应对策略的制定与执行,以及如何将风险管理融入日常的开发与测试活动中。 产品集成(PI)与产品评估(PE)的质量保障: 详细讲解如何通过精心设计的集成过程,确保不同模块、组件之间协同工作。在产品评估方面,我们将深入讨论如何进行独立的产品评审、度量和测试,以发现潜在的缺陷和设计问题,从而提高产品发布的质量。 度量与分析(MA)在软件开发与测试中的深度应用: 探讨如何超越简单的度量收集,建立一套能够驱动决策和持续改进的度量体系。我们将分析不同类型的软件度量(如缺陷密度、代码覆盖率、响应时间等)的含义、计算方法、以及如何利用这些数据来诊断流程问题、评估过程性能和预测项目结果。 过程与产品质量保证(PPQA)的有效监督: 重点在于如何建立一个独立、客观的质量保证职能,对开发和测试过程的合规性进行监督,确保遵循既定的标准和流程。我们将探讨QA如何进行有效审计、提供建设性反馈,并推动过程的合规性和有效性。 供应商协议管理(CSUP)的高级考量: 对于涉及外部供应商的软件开发项目,本书将提供如何建立和管理有效的供应商协议的深入指导,包括如何设定明确的技术要求、质量标准、交付周期,以及如何进行供应商绩效评估和风险控制。 第三部分:软件开发与测试领域的CMMI实践深化 本部分将CMMI的通用原则与软件开发和测试的具体实践相结合,提供更具针对性的实施策略。 需求开发(RD)的高级实践: 深入探讨如何基于CMMI的要求,进行更清晰、完整、可测试的需求定义。我们将讨论如何在迭代开发中有效管理需求变更,以及如何确保需求的可验证性和可追溯性。 技术解决方案(TS)与产品设计(PD)的集成: 探讨如何在CMMI框架下,进行高质量的技术选型、架构设计和详细设计。我们将重点关注设计评审、设计验证与确认的方法,以及如何确保设计能够满足需求并易于实现和测试。 验证(VAL)与确认(VER)的深入实践: 详细阐述如何设计和执行更有效的验证和确认活动,以确保软件产品满足指定的需求和用户期望。这包括如何制定详尽的测试计划、测试用例,以及如何利用自动化测试和探索性测试等方法,最大化测试效率和效果。 缺陷管理(DM)与根本原因分析(RCA): 探讨如何建立一个高效的缺陷跟踪和管理流程,并深入讲解如何进行有效的根本原因分析,以识别并解决导致缺陷产生的深层问题,从而预防未来缺陷的发生。 代码评审(Code Review)与静态分析(Static Analysis)的标准化: 介绍如何在CMMI流程中,标准化代码评审和静态分析活动,以提高代码质量、可维护性和安全性。我们将探讨如何定义评审标准、工具选择、以及如何将评审结果反馈到开发过程中。 性能工程与可靠性工程的CMMI整合: 探讨如何将性能和可靠性作为关键的工程属性,在CMMI流程的各个阶段进行管理和度量。我们将分析如何设定性能目标、设计性能测试、进行可靠性分析,并将其与风险管理和产品评估过程相结合。 敏捷与CMMI的融合: 尽管CMMI传统上与较重的流程相关联,本书将探讨如何灵活地将CMMI的精髓融入敏捷开发模式。我们将展示如何在新兴的敏捷实践中(如Scrum、Kanban)实现CMMI的核心目标,例如如何在迭代中进行需求管理、配置管理、过程改进等。 第四部分:CMMI实施的持续改进与评估 本书的最后部分将引导读者思考CMMI实施的长期可持续性,以及如何通过持续的改进和有效的评估来最大化其价值。 过程改进的文化营造与机制建立: 探讨如何建立一个鼓励持续过程改进的组织文化。我们将讲解如何设计和实施过程改进项目,如何利用数据反馈来识别改进机会,以及如何量化改进的效果。 CMMI评估(Appraisal)的深入理解与准备: 详细解释CMMI评估的不同类型(如基线评估、分级评估)及其目的。本书将提供在评估过程中如何充分准备、如何应对评估师的提问、以及如何利用评估结果进行下一步改进的实践建议。 度量驱动的改进闭环: 强调如何利用度量结果来形成一个持续的改进闭环。我们将展示如何设定改进目标、规划改进措施、实施改进、度量改进效果,并根据结果进行再调整。 CMMI与组织成熟度的长期愿景: 引导读者思考CMMI实施并非终点,而是组织迈向更高工程成熟度和卓越运营的起点。我们将探讨如何将CMMI的原则内化为组织DNA,并与其他管理体系(如精益、六西格玛)相辅相成,共同推动组织的持续进步。 本书以其高级、深入且聚焦于实践的特点,旨在为在软件开发与测试领域追求卓越的团队和组织提供一份宝贵的参考。通过对CMMI的精细化实施,我们相信您的组织能够构建更稳健的开发流程,交付更高质量的软件产品,并最终在激烈的市场竞争中获得持久的优势。