今天读了《构建之法》的第十四章,这章讲质量保障。
软件质量=程序质量+软件工程质量
程序的质量体现在软件外在功能的质量。衡量程序的质量,基本的判断可以用“是|否”来判定。
软件工程的质量与“快”和“省”相关,主要体现在以下方面:
1.软件开发过程的可见性
2.软件开发过程的风险控制
3.软件内部模块,项目中间阶段的交付质量,项目管理工具的因素
4.软件开发成本的控制
5.内部质量指标的完成情况
衡量软件工程质量的方法——CMMI(能力成熟度模型集成)
一级:初始级。在这一水平上,企业项目的目标得以实现。但是由于任务的完成带有很大的偶然性,企业无法保证在实施同类项目时仍能完成任务。企业在这一级上的项目实施对实施人员有很大的依赖性。
二级:管理级。在管理级水平上,企业在项目实施上能够遵守既定的计划和流程,有资源准备,权责到人,对相关的项目实施人员有相应的培训,对整个流程有监测与控制,并联合上级单位对项目与流程进行审查。企业在二级水平上体现了对项目的一系列管理程序。这一系列的管理手段排除了完成任务质量的随机性,保证了企业的所有项目实施都会得到成功。
三级:明确(定义)级。在定义级水平上,企业不仅能够对项目的实施有一整套的管理措施,并保障项目的完成;而且,企业能够根据自身的特殊情况以及标准流程,将这套管理体系与流程予以制度化。这样,企业不仅能够在同类的项目上成功地实施CMMI,在不同类的项目上一样能够成功地实施。
四级:量化管理级。在量化管理级水平上,企业的项目管理不仅形成了一种制度,而且要实现数字化的管理。通过量化技术来实现流程的稳定性,实现管理的精度,降低项目实施在质量上的波动。
五级:优化级。在优化级水平上,企业的项目管理到达了最高的境界。企业不仅能够通过信息化和数字化来实现对项目的管理,而且能够充分利用信息资料,对企业在项目实施过程中可能出现的次品予以预防。企业能够主动盖上流程,运用新技术,实现流程的优化。
CMMI有两种不同的实施方法:
1.连续式:主要是衡量一个企业在某一项目中的管理能力。
2.阶段式:主要是衡量一个企业的成熟度。
质量成本的组成:
1.预防
2.评审
3.内部故障
4.外部故障
5.流程分析改进
6.提高职业技能
7.投资软件工具
独立的测试角色如何发挥最大的作用?
1.充分授权和信任
2.各司其职,对项目共同负责