前言

软件质量管理是个全组织、多角色共同参与的、复杂的系统过程,好的软件质量是各级软件管理人员孜孜追求的最高梦想。

软件质量管理体系的知识涵盖了软件工程、CMMI软件能力成熟度模型、PMP项目管理以及软件测试技术的理论。其中,软件工程主要介绍了各种生命周期模型,这是软件研发和质量管理的基础,也是CMMI软件能力成熟度模型和PMP项目管理理论中非重点介绍的内容;PMP项目管理理论适用于任何行业的项目管理工作,它详细介绍了制定项目估算、预算的方法,以及制定项目进度计划的各种技术,这些是CMMI软件能力成熟度模型和软件工程的重要补充;CMMI软件能力成熟度模型是当今最流行的一种对软件企业成熟度的评判标准,它所涵盖的内容之广及体系之完整都是前所未有的。CMMI将软件的管理过程拆分为多个PA(过程域),并详细介绍了每个PA所需要完成的工作、流程以及流程中必备的产出物,它是软件质量管理中的核心部分。但CMMI软件能力成熟度模型着重于过程的定义,有些具体的操作方法和技术就必须参考PMP项目管理理论或软件测试理论的相关知识。软件测试一直以来都被很多人误解为等同于软件质量管理,多样的软件测试技术正是CMMI软件能力成熟度模型VER(验证)的重要补充内容。总的来说,软件工程中生命周期模型好比盖房子时打下的地基,CMMI软件能力成熟度模型就是房子的框架结构, PMP项目管理以及软件测试技术的理论就是填充房子的砖石,而盖好的这座房子就是软件质量管理体系。

本书以CMMI软件能力成熟度模型为主线,第1章对软件质量管理体系进行了概述,第2~4章介绍了软件质量管理所必备的常用技术“验证”、“确认”和“同行评审”;第5~8章介绍软件质量管理的基础管理流程“质量保证”、“配置管理”、“度量管理”和“风险管理”的知识;第9~11章介绍软件项目管理相关的“项目集成管理”、“项目计划”和“项目监控”的知识;第12~14章介绍了软件质量管理体系的“需求工程”、“决策分析”和“产品集成”的理论;第15章重点介绍了如何进行持续的质量改进,第16章为广大读者讲解了微软最新的软件项目工具“Team Foundation Server”的基本使用方法。

为了让广大读者更好地理解软件质量管理的理论,本书在每章的结束都针对软件项目研发过程中的常见问题进行案例分析,目的是为了将软件质量管理体系的知识与实际项目进行联系,更好地让软件各级管理人员进行理解和应用。

本书总结了当今软件质量管理所需要的全部知识,其中重点介绍的CMMI软件能力成熟度模型可以为软件公司高层管理人员和过程改进小组(EPG)的工作提供帮助;PMP项目管理的相关技术可以为软件公司的项目管理人员提供日常的项目指导并作为PMP考试的参考资料;每章的案例分析也采取了“信息类项目管理师”的考试形式,希望可以为参加“信息类项目管理师”考试的朋友提供帮助。

这些年来我一直希望可以将总结的软件质量管理的知识和理论与大家分享,本书能够顺利出版首先要感谢51Testing所提供的机会,也要感谢各位编辑的辛勤劳动。同时还要感谢长期以来支持我的朋友和我的妻子蔡觅女士,你们是我成长的最大动力!

作者

2009年5月28日于苏州