全国咨询热线

400-6024-060

以质量为核心,以过程为方法

实施CMMI过程中帮助企业建立自己的过程改进团队,培养企业过程改进的文化,实现企业持续改进的目标。

实施CMMI企业的ISO9000审核
时间: 2016-09-01 16:20      来源: 未知      作者: admin      点击:
1   前言
 
  目前国内越来越多的IT企业在使用ISO9000作为指导建立质量管理体系后,开始尝试考虑使用CMMI[1]进一步优化流程,细化过程细节以获得更好的组织绩效。也有部分企业因为各种原因,在尝试同时使用ISO9000和CMMI作为指导建立管理流程时遇到困难,难以转换两者的术语或融合两者的要求,导致停滞不前。本文编写的基础是在了解部分企业如何实施CMMI后,从审核人员的角度出发,说明企业如何满足ISO9000标准[2]的要求。
  本文的结构并不是以ISO9000标准中条款顺序编写的,而是以企业进行质量管理控制的逻辑分类的,分别是开发活动和项目管理活动。
 
2   开发活动
 
  IT企业的开发活动总体可以分为需求开发、设计及实现、测试、部署及验收。项目组可能根据客户和产品的特点,调整这些活动的组合方式,例如采用瀑布模型开发的项目严格将项目分解为需求、设计、编码、测试及验收阶段,而采用迭代模型开发的项目则可能包含多个“需求——设计——编码——测试——部署”活动。
  在需求开发活动中,项目组根据项目的实际情况可能采用例如用户访谈、用户调查、同类产品研究、原型建模等方法了解用户需求,通常会形成相应的调查记录、研究报告或原型等。之后,项目组会根据用户需求以及产品的特定约束等信息,将用户需求转化为产品需求。产品需求通常使用技术化的语言描述产品的功能和非功能性需求(例如性能、安全性要求),面向设计人员编写。在将用户需求转化为产品需求的过程中,会使用需求跟踪矩阵技术来确保用户需求和产品需求之间的一致性,该矩阵技术同样会在后期的设计、实现和测试阶段使用,以确保各工作阶段的产品保持一致性。在确认需求时,项目组会考虑到客户、高层、开发及测试人员对需求的关注点,采用会议评审或原型讲解的方式让项目涉众认可需求的内容。所以在ISO9000审核中,“7.2与顾客有关的过程”、“7.3.2 设计和开发输入”可以从需求相关的工作找到项目层面的证据。特别需要注意的是,项目需求开发活动结束之后的需求变更以及客户对项目中期产品演示的反馈同样属于该条款覆盖范围。但控制的具体要求应参考ISO9000条款中的“7.3.7 设计和开发更改的控制”。
  需求通过评审后,项目组开始进入设计阶段。对于纯软件开发的企业,设计阶段主要的工作包括模块设计、接口设计、数据库设计、界面设计等,而对于涉及嵌入式开发的企业,还包括硬件方面的设计,例如原理图、结构图和PCB设计等,设计输出文档通常包括概要设计说明书、详细设计说明书等内容。为了确保设计和需求的一致性以及设计的质量,项目组通常会进行设计评审,并且记录评审的相关数据,例如评审时间、发现的问题内容及数量、发现的问题类型以及评审是否通过等证据(这些数据将用于过程及产品的监控和测量,具体内容见本文“项目管理”章节)。在设计产生的工作产品获得认可后,项目组进入产品实现阶段。对于纯软件开发的企业,实现包括了编码和界面制作工作,而对于设计嵌入式开发的企业,还包括PCB制作和样机制作等。为了确保产品模块的质量,项目组通常编写单元测试用例进行单元测试并进行测试用例适宜性及充分性的评审,而对于与硬件有关的项目组,还会检查制作的样机组件规格是否符合设计的要求。所以ISO9000审核中,“7.3 设计和开发”中的7.3.3、7.3.4、7.3.5以及“7.5 生产和服务提供”的相关证据都应该在此阶段进行关注。
  项目组在确认产品单元的质量满足要求后,根据预先制定的集成计划(见本文“项目管理”章节)将各单元按照顺序集成并进行集成测试。集成测试的主要目的在于验证接口的正确性。产品通过集成,形成最终产品的子系统或者完整的产品,项目组会对产品的功能及非功能要求进行测试,即系统测试。在集成测试和系统测试中,负责测试的人员会编写测试用例以说明测试的前提条件、测试环境、输入、操作步骤以及预期结果等信息,并将测试发现的结果记录在特定的缺陷记录单或缺陷管理系统中。项目组会根据发现的缺陷分析原因并修正缺陷,直到产品满足了测试通过的准则。所以在ISO9000审核中,“7.3.5 设计和开发验证”、“7.6 监视和测量设备的控制”、“8.2.4 产品的监视和测量”、“8.3不合格品控制”等证据都可在本节提到的集成和系统测试阶段找到证据。另外,由于系统测试的目的在于验证系统与需求定义的符合性,因此不应属于“7.3.6 设计和开发确认”的范畴。
  完成系统测试后,项目组准备将产品交付给用户,对于不同类型的项目其具体操作会不同。对于产品开发型的项目,可能会将软件打包制作成安装文件保存在媒介中,也可能将程序文件录入硬件设备中;而对于项目开发型的项目(即纯软件或集成项目),可能会到客户现场部署安装并提供培训的服务。以上的工作都属于“7.5 生产和服务提供”。一般对于项目开发型的项目,项目组主要通过试运行和验收测试的方式让客户确认产品是否满足其需求,而对于产品开发型的项目,由于所确定的客户群不是特定的个人或组织,难以进行验收测试,因此此时可以通过公司内部的高层评审以及收集试用者意见的方式进行产品的确认。ISO9000审核中“7.3.6 设计和开发确认”则包含了以上多种确认的方式,特别地,项目组可能在中期向客户或公司高层演示产品,这类活动同样属于该条款的范畴。
 
3   项目管理
 
  上文谈到了项目工程开发活动的审核重点,下面将讨论IT项目通常使用的项目管理方法及其与ISO9000标准的关系。
  实施了CMMI Level3的企业在项目启动后会根据项目特征考虑过程执行的具体细节,对标准流程进行裁剪,例如增加、删减或修改过程细节,形成过程裁剪的记录。然后项目组会制定总体的项目计划,例如分解项目工作项,选择生命周期,确定阶段及里程碑,初步估计资源需求等。在逐步明确项目需求后,项目组对项目了解逐步清晰,可能对生命周期进行适当调整。同时细化分解项目工作项并对各项工作所需的工作量进行估算,并形成估算记录。项目组在细化总体计划时,还会考虑例如质量目标、沟通计划、配置管理计划、质量保证计划和测试计划等子计划,具体操作时这些计划不一定形成单独文件,可能是总体计划的一部分。项目计划及子计划制定完成后,项目组、客户以及公司高层会通过评审确认计划并给予承诺。针对以上的项目策划工作,ISO9000审核中相关的条款包括:“7.1 产品实现的策划”、“7.3.1 设计和开发策划”、“7.3.4 设计和开发评审”、“8.1 测量、分析与改进策划”。
  项目监控从形式上说包括日常例会、个人日常汇报以及里程碑会议等,从内容上说包括对过程的监控和产品的监控。通常项目组通过日常的跟踪方式了解项目的进展状况,包括进度情况、工作量、风险状态等,项目组通过收集与之相关的进度、工作量等数据进行过程的日常监控。除此之外,项目组还会收集评审、测试相关的数据以及产品性能的数据,定期进行过程和产品的监控。所以,项目组通过例会和里程碑会议的形式,使用测量数据进行分析,实现对过程和产品的监控分析,于此相关的ISO9000条款包括“8.2.3 过程的监视和测量”、“8.2.4 产品的监视和测量”、“8.4数据分析”。
项目在各阶段以及结项时,通常回顾之前的风险、问题并总结经验教训,另外还向组织一级提交可复用或可参考的工作产品作为组织财富,这一点与“8.5 改进”中的要求相关。
 
4   结论
 
  使用CMMI进行管理的企业在产品实现阶段能够大体满足ISO9000质量管理体系的要求,在不同的实施记录中能够找寻到相对应的标准条款。审核员在对此类IT企业进行ISO9000审核时应该针对其成熟度模型中的不同过程给予关注,同时结合标准要求中的条款进行有效性审核。 
 
5   参考文献
 
  [1] SEI,MMI-DEV,V1.3"
  [2] 中华人民共和国国家标准,“GB/T 19001—2008/ ISO 9001:2008”