APP下载

面向中小软件企业的过程改进模型6SBC研究

2011-07-26马小龙刘家才唐卫宁

自动化仪表 2011年12期
关键词:六西格玛文档阶段

马小龙 刘家才 唐卫宁

(湖州师范学院商学院,浙江 湖州 313000)

0 引言

软件产品的质量是决定一个软件企业能否成功的关键因素,而软件产品的质量是由开发软件的过程质量所决定的。因此,对软件企业来说,为了在激烈的软件市场竞争中更好地生存和发展,必须实施软件过程改进[1]。可以预见的是,凡是不能适应软件过程改进这种理念的软件企业,注定在未来数年内被软件行业的竞争所淘汰。

对于软件企业而言,无论规模的大小,都必须要实施软件过程改进[2]。而实际上,中小软件企业要实施完整的、规模巨大的软件过程改进工作非常艰难,如中小企业实施能力成熟度模型集成(capability maturity model integration,CMMI)。目前的研究集中在适用于大型软件企业要求的CMMI和经过剪裁的面向中小软件企业的CMMI。但是中小软件企业实施剪裁的CMMI也不容易,这是因为实施CMMI需要有一批实施专家,这对于中小软件企业来说是一笔不小的成本。

本文通过提出一种基于CMMI和6 Sigma的软件过程改进框架来加速中小软件企业实施CMMI,以期望中小软件企业在较短的时间内以较低的成本达到CMMI2或者CMMI3等级。

1 相关理论

1.1 CMMI

CMMI是由美国国防部、卡内基-梅隆大学的软件工程学院和美国国防工业协会共同开发和研制的新一代成熟度模型[3]。CMMI分为阶段式和连续式两种表示方法。阶段式表示方法提供了预定义的路线图,路线图被划分为“成熟等级”的一系列阶段。每个成熟度等级都有一组过程域,每个过程域用满足其目标的实践来描述。而连续式模型没有组织级成熟度相关的分散阶段,允许软件企业按照企业的目标有节奏地实施不同的过程改进工作。

CMMI分为五个等级,25个过程域。每个过程域都有一些特殊目标和通用目标,这些目标通过相应的特殊实践和通用实践来实现。

虽然CMMI的具体实施可以有效地帮助软件企业进行过程管理,但仍存在一些不足,其主要的不足之处在于模型只说明了要做什么,而没有说明怎么做,企业对解决具体质量问题缺乏明确的方法和工具。因此,软件组织应寻找一种实用的过程质量改进工具,从而使得组织内的过程达到CMMI模型所要求的各项目标。

1.2 六西格玛

六西格玛(6 Sigma)管理法是一种以客户为导向的、持续改进的管理模式,其特点是以数据为基础,追求完美的质量管理。六西格玛管理法是对全面质量管理的继承和发展,其核心是将所有的工作作为一种流程,采用量化的方法分析流程中影响质量的因素,并找出最关键的因素加以改进,从而达到更高的客户满意度。六西格玛管理法的实施主要采用所谓的DMAIC(DMAIC是指由定义D(define)、测量M(measure)、分析A(analyze)、改进 I(improve)、控制 C(control)五个阶段构成的过程)改进方法模型对组织的关键流程进行改进[4]。

在DMAIC过程中,定义即确定客户对于质量认知的首要因素和过程;测量即测量核心业务流程运作的有效性;分析即分析收集的数据和流程图,确定造成缺陷的关键因素及与竞争对手的差距所在;改进即基于分析,针对关键因素确立最佳改进方案;控制即主要对关键因素进行长期控制并采取措施以维持改进结果,进而达到质量管理的新水准。

1.3 CMMI和六西格玛关系

六西格玛作为一种过程改进工具,用来帮助企业改进制造过程、降低缺陷、提高产品质量和企业运营效率并缩短周期。而实施CMMI的目的,在于提高软件企业的开发效率和软件产品的质量,其主要用于软件过程的改进,促进软件企业能力成熟度的提高。因此,六西格玛和CMMI在改进目的上是类似的,都是用来提高企业的整体质量管理水平,只是CMMI注重的是流程的规范化和体系化,而六西格玛则为解决具体软件质量问题提供了改进方法体系。二者相结合,可以相互促进,产生更加有效的改进结果[5]。

2 剪裁的CMMI框架

CMMI不需要软件企业完成大量的文档。实施者的职责之一就是将文档减少到合理的程度。基于相同的原则,本文仔细研究了CMMI2和CMMI3的过程域,结合中小软件企业的现状,对其作出适当的调整。

剪裁的CMMI框架根据增量迭代模型的不同阶段,将软件开发分为项目开发活动和项目管理活动两部分,使项目管理和软件开发紧密结合[6]。项目开发活动归入需求分析、系统设计、编码和单元测试、综合测试和维护五个过程域;项目管理活动按不同性质被纳入需求管理、软件项目计划管理、软件项目跟踪和监控、软件质量保证和软件配置管理五个过程域。

2.1 项目开发过程

在剪裁的CMMI框架中,项目开发过程被划分为以下五个过程域。

①需求分析过程域,对用户进行需求调研,获取用户需求并定义产品需求。

②系统设计过程域,设计开发软件产品的体系结构、用户界面、数据库和子模式,确定所采用的技术工具,在需求和代码之间建立桥梁,直到产品实现。

③编码和单元测试过程域,根据系统设计文档的要求对各模块进行编码,对编码的阶段性产品进行单元测试。

④综合测试工程域,依据用户需求、系统设计文档对最终产品进行全面测试,得到用户所需求的产品。

⑤维护过程域,客户依据合同和需求文档对产品进行测试和维护,以确保软件满足用户的长久需求[8]。

2.2 项目管理过程

在剪裁的CMMI框架中,项目管理过程可划分以下为五个过程域。

①需求管理过程域,分配需求被有效地建立成一个基线。这个基线是以后活动的基础,软件计划、产品和活动与分配需求保持一致。

②项目计划管理过程域,软件估计被文档化,以供计划和跟踪软件项目使用,软件项目的活动和约定是有计划的,并形成文档。

③项目跟踪和监控过程域,这个过程域周期性地跟踪和监督项目各单元,如进度、工作量、成本和资源等,不断了解项目的进展情况,当项目进展显著偏离计划时,则采取纠正措施。

④软件质量保证过程域,通过提供一种有效的人员组织形式和管理方法,实现对产品开发质量的检查和监督,从而持续改进软件质量。

⑤软件配置管理过程域是软件过程的关键要素,其目的是建立并维护软件产品在整个软件生存期内的完整性。这个过程域是开发和维护各个阶段管理软件演进过程的方法和规程[7]。

3 6SBC模型

基于CMMI和6 Sigma的6SBC模型,融合了CMMI和六西格玛两种改进方法的优点。6SBC模型框架图如图1所示。

图1 6SBC模型框架图Fig.1 Block diagram of 6SBC model

本文建议在战略层面使用六西格玛法,从而更好地控制软件过程改进活动。如果在基于CMMI的基础上引入六西格码作为软件过程改进方法,可以缩短改进的时间,提高改进的质量[9]。此外,在六西格玛法实施中产生的分析和控制文档,满足了CMMI许多具体和通用的要求,公司不需要再投入额外的费用去完成这些文档资料。

对于中小软件企业而言,首先是识别企业需要改善的关键域,选择一个能从总体上代表公司水平的项目工程,被选择的工程估计至少要有3~6个月的时间项目周期[10]。企业至少要投入3个人到这个项目中,以便他们能在组织内部推动六西格玛,减少雇佣六西格玛黑带大师的费用。本文力推公司的高层领导作为黑带大师,而项目经理作为黑带(项目经理)来管理项目。黑带的职责是启动六西格玛项目。

第一阶段是定义阶段,在这个阶段,团队成员和团队领导就项目做什么和项目的目标是什么达成一致意见。为了定义一个工程,黑带要制订项目章程。作为这一阶段的成果,将有一个预期改善明确的声明,推动这个项目以项目章程的形式通过这个阶段。

第二个阶段是测量阶段,这个阶段的目标是通过对当前过程现状的了解,尽可能发现组织的弱点。这一过程将定义和收集过程数据,并对数据进行基线分析。通过对数据收集和评估工作,可以获得对问题和改进机会的定量化认识,并在此基础上获得项目实施方面的信息。

第三个阶段是分析阶段,这个阶段需要对度量数据进行噪声分离和稳定性的判断,目的是明确引起过程偏差的原因。在这个阶段需要团队成员识别现有过程的缺点,验证缺点的根源,并在改进阶段解决。

第四个阶段是改善阶段,改善阶段用来实施已确定的解决方案,并用事实和数据来证明实施的方案能解决问题。这个阶段的最后,需要组织重新评估过程域,确定是否需要进一步的改善。

第五个阶段是控制阶段,这个阶段用来监督整个六西格玛项目的执行。控制阶段的活动将进一步确保问题不会再次发生,新的工作方式要制度化,要进一步按照组织的目标改进[11]。

本文建议中小企业采用控制图表来帮助这个阶段。这个阶段的结果是预计使用新的过程来形成一个组织层面的政策和制定改善计划。

一旦一个组织完成了六西格玛项目的整个过程,可以期望一个团队在较短的时间内以较少的努力达到期望的能力水平。此外,一步步的框架允许项目团队继续关注开发软件产品而不是担心过程改进活动。中小企业可以在随后的过程域中使用相同的过程,从而提升他们的能力。

4 结束语

本文根据我国软件业的实际情况,通过对CMMI2和CMMI3的各关键过程域进行剪裁和重定位,结合6 Sigma的DMAIC方法提出了软件过程改进模型6SBC——一种适合我国中小型软件企业的软件开发模型,为我国中小软件组织走上软件开发规范化道路、进而真正实施CMMI起到一定的帮助作用。

[1]张友生,徐锋.CMM/CMMI在中国的实施状况调查报告[J].计算机工程与应用,2006,42(7):31 -32.

[2]魏德智.关于建立需求工程过程模型的初步研究[D].北京:北京工业大学,2004.

[3]王慧,周伯生.基于CMMI的软件过程管理框架的度量系统[J].计算机工程,2008(B09):37-38.

[4]Basem E.Manufacturing and design for six Sigma(X-FSS)[R].Doctor Dissertation,University of Michigan,2002.

[5]杨世元,苏海涛,赵永涛.基于系统工程方法的6 Sigma管理理论及应用研究[J].现代管理科学,2004(10):20-22.

[6]Software Engineering Institute.CMMI V1.1-SCAMPI V1.1 class a apprasial results[R].Carnegie Mellon University,2005.

[7]刘小茵,万举勇.6 Sigma在CMMI中的应用[J].软件工程与标准化,2006(3):34 -37.

[8]钱运峰,刘宽宏,覃征.CMMI度量过程域在中小企业的研究与实践[J].计算机工程与科学,2006(11):89-90.

[9]张志红.基于并行质量工程的6 Sigma公差[D].天津:天津大学,2006.

[10]张素姣,田霞,冯珍.六西格玛DMAIC方法在产品质量改进中的应用[J].科技管理研究,2010(11):177-179.

[11]Cvetan Redzic,Jongmoon Baik.Six Sigma approach in software quality improvement[C]//Fourth International Conference on Software Engineering Research,Management and Applications,Seattle,WA,USA,2006:9 -11.

猜你喜欢

六西格玛文档阶段
浅谈Matlab与Word文档的应用接口
关于基础教育阶段实验教学的几点看法
基于精益六西格玛方法缩短航天典型非金属物资供应周期的探究与实践
有人一声不吭向你扔了个文档
在学前教育阶段,提前抢跑,只能跑得快一时,却跑不快一生。
精益六西格玛方法在轨道电路状态修中的运用
六西格玛管理评价准则
Word文档 高效分合有高招
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
利用六西格玛方法对造型线进行升级改造