把知识管理融入软件过程改进
版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
龚波
摘 要 软件过程改进是知识密集型活动,知识管理能够提升过程改进的效果。分析知识管理和过程改进之间关系,CMMI模型中蕴涵的KM思想;根据显性知识和隐性知识两种知识分类方法,分析SPI知识特征和SPI活动的知识资源。为促进知识管理活动的评价和实施,提出基于CMMI和SPICE模型的知识管理成熟度模型KMCE,这个模型是面向过程的,分成5个等级(初始级、意识级、规范级、定量管理级、优化级);每个等级包含一系列过程域,过程域是按照人、过程和技术等领域划分的。实践表明,KMCE模型有助于组织评估和改进KM结构,支持系统化的知识管理策略。
关键词 知识管理 过程改进 CMMI模型
中图分类号 TP311
Integrating Knowledge Management into Software Process Improvement
Gong Bo
Abstract Software Process Improvement (SPI) is a knowledge intensive task; Knowledge Management (KM) can enhance the effects of SPI. This paper analyzes the relationships between KM activities and SPI activities, the dependence among KM activities and CMMI model, finding CMMI model embody main KM ideas. According to the classification of explicit knowledge and implicit knowledge, the characteristics of SPI knowledge are investigated, and the types of SPI knowledge are identified. In order to evaluate and implement KM activities, knowledge management maturity model KMCE (Knowledge Management Capability dEtermination) is put forward. KMCE model is process-oriented, contains five stages like CMMI model: Initial, Aware, Institutionalization, Quantitatively Managed, and Optimization. Every stage consists of a few PAs (Process Area); PAs are classified in term of people, technology and process. This model is based on the ideas of quality management and process engineering. It has been proved that KMCE model can assist in organizations assessing and improving their KM structures to control knowledge processes.
Key words Knowledge Management; Software Process Improvement; CMMI model
软件过程改进是知识密集型活动,需要不断学习和采纳新技术,并且综合过程改进模型、本身和其他组织最佳实践、本身实际资源状况,制定与时俱进的过程改进推进策略;不仅保证过程改进部门成员掌握这些过程改进知识,而且项目组成员也需要掌握这些知识。这种过程改进知识有些是显性的,有些是隐性的。如何有效挖掘、沉淀、共享、应用这些知识是组织保证过程改进效果的基础。CMMI/ISO9000等模型在很多地方已经体现出KM思想,但是没有提升到系统化、产品化的高度。知识管理理念对软件企业和过程改进组织核心竞争力的促进作用,国外业界非常重视,进行了相关的研究。
[6]分析了组织知识创建过程如何支持SPI活动。[9]研究在中小型软件企业中,把KM作为补充CMMI模型的关键过程域。[10]研究在小型组织中知识学习、共享和IT支持问题。[7]分析在SPI中知识传递者的角色,并开发一个框架支持KM实现;把SPI作为组织学习过程,并提出两种主要的学习策略:(1)注重知识共享和干中学的探索策略;(2)注重以标准过程和指南等方式创建显性知识的明文化方式。[9] 分析AZ公司的三次基于CMMI模型的过程改进努力,其中前2次失败了,最后一次过程改进成功了,他们分析原因是第3次过程改进活动超越了传统的软件过程改进思路,关键是把变更管理和知识管理放在战略地位。[10]认为,KM应该被视为软件过程和软件产品持续改进的基础,认为:SEPG组织管理需要KM;SPI的过程实践也需要KM。上述这些研究都说明了在软件组织和SPI活动中应用KM的价值。
还有一些软件过程改进组织使用KM系统来固化知识管理实践,诸如NASA-SEL使用Experience Factory来支持过程改进。Daimlen Chrysler在SPI活动中使用Experience Base。印度Infosys公司很早就意识到知识共享对企业和项目的重要性,基于知识管理理论建立了知识管理门户“K-Shop”和“People-Knowledge Map” [1]。K-Shop支持过程管理,存储各种项目的案例、最佳实践和项目经验。People-Knowledge Map是一个类似于西门子的人才援助网络,让每个人都能够成为知识供应源。
本文讨论知识管理对过程改进的促进作用,以及如何在软件过程改进中应用知识管理,把知识管理理论实践化。首先讨论国外关于过程改进和知识管理相结合的研究成果,接着重点过程改进涉及到哪些知识管理活动和知识类型,提出一种基于CMMI和SPICE的知识管理成熟度模型KMCE。
1 CMMI模型蕴涵KM思想CMMI模型实际上是KM策略的表述方式,虽然没有明确使用知识管理的概念和方法,但是知识管理思想已经体现在这些模型中,体现在SPI活动中[11]。
CMMI模型是适合于软件组织过程改进的抽象的、理想化的模型,并且不断进化发展。这个模型显性定义了实践活动,诸如5层模型、特定成熟度等级的关键过程域,以及每个关键过程域的目标和实践。这样做有利于在不同组织中复用这种知识,以便于评估过程能力和指导实践活动。
为了促进CMMI每个关键过程域和每个成熟度等级的有效实现,作者分析CMMI模型不同等级阶段应该提供的知识管理策略。对于这些策略,CMMI模型已经提到,有的即使没有提到,但是在KPA条件和保证中已经蕴涵这种要求。表1简要说明CMMI模型中蕴涵的KM思想。
表1 CMMI模型蕴涵KM策略
Table
2 SPI知识特性和知识活动分析按照隐性知识和显性知识的分类,与SPI活动相关的显性知识包含三类:(1)软件工程知识,比如IDEAL模型、CMMI模型、过程描述、指南、模板、剪裁手册、规程等;(2)项目知识,诸如不同时期、不同类型项目的项目文档和统计数据,标杆企业和项目的最佳实践;(3)个人知识,比如SQA、程序员、项目经理、咨询机构等提供的反馈、实践心得、技巧。
隐性知识存在于SPI参与者的头脑中,需要有关机制,比如读书会、评审会、头脑风暴、Q&C咨询、经验报告会、工作总结、专家网络等帮助挖掘出来,显性化以便于更多人学习和应用。有些知识即使不能显性化,也可以通过现场会等方式潜移默化到其他人的头脑中。
隐性知识在SPI活动中发挥着重要的作用,比如如何集思广益创建有效的过程,如何根据项目情况对组织标准过程进行剪裁,如何根据其他人的使用反馈,对过程进行SWOT(优势,劣势,机遇,挑战)分析,进一步进行调整和改进,等等,这些都需要隐性知识。图1说明SPI活动中不同参与者之间的知识交互活动。
![]() SEPG组是过程改进的核心管理机构,负责规划和管理过程改进活动,以改进软件过程和实践;创建或者修订过程,制定规程、指南和模板;负责向项目组或者项目成员进行培训,并获取他们的反馈。
在组织中实现新过程的一个主要挑战是如何让工程师把按照过程规范行事当作自然的事情。为了达到这个目的,SEPG组需要与项目参与者在项目开始之前坐下来讨论可能影响项目的关键因素,诸如质量需求、项目的组织规模、时间和成本限制、项目成员数量和技能水平,以及既往类似项目的基本参考信息等。基于这些基本信息和沟通结果,可以确定项目过程如何从标准过程库或者规范模型剪裁,以及文档和其他知识对象的处理过程(产生、评审和验证等)等等。SEPG组会把这些协商内容和成果存储起来,并发送给项目组成员。在项目实施过程中,SEPG组需要收集项目组对过程和模板可用性的反馈,以便于及时修正。
SEPG组提供的另外一个服务是及时向软件项目、工程师和管理者提供过程改进咨询。咨询的问题可能是千奇百怪的,诸如具体模板的使用,或者新规则和政策的解释。SEPG组也可以帮助软件项目承担起咨询服务职责。SEPG组成员可以被视作软件项目的质量保证专家,以评审项目和产生的文档。
当引入新的过程,或者调整已有过程时,SEPG组需要采取合适步骤,保证所涉及工程师都能及时掌握和了解这种信息。而且所涉及工程师的反馈也非常重要,工程师的反馈和过程使用问题作为新改进活动的触发点。
3 KM成熟度模型KMCE鉴于知识管理对软件企业和过程改进的重要作用,国内外IT企业对知识管理非常重视。知识管理实施不是盲目的,最好有一个定性或者定量的模型能够辅助企业进行自身评价,确定改进重点和步骤;由于软件企业对CMMI或者SPICE模型的架构和实施非常熟悉,对基于过程的系统方法深有体会,能否有基于过程的知识管理模型方法能够与基于CMMI/ SPICE模型的过程改进一同实施?可惜的是,现在尚无基于过程的KM活动评价模型。
本文基于质量管理和过程工程,提出一个KM评价模型KMCE(Knowledge Management Capability dEtermination),以期辅助软件企业/过程改进组织评估和改进其KM结构来控制知识流动过程。KMCE采纳了Langen和Moore的思想,并且分析了软件管理相关的模型。因为软件可以被视作一个知识介质,软件管理的有关质量和度量模型可以作为KM度量模型的参考。
在KM模型定义方面,作者采用类似的思路,使用面向过程的SPICE方法作为参考,来辅助建立KM评估模型。同时,为了便于软件企业和过程改进组织方便学习和掌握,KMCE模型的定义采用类似于CMMI模型的结构来定义成熟度等级。KMCE成熟度框架定义的5个成熟度等级如表2所示:
表2 KMCE成熟度等级
Table 2 KMCE Maturity Level
SPICE使用过程域(PA,process area)来进行过程定级,KMCE模型的基础单位是PA。在每个等级都定义5个过程属性。为了便于与SPICE进行比较,这些过程属性被根据3个管理区域进行分组。如表3所示。
表3 KMCE模型的过程属性
Table 3 Process Attributes in KMCE model
4 结论知识管理关注软件企业的知识资产,能够在一定程度上解决软件企业的人才流失、组织失忆等诸多问题,能够解决CMMI过程改进中如何做,怎样做,做什么的问题,这些问题都不是传统的管理手段和管理工具能够解决的。知识管理实践对中小型企业也具有同样的价值,当然每个企业的组织类型、产品、技术、文化、组织架构不同,相应的实施方法和步骤也会有差异,要因地适宜。
本文分析SPI活动为什么需要知识管理,知识管理策略如何在SPI活动中得到实施;提出一种类似于CMMI和SPICE模型的知识管理模型KMCE,这个模型采用5层模型,有利于过程改进组织规范实施知识管理,提升实施效果。
参考文献
NITHYA R. Building Successful Software Companies in Developing Countries – The Case of India and Infosys [G], http://www.infosys.com, 2004 MAIER R., LEHNER F. Perspectives on Knowledge Management Systems – Theoretical Framework and Design of an Empirical Study[A], Proceedings of the 8th European Conference on Information Systems[C], Vienna, 2000 EHMS, KARSTEN, LANGEN. Holistic development of knowledge management with Knowledge Management Maturity Model[OL]. Munich: Siemens AG. Website: http://www.kmmm.org, 2002 PAULK, MARK. The Capability Maturity Model: guidelines for improving the software process [M]. Boston: Addison-Wesley, 1995 HOCH D. J., ROEDING C. R., PURKERT G. Secrets of Software Success [M]. Harvard Business School Press, Boston, Massachusetts 1999 ARENT J., NORBJERG J. Organizational Knowledge Creation: A Multiple Case Analysis [A]. Proceedings of Hawaii International Conference on Systems Science[C], 2000 KAUTZ K., NIELSEN P. A. Knowing and Implementing SPI[A]. In: Mathiassen, L., Pries- Heje, J. and Ngwenyama, O. (Eds.): Improving Software Organizations - From Principles to Practice[C], Addison-Wesley, 2001 ARENT J., PEDERSEN H. Strategies for Organizational Learning in SPI [A]. In: Mathiassen, L., Pries-Heje, J. and Ngwenyama, O. (Eds.): Improving Software Organizations - From Principles to Practice[C], Addison-Wesley, 2001 BASKERVILLE R., PRIES-HEJE J. Knowledge Capability and Maturity in Software Management [J]. The DATA BASE for Advances in Information Systems, 1999,V30: 26-43 KAUTZ K., THAYSEN K. Knowledge, Learning and IT Support in a Small Software Company [A]. Proceedings of the European Conference on Information Systems[C], Bled, Slovenia,2001 MATHIASSEN L., POURKOMEYLIAN P. Managing Knowledge in a Software Organization [A]. International Conference on Managing Knowledge[C], University of Leicester, England,2001 本文出自 “过程之魂,优化之道” 博客,转载请与作者联系! 本文出自 51CTO.COM技术博客 |




龚波
博客统计信息
热门文章
最新评论
友情链接