论文部分内容阅读
一、引言
CMMI(Capability Maturity Model Integration)即集成的能力成熟度模型是近年来非常流行的软件工程理论模型之一。它是以业界最佳实践为基础而创建的理论模型,能够帮助诊断组织当前成熟度,提出提高组织能力成熟度的方法,并且提供了一套完整的评估方法。组织可以通过对其理论的学习与应用,提高产品质量,生产效率,顾客满意度等商业目标。应用CMMI,就是基于CMMI这个模型来指导一个组织的过程改进。然而,许多企业用他们理解的方法应用了该模型之后却遇到了各种各样的问题和阻力。这是与企业内部特点与外部环境息息相关的。本文以某典型软件外包企业为例对应用CMMI的条件与约束进行分析,以提高软件外包企业应用CMMI模型的效率及有效性。
二、应用CMMI模型的约束条件
1.企业战略选择
CMMI模型的应用不是一个仅仅需要计算投资收益的项目,其应用的范围及影响力会触及组织的各个层面,应用CMMI也不仅仅是一个企业决策,而是一个战略选择。因此,分析应覆盖以下两个主要方面。
(1)竞争环境要素。如果企业当前的生存环境过于恶劣,如产业发展存在危机,竞争对手众多,或是财务状况不甚乐观的情况下,就不适合将过程改进放在第一优先级。由于过程改进是一个长期渐进的战略变革,企业应将其作为长期目标进行规划。
(2)购买者/客户的影响力。由于软件产品最终都要服务与客户,因此客户的特点和需求必须被识别出来。对于软件外包企业来说,其客户通常是用户的MIS部门,因此MIS部门的软件开发管理能力也必须被考虑进来。本企业的过程改进需要得到他们的认可和一定程度的支持
战略分析的结果也就是要定义过程改进在企业战略中的位置。CMMI的应用必须与组织的战略选择保持一致。在此前提下,高层管理者才会在资源上和管理上提供足够的、长期稳定的支持。制定改进目标时,将其与商业目标相结合。
2.企业发展阶段
CMMI模型的应用与企业发展阶段,以及企业管理成熟度密切相关。
对于中小企业来说,通常管理基础薄弱,资源不足,生存压力大,缺乏统一而有力的质量文化,人员素质良莠不齐。因此在企业的成长期进行过程改进,必须配合加强企业的基础管理。而项目级的管理实际上也是CMMI二级的实施重点。
随着企业规模的扩张,项目开始呈现多样化,多客户的趋势。这时企业就进入了组织级的管理,相应地,过程改进也要配合企业的发展提升至CMMI三级。此阶段的改进重点是软件工程的技术部分。如同级评审,需求开发,产品验证和确认。这些工程领域能力的加强能够真正提升项目开发能力,也就是加强企业的核心竞争力。
因此,如果能将过程改进与组织的成长阶段有机地结合起来,不但可以完善管理,还能够提升效率及产品质量,客户满意度。反之,如果无视企业当前状况,一味地追求高成熟度及评估结果,则会发现欲速则不达。
3.组织结构及文化
组织结构及文化是决定改进能否真实有效地进行的最重要因素。过程改进小组SEPG的职责包括听取项目组的实际情况,考虑实施的可行性,以CMMI模型为架构建立企业过程。通常过程改进小组是一个独立于项目组的组织,有直接的渠道向最高层管理者汇报和沟通,以展现过程改进的成果。另外,为了确保项目长期按既定过程执行,还需要建立一个独立的QA(quality assurance)部门。在过程改进初期,组织文化对过程规则认可程度不高,QA的主要工作是严格监督过程的执行,以形成令行禁止的文化,确保政策的有效推行。而随着改进的深入,组织文化的形成,过程改进理念和方法就会逐渐被组织认可,遵循流程成为组织文化的一部分。
培养不断改进的组织文化可以采用自底向上的改进模式。由于它基于“实践”,由实际操作者提出,从解决问题出发,其效用通常很高,能够迅速地提高项目能力和效率,也容易推行。该方法还会大大提高员工对过程的认可度。长此以往,在组织内形成以高质量为目标的组织文化,会降低过程改进中的内耗,提高改进效率。
4.企业的业务模型
通过质量成本分布的分析,可以知道,在产品形成的早期发现越多的问题,修复成本越低。在需求、设计阶段加入少量工时进行评审,就有可能减少大量在项目后期如系统测试、用户测试阶段发现并修复问题的工作量,真正提高项目质量和效率。因此对于占据产业链上游,如承担需求、设计部分任务的组织来说,过程改进的理念更容易实现。然而,大部分国内的软件外包企业的业务模式都是处于产业链下游,承包的项目往往是由当地用户的MIS部门分包出来。这种业务模型造成了过程改进的难度。如果不改变业务模式,取得客户的配合,过程改进难以实行并见效。企业可以考虑通过以下方法进行改进:
(1)努力提高自身的开发技术水平和需求获取、分析能力,争取承担更“高级”的任务。
(2)选择更高管理成熟度的客户进行合作,争取那些覆盖产业链上游的项目。
(3)以提高双方利益,达到双赢的角度说服外包方接受过程改进的理念和方法并主动帮助其提高管理成熟度。
三、结论
综上所述,根据CMMI的理念构架一个软件开发过程并实施,不能好高骛远,生搬硬套。只有将其与企业发展战略、企业管理成熟度相结合,选择时机顺势而为,才是最佳的应用策略。为了能够长期地实施CMMI 以实现过程的稳定,本文还从企业组织结构及文化、企业业务模式等方面进行了约束分析并提出解决方法及建议,这会大大提高CMMI应用的效益和成功几率。
参考文献:
[1]Kim Caputo:CMM 实施与软件过程改进.机械工业出版社2003
[2]Guide to the 2006 CSQA CBOK, QAI Ltd
[3]Hitt, M.A./Ireland, R.D./Hoskisson, R.E. 战略管理;竞争与全球化.机械工业出版社,2004 (4)
CMMI(Capability Maturity Model Integration)即集成的能力成熟度模型是近年来非常流行的软件工程理论模型之一。它是以业界最佳实践为基础而创建的理论模型,能够帮助诊断组织当前成熟度,提出提高组织能力成熟度的方法,并且提供了一套完整的评估方法。组织可以通过对其理论的学习与应用,提高产品质量,生产效率,顾客满意度等商业目标。应用CMMI,就是基于CMMI这个模型来指导一个组织的过程改进。然而,许多企业用他们理解的方法应用了该模型之后却遇到了各种各样的问题和阻力。这是与企业内部特点与外部环境息息相关的。本文以某典型软件外包企业为例对应用CMMI的条件与约束进行分析,以提高软件外包企业应用CMMI模型的效率及有效性。
二、应用CMMI模型的约束条件
1.企业战略选择
CMMI模型的应用不是一个仅仅需要计算投资收益的项目,其应用的范围及影响力会触及组织的各个层面,应用CMMI也不仅仅是一个企业决策,而是一个战略选择。因此,分析应覆盖以下两个主要方面。
(1)竞争环境要素。如果企业当前的生存环境过于恶劣,如产业发展存在危机,竞争对手众多,或是财务状况不甚乐观的情况下,就不适合将过程改进放在第一优先级。由于过程改进是一个长期渐进的战略变革,企业应将其作为长期目标进行规划。
(2)购买者/客户的影响力。由于软件产品最终都要服务与客户,因此客户的特点和需求必须被识别出来。对于软件外包企业来说,其客户通常是用户的MIS部门,因此MIS部门的软件开发管理能力也必须被考虑进来。本企业的过程改进需要得到他们的认可和一定程度的支持
战略分析的结果也就是要定义过程改进在企业战略中的位置。CMMI的应用必须与组织的战略选择保持一致。在此前提下,高层管理者才会在资源上和管理上提供足够的、长期稳定的支持。制定改进目标时,将其与商业目标相结合。
2.企业发展阶段
CMMI模型的应用与企业发展阶段,以及企业管理成熟度密切相关。
对于中小企业来说,通常管理基础薄弱,资源不足,生存压力大,缺乏统一而有力的质量文化,人员素质良莠不齐。因此在企业的成长期进行过程改进,必须配合加强企业的基础管理。而项目级的管理实际上也是CMMI二级的实施重点。
随着企业规模的扩张,项目开始呈现多样化,多客户的趋势。这时企业就进入了组织级的管理,相应地,过程改进也要配合企业的发展提升至CMMI三级。此阶段的改进重点是软件工程的技术部分。如同级评审,需求开发,产品验证和确认。这些工程领域能力的加强能够真正提升项目开发能力,也就是加强企业的核心竞争力。
因此,如果能将过程改进与组织的成长阶段有机地结合起来,不但可以完善管理,还能够提升效率及产品质量,客户满意度。反之,如果无视企业当前状况,一味地追求高成熟度及评估结果,则会发现欲速则不达。
3.组织结构及文化
组织结构及文化是决定改进能否真实有效地进行的最重要因素。过程改进小组SEPG的职责包括听取项目组的实际情况,考虑实施的可行性,以CMMI模型为架构建立企业过程。通常过程改进小组是一个独立于项目组的组织,有直接的渠道向最高层管理者汇报和沟通,以展现过程改进的成果。另外,为了确保项目长期按既定过程执行,还需要建立一个独立的QA(quality assurance)部门。在过程改进初期,组织文化对过程规则认可程度不高,QA的主要工作是严格监督过程的执行,以形成令行禁止的文化,确保政策的有效推行。而随着改进的深入,组织文化的形成,过程改进理念和方法就会逐渐被组织认可,遵循流程成为组织文化的一部分。
培养不断改进的组织文化可以采用自底向上的改进模式。由于它基于“实践”,由实际操作者提出,从解决问题出发,其效用通常很高,能够迅速地提高项目能力和效率,也容易推行。该方法还会大大提高员工对过程的认可度。长此以往,在组织内形成以高质量为目标的组织文化,会降低过程改进中的内耗,提高改进效率。
4.企业的业务模型
通过质量成本分布的分析,可以知道,在产品形成的早期发现越多的问题,修复成本越低。在需求、设计阶段加入少量工时进行评审,就有可能减少大量在项目后期如系统测试、用户测试阶段发现并修复问题的工作量,真正提高项目质量和效率。因此对于占据产业链上游,如承担需求、设计部分任务的组织来说,过程改进的理念更容易实现。然而,大部分国内的软件外包企业的业务模式都是处于产业链下游,承包的项目往往是由当地用户的MIS部门分包出来。这种业务模型造成了过程改进的难度。如果不改变业务模式,取得客户的配合,过程改进难以实行并见效。企业可以考虑通过以下方法进行改进:
(1)努力提高自身的开发技术水平和需求获取、分析能力,争取承担更“高级”的任务。
(2)选择更高管理成熟度的客户进行合作,争取那些覆盖产业链上游的项目。
(3)以提高双方利益,达到双赢的角度说服外包方接受过程改进的理念和方法并主动帮助其提高管理成熟度。
三、结论
综上所述,根据CMMI的理念构架一个软件开发过程并实施,不能好高骛远,生搬硬套。只有将其与企业发展战略、企业管理成熟度相结合,选择时机顺势而为,才是最佳的应用策略。为了能够长期地实施CMMI 以实现过程的稳定,本文还从企业组织结构及文化、企业业务模式等方面进行了约束分析并提出解决方法及建议,这会大大提高CMMI应用的效益和成功几率。
参考文献:
[1]Kim Caputo:CMM 实施与软件过程改进.机械工业出版社2003
[2]Guide to the 2006 CSQA CBOK, QAI Ltd
[3]Hitt, M.A./Ireland, R.D./Hoskisson, R.E. 战略管理;竞争与全球化.机械工业出版社,2004 (4)