基于知识管理的轻型过程改进框架研究

2012-12-27 08:16:12张文宁刘安战
中原工学院学报 2012年1期
关键词:开发方法质量保证柔性

张文宁,刘安战,李 良

(中原工学院,郑州450007)

基于知识管理的轻型过程改进框架研究

张文宁,刘安战,李 良

(中原工学院,郑州450007)

为了解决中小型软件企业在实施软件过程改进活动中遇到的重型软件过程改进方法难于实施、轻型软件过程改进方法规范化不足等问题,对集成能力成熟度模型CMMI、敏捷开发方法以及知识管理进行了分析,提出了基于知识管理的轻型过程改进框架,探讨了柔性团队的行为特征、适度规范集的确定过程以及知识转移模型.实践证明,该框架能够满足国内中小企业软件过程改进的要求.

CMMI;敏捷开发;知识管理;轻型过程改进框架

随着人们对软件质量的关注,如何通过软件过程改进活动有效提高企业的生产效率,加速企业资产的积累,逐步成为人们的研究重点.目前,国内多数软件企业为中小型企业,虽然利用集成能力成熟度模型(CMMI)能够有效进行软件过程改进,但是中小型企业在人力、技术、财力上都存在很大不足[1];部分企业利用敏捷开发思想实施软件过程改进,但也暴露出规范性不足、不便于管理、风险难以控制等弊端.软件企业作为典型的知识型机构,必须坚持不断学习,才能逐步完成从信息价值链到知识价值链的转变.此外,软件过程改进活动是一项知识密集型活动,也需要有效的知识管理,以提升其执行效果[2].

目前,国内外关于软件过程改进方法的研究主要集中于过程改进模型的实施方法及其在特定阶段或具有明显特征项目中的应用分析、相关支撑平台或工具的实现、多种过程改进方法的融合等.与知识管理相关的研究主要有知识管理支撑平台的实现、知识管理与软件过程改进方法的融合、软件项目特定阶段知识管理的应用研究等.

本文对重型过程改进、敏捷开发、知识管理等进行分析,提出了基于知识管理的轻型过程改进框架,既保证了软件过程的规范性,又提供了一定的灵活性,为企业资产的管理提供了一定的便利.

1 重型过程改进

软件危机促进了软件工程思想的成熟.在20世纪80、90年代,软件项目被定义为一个重复有序的、可严格控制的过程,并产生了以质量管理为核心、软件工程理论为基础的严格有序的过程管理理论体系.其中,SEI提出的CMMI模型及与其类似的ISO9000、SPICE等是该阶段软件工程思想的代表,它们重视系统性、制度化、文档化,强调过程的可管理性和预测性,但忽略了过程执行的主体及过程运行的环境.在软件复杂度日益增加及市场多变的环境下,这种强调项目必须按照严格有序的过程实施的特征,使得重型过程改进方法无法通过最优化的过程输出成功的软件产品[3].

2 敏捷开发方法

为解决重型过程改进方法可操作性差、实施成本高等问题,2001年2月,敏捷联盟提出了敏捷软件开发方法,发布了敏捷宣言:个体和交互重于过程和工具;可用的软件重于完备的文档;客户协作重于合同谈判;响应变化重于遵循计划.该宣言体现了敏捷开发方法高度的动态性、灵活性和较强的适应性.

目前,基于敏捷宣言,产生了很多新的软件开发方法,如XP、SCRUM、DSDM、ASD等.这些方法均着眼于快速交付高质量的软件产品和努力提升人的主观能动性.而基于敏捷宣言形成的软件过程改进方法,则强调企业应结合自身业务特点和具体项目特征开发适合自身的软件过程,并在此基础上进行迭代开发,循序渐进地完成产品交付.作为一种相对于传统软件开发方法而言的轻型方法,敏捷开发方法在呈现其高度的动态性、灵活性优势的同时,也具有一定的应用的局限性.

3 知识管理

知识管理是利用集体的智慧,通过对信息和专业技能的开发和利用,改进和提高企业的创新能力、响应能力、生产力和技能素质.知识管理能够有效提升企业的核心竞争力.日本学者野中与竹内认为,日本企业成功的关键在于其知识共享与创新能力,尤其是隐性知识的共享、创新与应用;印度多家企业建立了相应的知识管理体系,以促进知识管理在企业各项活动中的应用[2].

发达国家的实践证明,企业的知识管理活动可以从软件过程改进入手[2].在其实施过程中,知识作为一种基本的资源,渗透到软件产品的所有生产要素中,并贯穿于企业的各项活动中.在软件过程改进活动中进行知识管理,不仅能有效积累企业的过程资产、改善软件过程改进的实施效果,而且也能在一定程度上解决企业失忆、人才流失等问题.

4 基于知识管理的轻型过程改进框架

鉴于以上分析,以CMMI为代表的重型过程改进方法强调过程的规范性和一致性,敏捷开发方法强调人的主观能动性和实施灵活性,两者均蕴含知识管理思想却未明确提及.本文提出的基于知识管理的轻型过程改进框架,既强调重型过程改进方法的规范一致性,又结合了敏捷开发方法高效交流与分享的优点,同时引入了知识管理理念,以期推动企业资产积累和企业文化建设.

本框架涉及到的角色有:项目经理(PM)、过程改进组(EPG)、质量保证人员(QA).其核心思想是:①基于企业的人力资源库构建柔性项目团队;②基于企业资产库,结合“Just Enough”策略,构建适度规范集;③基于敏捷开发方法进行项目开发;④对适度规范集进行度量、分析及优化;⑤在各项活动中有效进行知识管理和知识转移,提升过程改进效果.基于知识管理的轻型过程改进框架如图1所示.

图1 基于知识管理的轻型过程改进框架

4.1 构建柔性团队

敏捷开发方法强调在项目进展过程中充分发挥人的主观能动性,并指出在理想情况下团队成员应具备交叉技术技能,相互之间可以积极坦诚合作.在我国软件行业人员流动率较高的情况下,为了储备人力资源,企业可以借鉴CMMI模型中组织培训过程域的相关内容,通过开展培训的方式建立和维护企业的管理和技术能力,为柔性团队的构建奠定基础.

他很少接触女孩子,青萝算得上是他相对接触最多的一个,但对方那大大咧咧的脾性,甚至比族中许多男孩还要强悍。

在项目启动初期,项目经理在人力资源部门配合下,基于企业的人力资源库构建柔性团队.该团队内部具有高度的柔性和灵活性,团队成员间有深入的沟通和密切的协作,对外则呈现高度的规范性、适应性、敏锐性、创新性和学习性,其概念模型[3]可表示为:

其中:

T为具有高度适应能力的柔性团队;

Ma为具备能动性、协作性的团队成员;

Mr为团队成员相互协作沟通的基本规则集;

ST为团队共享的显性知识和隐性知识;

C为团队在完成任务时应具有的资源;

Ms为衡量团队工作效率的度量指标.

4.2 确定适度规范集

在我国软件行业流动率高、从业人员软件工程意识淡薄的环境下,为了兼顾项目过程的规范性和灵活性,项目团队成员可以在过程改进组的指导下,依据“Just Enough”策略,基于通用的软件过程改进模型及企业历史项目的过程规范,共同分析项目特征,确定适合项目具体特征的适度规范集.该规范集中的每个子过程均包含输入产品、前置条件、活动、后置条件、输出产品、资源、度量指标等要素,各要素之间的关系如图2所示.

图2 适度规范集中子过程各要素之间的关系

4.3 项目实施

根据敏捷开发方法,项目经理在项目实施过程中应鼓励成员间的高效沟通,努力创造能够充分发挥人的能动性及团队协作能力的工作氛围,进一步突显柔性团队的灵活性、创新性等特点.

4.4 度量、分析及优化

适度规范集的适合性及灵活性必须通过持续的度量、分析、改进,才能不断优化.在CMMI模型中,质量保证人员的主要职责是依据企业的标准软件过程对项目组的活动和工作产品进行过程审计、产品审计.在本框架中,质量保证人员的主要工作是依据项目进度安排对生产率、产品质量、成员的能动性、团队的协作性等进行度量、分析及优化,并在项目的每个里程碑处,召开正式的项目回顾会议,促进团队成员间的知识迁移.

项目团队在对项目数据进行分析的活动中,可以应用一些成熟的静态分析技术和动态模拟方法.其中静态分析技术包括正确性检查、时效分析、资源和成本分析、图论分析、变异分析等.动态模拟则是根据项目实施过程中产生的各类报告,如活动报告、资源报告、产品报告、合作报告的数据,运用数理统计的相关方法进行分析[4].

4.5 知识管理及知识转移

软件过程改进是知识密集型活动,其实施过程要求人们能熟练掌握并灵活应用重型过程改进方法、敏捷开发方法、历史项目规范等企业资产库中的资源和知识.企业只有通过对软件过程改进活动和工程活动相关知识的挖掘、沉淀、共享和知识转移,才能进一步促进项目过程的优化和企业资产的积累.

根据知识管理中显性知识和隐性知识的分类及各自的特征[5],与软件过程改进活动相关的显性知识包含:

(1)软件工程知识,如SPICE模型、IDEAL模型、CMMI模型、体系文件等.

(2)软件项目知识,如项目不同阶段的项目文档、源代码、统计数据等.

(3)个人知识,如项目经理、质量保证人员、程序员等提供的反馈、实践心得、技巧等.

隐性知识存在于软件过程改进活动相关人员的头脑中,可以通过头脑风暴、评审会、经验报告会、工作总结等方式进行挖掘.这些隐性知识经过沉淀、显性化后才能通过共享供更多人学习和应用.

在软件过程改进活动中,除了整理显性知识、挖掘、沉淀隐性知识并将其纳入组织资产库外,过程改进组、质量保证人员、项目团队、客户等相关人员之间高效的知识转移对本框架的成功实施起着重要作用.知识迁移模型如图3所示.

图3 知识转移模型

从知识转移的视角来看,知识在软件过程改进活动中经历3个阶段:

第一个阶段:传递阶段,指过程改进组、质量保证人员协助项目经理组建柔性团队、确定适合规范集的过程.

第二个阶段:吸收阶段,指柔性团队成员根据项目具体情况进行分析和吸收的过程.该过程也是Nonaka SECI模型中的“内化”阶段及 Gilbert &cordey-Hayes五阶段模型中的“接受”和“同化”两个阶段.

第三个阶段:反馈阶段,指柔性团队在知识吸收的过程中不断与过程改进组、质量保证人员进行交流,并持续优化项目过程和适度规范集的过程.

5 项目实践

本框架在河南移动金融分析系统中的VIP客户服务管理支撑子系统中进行了试点实施.该项目要求在一个月内应用SSH、Ajax、JavaScript、Oracle等技术实现全球通用户的摸底调查,VIP客户的提取,VIP客户的增加、删除、修改、查询等功能并完成系统上线工作.

在项目实施初期,项目经理在人力资源部的协助下组建了项目团队.团队规模为6人,团队成员协作工作时间2.3年左右,且团队成员均熟悉业务逻辑及业务框架,具有丰富的移动项目开发经验.为了兼顾规范性及灵活性,项目团队在过程改进组和质量保证人员的协助下约定了适合本项目的适度规范集.该规范集中的内容涉及到CMMI模型中的项目策划、项目监控、验证与确认、度量分析、配置管理、质量保证等过程域.在项目实施过程中,项目团队按照敏捷开发方法进行工作,强调项目团队成员间的高效沟通和知识共享.质量保证人员在项目进展过程中,一方面协助项目经理对适度规范集的有效性、适合性进行度量分析和优化调整,另一方面对团队成员的显性知识及隐性知识进行搜集分析,完成与过程改进组、项目团队的交流,并开展企业资产的提取与共享工作.

实践表明,本框架能够有效激发团队成员的工作热情、兼顾项目过程的规范性与应用的灵活性,但也存在一些很强的约束条件,如对企业的价值观和文化氛围要求较高、对相关执行人员的综合素质要求较高,且需要高层经理的高度重视等.

6 结 语

本文通过融合重型过程改进方法和敏捷开发方法,在兼顾软件过程规范性和实施灵活性的同时,引入知识管理以提升软件过程改进活动的效果,提出了基于知识管理的轻型过程改进框架.虽然本框架能够有效推动中小型企业的软件过程改进活动,但也有很多技术细节需要落实,如柔性团队行为准则的确定、企业资产库结构的研究、学习型组织的构建等,这是以后将要研究的内容.

[1]陈斌.基于CMMI的敏捷软件过程改进过程研究[D].青岛:中国海洋大学,2009:25-27.

[2]万江平,李建章,韩惠峰.软件企业知识管理的思考[J].计算机应用研究,2003,20(1):13-16.2003.

[3]陈建斌,方德英,石彤.基于敏捷思想的重量级IT项目管理框架思考[J].预测,2010,29(2):32-36.

[4]沈备军,陈诚,居德华.敏捷软件过程的研究[J].计算机研究与发展,2002,39(11):1456-1463.

[5]郑楚卫.软件过程改进中知识转移的影响因素研究[D].广东:华南理工大学,2008:23-24.

The Lightweight Process Improvement Framework Research Based on Knowledge Management

ZHANG Wen-ning,LIU An-zhan,LI Liang
(Zhongyuan University of Technology,ZhengZhou 450007,China)

To solve the typical problems when conducting the software process improvement activities,such as how do people keep balance between standard and agile;how can organizations become a learning organization through process improvement etc.Therefore,the lightweight process improvement framework based on knowledge management is proposed after analyzing heavyweight process(CMMI),agile methodologies and the knowledge management.To enhance its feasibility,some key activities are discussed,including the self-organizing team model,the just enough process set and the knowledge transform model.Experiments show that the framework can satisfy the software process improvement from the middle and small scale software companies.

CMMI;agile methodologies;knowledge management;lightweight process improvement framework

TP311.5

A

10.3969/j.issn.1671-6906.2012.01.014

1671-6906(2012)01-0057-05

2012-01-18

张文宁(1982-),女,河南安阳人,硕士.

猜你喜欢
开发方法质量保证柔性
一种柔性抛光打磨头设计
田湾核电站运行阶段质量保证分级管理
灌注式半柔性路面研究进展(1)——半柔性混合料组成设计
石油沥青(2021年5期)2021-12-02 03:21:18
焊接技能评定过程中的质量保证要求
关于如何做好水质环境监测的质量保证研究
高校学生管理工作中柔性管理模式应用探索
高中英语校本教材的开发方法
甘肃教育(2020年14期)2020-09-11 07:58:10
基于FANUC PICTURE的虚拟轴坐标显示界面开发方法研究
质量保证监查在AP1000依托项目中的应用
基于模型开发方法(MBD)的ABS控制器开发
汽车文摘(2014年9期)2014-12-13 13:10:30