[摘要]从项目知识生成过程和应用过程出发,分析软件生命周期各阶段知识构成,应用系统工程理论,提出面向时间维、管理维和知识维的三维项目知识管理模型构架,实现项目知识的有效划分和集成;建立基于生命周期的软件项目知识管理模型和知识地图,解决项目开发过程中知识流失和知识检索效率低以及在庞大的知识库中难以找到与主题密切相关知识的问题。提出知识有效度测度模型,为识别项目知识的可用性提供一种新方法。案例表明,该模型能提高软件项目知识管理系统的开发和使用效率。www.mypm.net
[关键词]软件项目;软件项目生命周期;知识管理模型项目管理者联盟
1 引言项目管理者联盟
知识管理是一种系统化的特定组织过程,它提供了一种知识在组织内如何被组织和使用的管理框架。软件项目知识管理是一项复杂的系统工程,从知识的构成来看,不仅包括软件产品业务领域的知识,还包括项目管理领域的知识以及计算机软硬件知识;从项目的知识载体来看,既有结构化程度较高的电子数据信息,也有非结构化的文档信息,如系统需求分析报告、系统设计说明书等;从知识管理的环节来看,包括知识的获取、检验、存储、使用、共享、查询和创新,这些都给软件项目知识管理增加了难度。同时,软件企业往往在项目结束、总结项目经验、构建项目知识库时,对于较长生命周期的软件项目知识,经常遗忘或流失,尤其是项目生命周期早期阶段形成的知识。现有的项目知识管理系统存在许多缺陷,如知识库规模庞大,关系复杂,项目背景知识难以搜索等。软件项目知识来源于项目的开发与应用过程,项目知识管理必须以系统论为指导,采用不同技术方法促进整个流转过程的顺利进行。本文提出的基于生命周期的软件项目知识管理模型将能克服以上缺陷,实现知识快速查询和重用,具有重要的现实意义。bbs.mypm.net
2 软件项目生命周期及知识构成项目管理者联盟
2.1 软件项目生命周期项目管理者联盟
软件项目生命周期指从项目立项、开发、应用到项目退出以及新系统开发的全过程,本文将软件项目生命周期划分为项目立项、系统规划、系统分析、系统设计、系统实施、系统运行维护和系统评价7个阶段,按照各阶段知识特征以及关联的紧密程度,可以概括为软件项目招投标、软件项目开发和项目运行维护等三个主要阶段。www.mypm.net
软件经过若干年应用,随着技术的进步、组织业务的变迁,经过系统评价后,不再满足当前业务的需要,将开始新的项目开发请求,进入新一轮的生命周期。新的项目生命周期各个阶段知识的内涵有着明显的不同:①招投标阶段主要包括对供应商评价、软件组织评价、项目的可行性分析以及子系统划分等方面的知识;②软件项目开发阶段主要包括项目管理、相关的软硬件技术和组织管理方面的知识;③项目运行维护阶段主要包括软件应用、管理维护和软件性能评价方面的知识。与传统工程项目不同的是软件项目各个阶段知识具有较强的逻辑关系,如系统分析阶段形成的逻辑模型知识与系统设计阶段形成的物理模型知识具有一定的映射关系。training.mypm.net
2.2 基于生命周期的软件项目知识构成项目管理者联盟
软件项目是知识密集型项目,由于项目开发过程和软件产品(包括阶段性产品)的不可视性,过程知识的形成和管理相对复杂,不同团队开发不同项目又有较大的差异性,增加了知识管理工作的复杂性。软件项目开发有三类信息需要进行管理:①项目的基本信息,如项目的名称、特征、分类等信息;②软件项目开发过程本身的信息,如项目开发过程的阶段划分、各类资源分配、质量、进度和范围等信息,系统规划、分析和设计等一系列方法以及软件组件、文档以及软件开发过程中积累的经验等;③过程的动态信息,即在项目进行中的某个过程是如何进行的,如在进行中遇到了什么问题,采用了什么样的方法解决,解决的过程和效果如何。软件开发人员经常需要具有逻辑相关和一定背景的系列知识,而不是孤立的知识元,因此,本文从项目生命周期的视角对知识分类,在知识管理系统设计中着重考虑知识的逻辑性以及相关背景知识。通过研究现有文献、软件项目专家和项目开发人员访谈。项目管理者联盟
3 软件项目知识管理的三维模型构架项目管理者联盟
系统工程是解决大型复杂系统的规划、组织、管理问题的思想方法,软件项目开发周期较长、涉及的专业领域较多、知识内容复杂、管理过程繁琐,因此,结合软件生命周期理论,应用霍尔的系统工程原理,建立基于时间维(T)、管理维(M)和知识维(K)的软件项目知识管理的三维模型。service.mypm.net
·时间维,即软件项目生命周期,包括软件项目立项、系统规划和系统评价7个阶段;在项目开发过程中,根据项目的具体分工,各个阶段还可以设置若干个里程碑事件。项目管理者联盟
·管理维,即项目的范围管理、时间管理、成本管理、质量管理、风险管理、人力资源管理、沟通管理、采购管理、集成管理9个环节,各领域均有相应的知识内容。PgMp.mypm.net
·知识维,包括计算机物理平台、基础软件平台、软件开发平台、应用业务和软件项目管理工具集等5类知识。项目管理者联盟
4 基于生命周期的软件项目知识管理模型运行机理项目管理者联盟
我国软件行业正由手工作坊模式向工业化生产模式转变,软件项目开发分工越来越细,专业化分工要求项目开发人员掌握本分工阶段的知识,了解前导阶段和后续阶段以及相关领域的知识。对于大型软件项目,按照软件生命周期阶段(或里程碑节点)进行项目分工是软件组织一个基本模式,因此,为保证软件项目知识的完整性和一致性,应对生命周期的每个阶段或里程碑节点处实施知识获取、存储、共享、应用、检验和创新:项目管理者联盟
①在管理维和时间维(或里程碑节点)的每一个集合点,产生知识维的各类知识和阶段性软件产品(如文档、组件等),项目知识应在里程碑节点处进行收集、整理和内化。项目管理者联盟
②集成管理。知识管理是一种寻求目标的活动,为了开发预期的软件产品,按照软件生命周期的阶段目标,集成其他8个管理领域。随着软件开发过程不断深入,预定的软件开发目标可能会变化,并且软件开发人员沟通过程中,在项目时间维(T)的多个开发阶段与管理维(M)的不同管理过程交叉产生新的知识,集成管理一方面生成各个应用领域的综合知识,另一方面有助于对这些知识实现综合管理。项目管理者联盟
③软件用户层面知识涉及到软件项目开发个人、团队和组织知识,具有综合性和直观性,这个层面的知识往往以问题和建议或软件缺陷的形式表现。项目管理者联盟
④为了实现知识的分类存储和检索,提高项目开发人员的知识管理效率,一方面将知识按照应用层次分为计算机物理平台、基础软件平台、软件开发平台、应用软件业务、软件项目管理工具集;另一方面还考虑知识的生命周期属性以及针对特定软件项目各应用层次和各个阶段知识的逻辑相关性。项目管理论坛
⑤基于生命周期的软件项目知识管理流程,由于研究的侧重点以及视角的不同,软件项目知识管理机制也存在很大差异,但知识的具体管理过程是通用的,笔者做了详细的研究和论证。项目管理者联盟
5 软件项目知识管理原型系统项目管理者联盟
5.1 软件项目知识管理系统物理模型项目管理者联盟
基于生命周期的软件项目知识管理原型系统,分为知识产生层、知识管理层和知识应用层:blog.mypm.net
|