李 芳,王 志,龙珍珠,钱立宇,储刘方
(1.安徽工业大学 工程实践与创新教育中心,安徽 马鞍山 243032;2.安徽工业大学 机械学院,安徽 马鞍山 243032)
CMMI在中小企业实施过程的应用研究
李芳1,王志2,龙珍珠1,钱立宇2,储刘方2
(1.安徽工业大学工程实践与创新教育中心,安徽马鞍山243032;2.安徽工业大学机械学院,安徽马鞍山243032)
[摘要]能力成熟度模型集成(CMMI)是广大中小软件企业用以技术改进和管理过程改善的质量管理体系,在结合实际的基础上,文章围绕CMMI3在一公司的实施情况进行研究,分析其经验,以期使其更好地为其他中小企业服务。
[关键词]能力成熟度模型集成;实施方法;中小企业
[DOI]10.13939/j.cnki.zgsc.2016.02.082
目前,能力成熟度模型集成(CMMI)已经被广泛用于IT企业研发流程改善的参考模型,很大程度地降低了软件研发的成本和改善了软件产品的开发过程。根据信息产业部提供的统计数据,我国中小企业(200人以下)占据了总量的93%,且均处于CMMI的初始级阶段,其技术和管理过程均存在不同程度的问题。国内越来越多的企业开始实施CMMI,用以指导企业的技术改进和管理过程改善。本文结合CMMI3在一公司的应用,阐述CMMI的实施方法和策略。
1CMMI概述
CMMI(Capability Maturity Model Integration)即能力成熟度模型集成。是继CMM发布以后,美国卡内基—梅隆大学软件工程研究所于2000年8月11日发布的综合模型,2001年12月颁布CMMI 1.1版本,2006年又推出了CMMI 1.2版本。
CMMI相对CMM而言,是把各种能力成熟度模型集成到一个框架中去,其源模型包含如下三个:一是CMM 2.0版本(C稿);二是电子行业协会临时标准(EIA/IS)731;三是集成产品开发能力成熟度模型(IPD-CMM)v0.98。通过这个框架建立一种从集成产品与过程发展的角度出发、包含健全的系统开发原则的过程改进和对软件采购方法的改革。CMMI共有五个等级,分别标志着软件企业能力成熟度的五个层次。
(1)初始级:没有经过CMMI的指导,并用以执行开发过程改进的企业,其产品开发过程被视为初始级。其软件开发过程混乱、无序,对过程几乎没有定义,成功取决于个人努力;管理是反应式的。
(2)已管理级:建立了开发项目的基本管理过程,并定义其明确目标,用以项目经费和进度等的跟踪管理。其在软件开发的过程中执行了适当的监控措施,能重复早先类似应用项目取得的成功经验论文格式。
(3)已定义级:已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。企业可以从其运作过的历史项目之中,提取出一套行之有效的项目开发规范,所有项目均可使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。
(4)量化管理级:已经能通过采取一系列量化的指标作为对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理过程有一个做出结论的客观依据,管理能够在定量的范围内预测性能。
(5)优化管理级:企业已经具备通过执行一定的过程规范,可通过预防缺陷、技术创新和改进过程等多种方式对软件过程不断地进行改进,并且通过过程的量化反馈和先进的新思想、新技术不断改善企业软件过程能力。企业的软件过程能力可描述为持续改进的。[1]
2CMMI模型的结构框架及模型范围
SEI于2010年10月28日发布了CMMI模型的新版本CMMI®for Development V 1.3,自2011年11月30日起新的评估都要采用V 1.3模型,评估有效期为3年。新版本V 1.3模型取消了软件工程、硬件工程、系统工程等工程学科的单独描述,对成熟度4级和5级的过程域做了详细描述,并将原有的组织创新和部署(OPD)改为组织绩效管理。在CM、PI、PP、PPQA、RD、REQM、RSKM、TS和VER增加敏捷方法的描述。并在OPD增加SP 1.7建立团队的规则和指南,在IPM增加SP 1.6建立团队。
CMMI模型的全部描述就是以过程域作为基本构件而展开的,针对不同的过程域分别规定了应达到什么目标(Goals)和为了达到这些目标应该做些什么“实践”(Practice),但是模型中并不规定这些实践由谁做,如何做等。每个等级都被分解为若干关键过程域,特殊目标和特殊实践,通用目标、通用实践和共同特性。[1]
3CMMI在中小企业中的实施背景及范围
3.1公司实施CMMI 3背景简介
该公司主要承担信息、通信、自动化等领域的软件开发与研制,与国内外多家知名企业建立了联合设计伙伴关系。
目前该公司存在的主要问题有:岗位职责不明确;部分工作流程不清晰;设计过程、输出等不规范。
目标:持续改进过程能力,提高项目开发及管理水平,提升员工的工程化研发能力。
3.2CMMI 3组织实施范围
本次CMMI实施涉及公司产品部、研发中心、质量管理部和相关管理部门,约150人。主要覆盖其开发产品领域。
首先确定模型的过程机构和人员,其中项目和人员范围如图1所示。
图1 项目和人员范围
发起人:确定CMMI实施目标和过程改进目标,提供必要的资源,参与项目的重大决策,关注CMMI实施过程中的问题;从最上层开始推动SPI;
中层经理:负责职能范围内的资源保障,过程的贯彻执行以及工作审查;
EPG(过程改进):负责CMMI ML3体系的建立和完善工作,推进CMMI的实施;
QA(质量保证):对项目的各个过程提供客观的评价,并跟踪问题的解决;
培训组织人员:根据组织目标,组织开展培训工作;
采购外包:负责各项目的软硬件采购,项目外包工作;
项目经理:负责按照合同及公司体系文件要求,管理项目,负责项目的验收工作;
财务公司需要对成员企业账户进行统一管理,收集和汇总各个成员企业的信息,监控成员企业的资金收支情况等,实现信息数据共享。在经营过程中,财务公司需要构建信息数据库,对成员企业账户进行分类,并设置信息检索页面,方面查询成员企业的全部资金账户信息。同时,要对信息数据库进行定期更新,监控资金信息,注意账户信息的变更。
需求人员:负责需求的调研、分析及定义,根据需求并管理需求的变更;
设计人员:负责产品的设计工作,并提供集成方案;
开发人员:负责产品开发和产品集成工作;
测试人员:负责产品的测试工作;
配置管理:负责项目及组织过程及组织过程资产的配置管理工作。
考虑其功能不同,各角色的实施过程域分配如下表所示。
各角色的实施过程域
4CMMI 3在中小企业中的实施过程
达到CMMI ML2级需实施的过程域如下:CMMI ML2级的过程域:需求管理、项目策划、项目监督和控制、测量和分析、供方协定管理、过程和产品质量保证、配置管理7个过程域;
公司于2013年1月启动开始引入CMMI标准改进其技术水平和管理过程,实施流程分为四个阶段:
图2 实施流程
第一阶段:策划阶段。此阶段为整个CMMI 实施做准备,主要工作为差距分析,CMMI基础培训,并根据差距分析结果制订详细的过程改进行动计划。
第二阶段:体系建立阶段。此阶段的主要工作是:①针对各个PA开展培训,详细解释标准要求,介绍最佳实践,并指导如何结合公司实际情况实施。②指导文件编写,评审文件。采用培训、研讨、文件编写、评审交叉进行的方式。
结合企业过程现状进行CMMI过程域培训,通过举例、案例分析等方式,让企业的EPG掌握过程文件定义技巧,结合企业实际情况有针对性的定义组织的研发过程,并确定过程产出物(如需求报告)。
第三阶段:体系实施阶段。包括实施指导、实施持续支持、实施状态评审等工作。此阶段主要是指导如何在公司内实施CMMI,定期评审实施情况,并解决发现问题。
选择代表公司核心业务的项目或者典型项目进行试点,通过试点来完善过程文件,从而为企业全面推广过程文件打下基础。
第四阶段:评估阶段。此阶段的主要工作有准备性检查(即预评估)、预评估问题解决,以及最终评估。验证组织推广的结果,识别企业尚存缺陷并制定再次改善方案,准备充分,以便企业能够更好地进行正式SCAMPI评估。
SCAM正式评估由SEI授权的主任评估师领导,采用SCAMPI (Standard CMMI Appraisal Method for Process Improvement)评估方法,对企业的能力成熟度进行正式的评估,颁发证书,通过SEI网站向全球发布企业信息。
通过建立过程改进体系后,确认推进实施CMMI 3后的过程改进方案:
第一,加强需求开发和管理工作;第二,(下转P89)