CMMI:(Capability Maturity Model Integration)即软件能力成熟度模型,由美国国防部与卡内基-梅隆大学下的软件工程研究中心以及美国国防工业协会共同开发和研制,是目前世界上公认的针对IT工程管理能力认定的唯一国际标准,旨在为企业推动IT业务过程改进提供完善的理论模型和最佳实践,推动企业IT业务标准化、规范化和国际化。
CMMI
初次评估,一般从3级开始,1级、2级相对来说门槛比较低,对于企业方面,没有特别大的提升,此外在各地区的招投标、政府补贴政策也都是从CMMI3级开始。
如果企业已经通过CMMI3级评估,就可以根据公司的业务需求来选择升级CMMI4级或者是5级,3级是可以直接升5级的,因为4级跟5级在费用和难度上相差并没有太大,所以通过CMMI3级的企业通常会直接升级CMMI5级,当然企业觉得4级更合适的话也是没有问题的。
1.2 CMMI评估内容确定评估计划
确定评估等级后,领汇认证中心根据企业的实际情况和用证计划,帮助其确定最佳的评估时间,全程规划企业的人力和精力投入成本,确保项目在高效运作的同时,不影响企业原本的业务安排。
准备工作
1、确定CMMI评估参与的人员和项目
CMMI3级要求参与评估人员15人以上(至少包括10名技术人员+5名支持人员),5级要求要求35人以上(至少包括20名技术人员+15名支持人员)。CMMI3级评估需要提供2-4个成熟的项目文件,5级需要4-6个,根据CMMI模型要求,领汇认证中心会协助企业共同完成项目材料的整理。
2、培训工作
在整理项目材料之前,我们会按照角色进行1对1培训,使参与评估人员更清楚的明白CMMI的核心内容和价值,以便在材料整理期间和受访谈期间能更好的遵循CMMI模型。
3、模拟访谈
在正式评估之前,我们会对所有参与CMMI评估人员进行模拟访谈,以此来了解企业运行CMMI的实际情况,针对比较薄弱的过程,进行二次培训,直到企业条件达到CMMI正式评估的要求。
正式评估
CMMI3级正式评估周期(5-6天),5级(7-8天),下面我们按CMMI5级评估周期举例:
第1天:召开首次会议,评估小组进行项目文档审查
第2-5天:评估师对相关人员进行访谈,并由受访谈人员进行项目文档演示
第6天:评估小组再次对项目文档进行审查
第7天:召开初步发现会议
第8天:召开最终发现会议
第五步:官方公示
评估完成后,主任评估师整理打包好所有评估的工作产出,通过评估系统提交给CMMI研究院官方审查,一般4-8周。
CMMI3级认证需企业具备的条件
1、 CMMI是针对软件企业的能力成熟度模型标准;
2、 企业要有专门的人员进行体系创建,体系监督执行,过程分析和改进;
3、 在评估前要至少完成体系创建、完成,并持续运行半年以上。
1.3 CMMI3认证CMMI3级认证的18个过程域
过程管理
1、 OPD:组织级过程定义;
2、 OPF:组织级过程焦点;
3、 OT:组织培训管理;
项目管理
1、 PP:项目计划;
2、 PMC:项目监督与控制;
3、 SAM:供应商协议管理;
4、 IPM:集成项目管理;
5、 RSKM:风险管理。
工程管理
1、 RD:需求开发;
2、 REQM:需求管理;
3、 TS:技术解决方案;
4、 PI:产品集成;
5、 VER:验证;
6、 VAL:确认。
支持管理
1、 CM:配置管理;
2、 PPQA:过程和产品质量保证;
3、 MA:测量与分析;
4、 DAR:决策分析与解决。
2.1 SPP模型“精简并行过程”(Simplified Parallel Process,SPP)是基于CMMI以及软件工程和项目管理知识而创作的一种“软件过程改进方法和规范”,它由众多的过程规范和文档模板组成。SPP主要用于指导国内IT企业持续地改进其软件过程能力。
此处“精简并行”的含义是:
(1)对CMMI 3级以内各过程域的内容和要求作了“精简”处理。
(2)在产品生命周期之内,项目管理过程、项目研发过程和机构支撑过程“并行”开展。
本章是SPP的综述文章,它对SPP的思想方法以及企业的软件过程改进政策作了全面介绍。阅读本章有助于读者更好地理解和应用SPP的所有过程规范和文档模板。
建议用户(企业)根据自身情况(如发展战略、研发实力等)适当地修改SPP,然后推广使用。
SPP模型把产品生命周期划分为6个阶段,分别为:
产品概念阶段,记为PH0。
产品定义阶段,记为PH1。
产品开发阶段,记为PH2。
产品测试阶段,记为PH3。
用户验收阶段,记为PH4。
产品维护阶段,记为PH5。
在SPP模型中,软件项目的过程有三大类:项目管理过程、项目研发过程和机构支持过程。上述三类过程可以细分为19个主要过程域,分布在PH0到PH5的各个阶段。
项目管理过程包含6个过程域,分别为:
立项管理
结项管理
项目规划
项目监控
风险管理
需求管理
项目研发过程包含8个过程域,分别为:
需求开发
技术预研
系统设计
实现与测试
系统测试
Beta测试
客户验收
技术评审
机构支撑过程包含5个过程域,分别为:
配置管理
质量保证
培训管理
外包与采购管理
服务与维护
SPP模型如图2-1所示。SPP模型的主要特征和优点有:
一、直观的过程模型
SPP模型将项目管理、项目研发、机构支撑所包含的工作划分为相对独立的三类过程,各个过程域之间的关系直观明了。这样,机构领导、项目经理、开发人员、测试人员、质量保证人员、外包与采购管理人员等人根据SPP模型,很容易知道自己“应该在什么时候、按照什么规范做什么事情”。所以SPP模型有助于使机构内的各个职能单位有条不紊地开展工作。
二、容易裁剪与扩充
SPP模型的三类过程贯穿了产品的整个生命周期,19个最常见的过程域都合理地安排在产品生命周期中的某些阶段。用户可以根据自己产品的特征,适当地裁剪或扩充SPP的过程域,很容易制定出最适合于本产品的过程模型。
图2-1 SPP模型
SPP 所有19个过程域的目的如表2-1所示。
项目管理过程域 |
目的 |
立项管理 |
采纳符合机构最大利益的立项建议,通过立项管理使该建议成为正式的项目。杜绝不符合机构最大利益的立项建议被采纳,避免浪费机构的资源、资金、时间等。 |
结项管理 |
在项目开发工作结束后,对项目的有形资产和无形资产进行清算、对项目进行综合评估以及总结经验教训等。 |
项目规划 |
为项目的研发和管理工作制定合理的行动纲领(即项目计划),以便所有相关人员按照该计划有条不紊地开展工作。 |
项目监控 |
周期性地跟踪项目计划的各种参数如进度、工作量、费用、资源等,不断地了解项目的进展情况,以便当项目实际进展显著偏离计划时能够及时采取纠正措施。 |
风险管理 |
在风险产生危害之前识别它们,从而有计划地消除或削弱风险。 |
需求管理 |
在客户与开发方之间建立对需求的共同理解,维护需求与其它工作成果的一致性,并控制需求的变更。 |
项目研发过程域 |
目的 |
需求开发 |
通过调查与分析,获取用户需求并定义产品需求。 |
技术预研 |
在立项之后到开发工作完成之前的时间内,对项目将采用的关键技术提前学习和研究,尽可能早地发现并解决开发过程中将会遇到的技术障碍。 |
系统设计 |
设计软件系统的体系结构、用户界面、数据库、模块等,从而在需求与代码之间建立桥梁,指导开发人员去实现能满足用户需求的软件产品。 |
实现与测试 |
依据系统设计文档,编写并测试整个系统的代码。在SPP中,实现与测试是“编程、代码审查、单元测试、集成测试、缺陷管理与改错”的综合表述。 |
系统测试 |
对最终系统进行全面的测试,确保最终系统满足产品需求并且遵循系统设计。 |
Beta测试 |
在产品正式销售之前,开发方将产品交付给一些潜在的客户免费试用,请他们对产品进行测试,并获取他们对产品的建议。 |
客户验收 |
客户依据合同对产品进行审查和测试,确保产品满足客户需求。 |
技术评审 |
尽早地发现工作成果中的缺陷,并帮助开发人员及时消除缺陷,从而有效地提高产品的质量。 |
机构支撑过程域 |
目的 |
配置管理 |
通过执行版本控制、变更控制等规程,以及使用配置管理软件来保证所有配置项的完整性和可跟踪性。配置管理是对工作成果的一种有效保护。 |
质量保证 |
提供一种有效的人员组织形式和管理方法,通过客观地检查和监控“过程质量”与“产品质量”,从而实现持续地改进质量。 |
外包与采购管理 |
选择合适的承包商(外包)和供应商(采购),并依据合同进行有效的管理。 |
培训管理 |
根据机构(或项目)的需求来制定培训计划,并监督该计划的实施,确保培训取得预期效果。 |
服务与维护 |
是指产品销售之后的客户服务和产品维护,其宗旨是提高客户对产品以及对开发方的满意度。 |
表2-1 SPP过程域的目的
2.3 SPP与CMMI的关系CMMI是SPP的主要参考标准,但是SPP并不是对CMMI进行简化处理后的结果。两者都是用于指导软件过程改进的方法论,CMMI主要论述“应当做什么才能使软件过程能力达到CMMI某种级别”,而SPP则论述“应当怎样做才能使软件过程能力达到CMMI 3级水平”。
SPP过程域和CMMI 3级过程域的对应关系如表2-2所示。
SPP的19个过程域 |
CMMI 3级以内的18个过程域 |
|
项目 管理 过程 |
立项管理 |
CMMI 3级,Decision Analysis and Resolution |
结项管理 | ||
项目规划 |
CMMI 2级,Project Planning |
|
项目监控 |
CMMI 2级,Project Monitoring and Control CMMI 2级,Measurement and Analysis |
|
风险管理 |
CMMI 3级,Risk Management |
|
需求管理 |
CMMI 2级,Requirements Management |
|
项目 研发 过程 |
需求开发 |
CMMI 3级,Requirements Development |
技术预研 系统设计 实现与测试 |
CMMI 3级,Technical Solution CMMI 3级,Product Integration |
|
系统测试 Beta测试 用户验收 技术评审 |
CMMI 3级,Verification CMMI 3级,Validation |
|
机构 支撑 过程 |
配置管理 |
CMMI 2级,Configuration Management |
质量保证 |
CMMI 2级,Process and Product Quality Assurance |
|
外包与采购管理 |
CMMI 2级,Supplier Agreement Management |
|
培训管理 |
CMMI 3级,Organizational Training |
|
服务与维护 |
||
SPP其它成果: SPP综述文章 SPP培训教材 基于Web的项目管理工具 |
CMM 3级,Organization Process Focus CMM 3级,Organization Process Definition CMM 3级,Integrated Project Management |
表2-2 SPP过程域和CMMI 3级过程域的对应关系
2.4 SPP文档结构与规范细分SPP的文档结构如图2-2所示,SPP包含19个过程域、40余个规程、近60个文档模板。SPP的规范细分如表2-3所示。
图2-2 SPP文档结构
项目管理过程域 |
主要规程 |
文档模板 |
立项管理 SPP-PROC-PIM |
立项建议 立项评审 项目筹备 |
《立项建议书》 《立项调查报告书》 《立项可行性分析报告》 《立项评审报告》 |
结项管理 SPP-PROC-PCM |
结项管理 |
《结项申请书》 《结项评审报告》 |
项目规划 SPP-PROC-PP |
项目估计 制定项目计划 审批项目计划 项目计划变更控制 |
《项目估计表》 《项目计划》 《项目计划变更控制报告》 |
项目监控 SPP-PROC-PMC |
项目计划跟踪 偏差控制 项目进展总结 |
《项目监控数据表》 《项目偏差控制报告》 《项目进展报告》 |
风险管理 SPP-PROC-PM |
风险管理 |
《风险检查表》 《风险管理报告》 |
需求管理 SPP-PROC-RM |
需求确认 需求跟踪 需求变更控制 |
《需求跟踪报告》 《需求变更控制报告》 |
项目研发过程域 |
主要规程 |
文档模板 |
需求开发 SPP-PROC-RD |
需求调查 需求分析 需求定义 |
《用户需求说明书》 《产品需求规格说明书》 |
技术预研 SPP-PROC-TPR |
技术预研 |
《技术预研计划》 《技术预研报告》 |
系统设计 SPP-PROC-SD |
体系结构设计 用户界面设计 数据库设计 模块设计 |
《体系结构设计报告》 《用户界面设计报告》 《数据库设计报告》 《模块设计报告》 |
实现与测试 SPP-PROC-IT |
实现与测试 |
《实现与测试计划》 《编程文档》 |
系统测试 SPP-PROC-ST |
系统测试 |
《系统测试计划》 《测试用例》 《测试报告》 |
Beta测试 SPP-PROC-BETA |
Beta测试 |
《Beta测试协议》 《Beta测试报告》 |
客户验收 SPP-PROC-CA |
客户验收 |
《客户验收计划》 《客户验收报告》 |
技术评审 SPP-PROC-TR |
正式技术评审 非正式技术评审 |
《技术评审计划》 《技术评审报告》 《技术评审检查表》 |
机构支撑过程域 |
规程与关键活动 |
文档模板 |
质量保证 SPP-PROC-QA |
制定质量保证计划 过程与产品质量检查 问题跟踪与质量改进 |
《质量保证计划》 《质量保证检查表》 《质量保证报告》 《质量问题跟踪表》 |
配置管理 SPP-PROC-CM |
制定配置管理计划 配置库管理 版本控制 变更控制 |
《配置管理计划》 《配置库管理报告》 《配置项变更控制报告》 |
外包与采购管理 SPP-PROC-OPM |
外包管理 |
《外包开发竞标邀请书》 《承包商评估报告》 《外包开发合同》 《外包开发过程监控报告》 《外包开发成果验收报告》 |
采购管理 |
《采购竞标邀请书》 《供应商评估报告》 《采购合同》 《采购物品验收报告》 |
|
培训管理 SPP-PROC-TM |
机构培训管理 项目培训管理 |
《培训计划》 《培训评估报告》 |
服务与维护 SPP-PROC-SM |
客户服务 |
《客户服务计划》 《客户服务报告》 |
产品维护 |
《产品维护计划》 《产品维护报告》 |
表2-3 SPP规范细分
2.5 SPP角色与职责表SPP的主要角色及其职责如表2-4所示(详见各个过程域对角色与职责的描述)。企业在应用SPP时,可以将SPP的各个角色映射到企业原有的岗位上,也可以依据SPP角色建立新的岗位。一个人可以被赋予多个角色,视具体情况而定。
常设角色 |
职责简述 |
|
机构过程改进角色 |
软件工程过程组 (SEPG) |
(1)制定适合于本机构的过程规范。 (2)在机构范围内推广该规范(如培训、考核),评估机构过程能力等。 |
质量保证小组 (QAG) |
(1)监督规范的实施,确保所有项目以及相关部门准照规范开展工作。 (2)分析并解决机构内存在的共性质量问题,协组SEPG完善规范。 |
|
项目 管理 过程角色 |
机构领导 |
(1)是机构内所有项目的主管,对立项管理和结项管理有最终决策权。 (2)监督项目经理的工作,审批项目经理的各种申请。 |
项目经理 |
(1)向机构领导汇报工作。 (2)是项目规划、项目监控、风险管理和需求管理过程域的负责人。 (3)监督项目成员的工作,审批项目成员的各种申请。 |
|
项目研发 过程 角色 |
需求分析员 |
调查、分析并定义需求,撰写相应的需求文档,尽最大努力使需求文档能够正确无误地反映用户的真实意愿。 |
系统设计师 |
根据需求文档设计软件系统的体系结构、用户界面、数据库、模块等,并撰写相应的设计文档。 |
|
程序员 |
(1)根据系统设计文档,编写软件系统的代码。 (2)随时测试和检查自己的代码,及时消除代码中的缺陷。 |
|
测试员 |
从事单元测试、集成测试和系统测试,主要工作包括制定测试计划、设计测试用例、执行测试和撰写测试报告。 |
|
机构 支撑 过程 角色 |
配置管理员 |
(1)为项目制定《配置管理计划》。 (2)创建并维护配置库,如分配权限、清除垃圾文件、备份配置库等。 |
质量保证员 (即QAG成员) |
(1)为项目制定《质量保证计划》。 (2)周期性的开展“过程与产品质量检查”。 (3)跟踪质量问题,给出质量改进措施。 |
|
外包管理员 |
(1)挑选最合适的承包商,签订外包开发合同。 (2)监控外包开发过程,验收外包开发成果。 |
|
采购管理员 |
(1)挑选最合适的供应商,签订采购合同。 (2)验收采购物品。 |
|
培训管理员 |
制定机构(或项目)的《培训计划》,监督该计划的实施,撰写《培训评估报告》。 |
|
客户服务人员 |
为客户提供与产品相关的服务(如技术咨询),快速响应客户的要求,给客户一个满意的解答。 |
|
产品维护人员 |
(1)纠错性维护:及时解决用户遇到的技术故障和消除产品中的缺陷。 (2)完善性维护:在资源允许的情况下,不断改善产品功能与质量。 |
|
临时角色 |
职责说明 |
|
立项建议小组 |
(1)开展立项调查、产品构思和可行性分析,撰写相应文档。 (2)申请立项,并在立项评审会议上答辩。 |
|
立项评审委员会 |
由机构领导、各级经理、市场人员、技术专家、财务人员等组成,委员会按少数服从多数原则投票决定是否同意立项。 |
|
结项评审委员会 |
对项目的有形资产和无形资产进行清算,对项目进行综合评估,总结经验教训等。结项委员会的人员组成与立项评审委员会的类似。 |
|
技术评审委员会 |
对工作成果进行正式技术评审,尽早地发现工作成果中的缺陷,并帮助开发人员及时消除缺陷。该委员会由项目内外的技术专家组成。 |
|
配置控制委员会 |
对配置管理各项活动拥有决策权(例如审批计划,审批变更请求等)。 |
表2-4 SPP的角色与职责简表
2.6 机构软件过程改进的政策2.6.1 目标
持续改进机构的软件过程能力,不断地提高产品质量、提高生产率并且降低开发成本。
在一年之内,初步建立适合于本机构的软件过程规范,并使机构内的所有项目和相关部门执行该规范。本年度机构内部对过程能力的评估成绩达到:合格率为100%,良好率为50%以上,优秀率为25%以上。
在两年之内,完善适合于本机构的软件过程规范,并使机构内的所有项目和相关部门执行改进后的规范。第二年度机构内部对过程能力的评估成绩达到:合格率为100%,良好率为75%以上,优秀率为50%以上。或者通过CMMI 3级评估。
补充说明:评估成绩在100~85之间为“优秀”,85~70之间为“良好”,70~60之间为“合格”,分数低于60为“不合格”。
2.6.2 机构领导的支持
机构领导批准用于软件过程改进的必要经费,例如支付咨询费,购买相关软件工具等。
机构领导组建SEPG和QAG,专门从事软件过程改进工作。SEPG的主要职责是建立适合于机构的过程规范,QAG的主要职责是监督该规范的实施。建议让SEPG和QAG的大部分人员重叠,这些人既是SEPG成员又是质量保证员,扮演两种角色。这样不仅节约人力资源,并且提高了工作效果(由制定规范的人去监督规范的实施最合适不过)。一般地,SEPG成员和质量保证员共占机构总人数的5%左右。
机构领导不仅要口头支持,还要亲自参与软件过程改进的实践。例如参加培训和考试,准照过程规范执行立项管理和结项管理等。
2.6.3 质量管理的政策
质量管理口号:“在开发过程之中内建质量而非修补质量”。
质量管理有种基本措施:“质量保证”、“技术评审”和“测试”。
质量保证
机构的质量保证员周期性地检查项目成员的“工作过程以及工作成果”是否符合既定的规范,来监控和改进“过程质量以及产品质量”。
机构的质量保证员独立于任何项目,并赋予他一定的权利,对质量不合格的工作成果作出处理。
二、技术评审
在工作成果刚产生之际,对其进行技术评审(分正式或非正式两种),目的是尽早地发现工作成果中的缺陷,并帮助开发人员及时消除缺陷,从而提高产品的质量。
如果时间允许的话,应当尽可能多地对产品的重要工作成果进行技术评审。技术评审活动由项目开发团队组织。
三、测试
测试是指通过运行测试用例(test case)来找出软件中的缺陷。测试与技术评审的主要区别是前者要运行软件而后者不必运行软件。
一般地,产品开发过程中有四个测试阶段:单元测试、集成测试、系统测试和验收测试(或Beta测试)。其中单元测试和集成测试可以由项目开发团队组织。系统测试阶段必须有项目外的人员参与,以保证系统测试的客观性。验收测试(或Beta测试)由客户组织。如果有条件的话,建议机构成立专门的测试小组从事单元测试、集成测试和系统测试工作。
2.6.4 软件工程过程小组的政策
机构领导任命一位熟悉软件工程、项目管理、CMM/CMMI并且有丰富工作经验的人担任SEPG的负责人。在机构领导的许可下,该负责人组建SEPG(成员可以是全职的也可以是兼职的)。
第一年度的任务与目标
SEPG约用2~3个月的时间,了解机构过程能力的现状,通过裁剪或扩充SPP,初步建立适合于本机构的过程规范。
SEPG约用1~2个月的时间,对机构全员进行培训和考试,确保全员了解本规范,并懂得如何应用。
之后SEPG协助QAG监督本规范在所有项目和相关部门的实施,并不断收集员工们反映的过程改进问题和建议,逐步改进过程规范(允许有小幅度的升级)。
本年度最后一个月,SEPG对机构的过程能力进行评估,并向领导和员工们通报“本年度过程改进工作报告”。
在SEPG、QAG和全体项目人员的共同努力下,争取使本年度过程能力的评估成绩达到:合格率为100%,良好率为50%以上,优秀率为25%以上。
第二年度的任务与目标
根据上年度的过程能力评估状况,以及员工们反映的问题和建议,SEPG查找机构过程能力的薄弱环节,研究出解决措施。SEPG用1~2个月的时间,建立比较完备的过程规范新版本(允许有大幅度的升级)。如果机构资金充足的话,可以邀请CMMI评估师作正式评估前的指导。
SEPG约用1~2个月的时间,就规范的更新内容对机构全员进行培训和考试,确保全员了解新版本规范,并懂得如何应用。
之后SEPG协助QAG监督本规范在所有项目和相关部门的实施,并不断地完善过程规范。
本年度最后一个月,SEPG对机构的过程能力进行评估,并向领导和员工们通报“本年度过程改进工作报告”。如果机构资金充足的话,可以邀请CMMI评估师对机构过程能力进行正式评估。
在SEPG、QAG和全体项目人员的共同努力下,争取使本年度过程能力的评估成绩达到:合格率为100%,良好率为75%以上,优秀率为50%以上。或者通过CMMI 3级评估。
2.6.5 质量保证小组的政策
机构领导任命一位熟悉过程规范并且有丰富的质量管理经验的人担任QAG的负责人(或称为质量经理)。在机构领导的许可下,该负责人组建QAG(成员可以是全职的也可以是兼职的)。
QAG在行政上独立于任何项目。这种独立性有助于质量保证员客观地检查和监控“过程以及产品的质量”。QAG准照SEPG制定的“质量保证规范”开展工作。
机构领导赋予QAG一定的权利,可以对质量不合格的工作成果做出处理。这种权利使得QAG的工作不会被轻视,并有助于加强全员的质量意识。对于QAG与项目之间出现的难以调和的争议,由机构领导处理。
2.6.7 项目团队的政策
项目中的任何管理人员、开发人员、测试人员等,必须学习与本职工作相关的过程规范,每个人都必须明白自己“应当在什么时候依据什么规范做什么事情”。项目经理应当树立榜样,并且督促项目成员们按规范做事。
允许项目经理根据本项目的特征,在SEPG和QAG的指导下,适当地裁剪或扩充机构的过程规范,从而快速建立本项目的过程规范。这项工作应当在“项目规划过程域”中完成,并在《项目计划》中体现出来。
如果项目对机构过程规范的裁剪幅度比较大,遭到QAG的反对,如果双方不能达成共识,则由机构领导处理该争议。
SEPG对项目过程能力的评估成绩将作为评定项目人员工作业绩的重要因素,具体比重由机构领导决定,建议占30%以上的比重。
2.7 SPP裁剪与扩充的指导方针不要迷信或者死搬硬套他人推崇的过程标准和规范(例如CMM/CMMI, ISO, RUP,SPP等等)。SEPG一定要根据机构的实际情况(如发展战略、研发实力等)来制定机构过程规范,要充分考虑过程改进的成本和效益。能够以比较低的代价有效地改进机构过程能力的规范才是好规范。
SEPG要有计划地、逐步地完善机构的过程规范,切忌盲目追求“大而全”,否则“欲速则不达”。软件过程改进不是一次性买卖,不能靠“革命”,只能靠持续地改良,不进则退。
SEPG应当具备一定的软件工程和项目管理知识,再通读CMMI和SPP(或接受培训),才能结合机构实际情况裁剪或扩充SPP,形成机构自己的过程规范。
SPP对其19个过程域的论述已经比较充分,一般而言,SEPG裁剪或扩充这19个过程域不会遇到太大的困难。如果机构的业务包括硬件开发,那么SEPG应当制定硬件开发过程规范(参考SPP的格式),并努力使软件、硬件开发过程保持一致性。
显然,SPP并没有覆盖机构的全部职能,它仅仅局限于软件项目的研发与管理领域。SEPG应当协助有关人员制定人力资源管理、财务管理、行政管理、市场管理、生产制造等领域的过程规范。上述每个领域的过程改进工作都是非常重要的。
SEPG要认真撰写规范,力求使规范中的文字和图表没有歧义,并且简单易懂。