方法体系层次
1、措施质量管理层次
为提高软件质量企业所采取的相关措施。决定成败的不是目标,而是措施。任何好的规章制度或计划,最终都需要具体措施才能落到实处。措施层次包括质量检查、质量保证、预防不合格品、完美无缺。
1.1 质量检查
保证质量的方式是进行临时性的最后检查,然后消除次品。软件测试是软件质量检查的具体实现环节。把软件测试有效地组织进软件的生产流程,是软件质量控制规划的主要内容。
1.2 质量保证
质量目标仍主要通过生产部门或企业进行生产过程的优化和稳定化来保证质量目标的达成。从软件产业的发展初期到目前的大型软件开发过程,软件质量保证已经成为开发中的一个不可分割的部分。
1.3 预防不合格品
整个软件业项目属于需求分析和软件设计的错误和缺陷约占软件错误的64%,而属于程序代码的错误仅占36%。软件错误具有随着阶段的进展而产生积累与放大效应,因此应当尽早消除错误,否则“差之毫厘,失之千里”。所以在软件开发生命周期的前期就通过对关键过程成果的评审控制来预防不合格品。
1.4 完美无缺
这一级上的企业都有一种内在的质量文化氛围,在此氛围下的方方面面工作都有助于质量的提高。每个员工都意识到质量对企业成功的重要性,都在寻求提高质量的新途径,都在为达到完美无缺而奋斗。同时,企业始终如一地面向外部客户,通过优越的设计质量来满足客户需要,并从供应商到客户形成一个优化的管理流程。
2、项目管理质量层次
软件开发任务一般是以项目的形式完成,项目管理质量包括组织资源、组建团队、设定目标、确定范围、确定优先级、管理风险、建立沟通机制等内容,其层次分为通用术语、通用过程、单一方法、基准比较、持续改进。
科兹纳博士对项目成功的定义,不仅要满足传统的项目时间、费用和性能的三大目标以及满足客户或用户定义的质量标准,还要满足具有最少的或者双方同意的范围变更、没有干扰组织的企业文化或者价值观、没有干扰组织的日常工作进程等条件。
2.1 通用术语
企业了解了项目管理的重要性,并需要进一步了解对项目管理基础知识以及相关的语言和术语。在企业内部普及项目管理基础知识,使用业界通语言和用术语进行沟通,使大家形成对问题的正确理解。
2.2 通用过程
企业认识到自己需要定义和建立通用过程,以便在一个项目上成功之后,还可以将该过程及其成功经验重复地用于其他许多个项目。在这一层次上,还包括理解项目管理原则对公司所用其他方法的应用和支持。
2.3 单一方法
企业尽量通过单一的方法开发,而不是使用多个方法,可以最好地实现协同效应和控制,认识到了把公司所以方法结合成一个单一方法所产生的协同效应,其核心是项目管理。与使用多个方法相比,只用一个方法所产生的协同效应使得程控更加容易。
2.4 基准比较
不断将本企业的管理实践与行业龙头企业比较,以获得信息来帮助自己改善。企业认识到为了保持竞争优势,过程改进是必要的。基准比较必须连续进行。公司必须决定以谁为基准点及需要比较什么。
2.5 持续改进
质量是“没有最好,只有更好”。企业持续在必要时评估基准比较中获得的信息,实施为改进过程所必要的变革。在 ISO9000:2000 中,持续改进不是一个单独的过程或质量体系要素,而是管理质量体系的方法。
企业最重要的问题是“明天这样做的比今天好”企业要永不满足,没有终点,永无休止地努力工作,追求进步和持续改进,为未来努力奋斗。
3、过程质量管理层次
《GB/T8566—2001(idt ISO/IEC12207)信息技术-软件生存周期过程》把软件生存周期的各个过程分为三类,即基本生存周期过程、支持生存周期过程、组织生存周期过程。
对于质量,强调的是对过程的重视,通过保证每个环节的工作质量,来保证最终质量,而不是通过最后的检验测试找出缺陷。它们的质量概念,不仅涵盖产品,还包括企业的整个运营过程,贯穿产业链的各个环节。确保生产出高质量的软件产品,就是遵循一套有质量原则的软件开发过程。目前软件过程改进主要根据能力成熟度模型集成CMMI,其层次分为初始级、可重复级、已定义级、已经管级、优化级。
3.1 初始级
企业的软件过程是无序的,甚至是混乱的。几乎没有什么过程是经过妥善定义的,项目的成功往往依赖于没写个人的技能和经验。
3.2 可重复级
已经建立了基本的项目管理过程规范,项目经理能跟踪成本、进度、和产品功能等,项目能重复以前的成功。企业的过程能力可以概括为“有纪律的”。
3.3 已定义级
已经将管理和开发两个方面的过程文档化,并综合成企业的标准软件过程。所有项目都可以通过裁减企业标准过程而建立适合于本项目的过程规范。此过程能力可以概括成“标准的”和“一致的”,它建立在整个企业对软件过程中的活动、角色、职责的共同理解之上。
3.4 已管理级
对软件过程与产品都有定量的理解和控制,有专门的数据库系统来收集和分析数据。此过程能力可以概括成“定量的”和“可预测的”。
3.5 优化级
能够有效地识别企业过程的优势和薄弱环节,发现并采用非常好的的软件工程实践,预先防范过程和产品中的缺陷。整个企业强调持续地改进过程能力。