技术开发 频道

从项目管理角度看软件配置管理

    项目与产品的矩阵关系需要配置管理来执行  

    项目管理与产品管理的矩阵关系,其实是集成项目管理中必须要解决的问题。对于项目管理与产品管理之间多对多的矩阵关系,已经被普遍理解,但是在细化到操作层面时,这种矩阵式的配合关系有时还存在一定的混淆。

    企业中的软件开发部门首先要关注产品,通过基于软件产品的开发工作来实现业务需求,并负责对整个软件产品生命周期的管理。许多公司目前的实际做法是,在组织层面上,项目组实际的组织方式是,在项目组中有多个产品开发小组,每个小组负责某个或某些软件产品的开发工作,项目中跨产品的整体的业务需求、技术架构、系统测试、项目管理等工作,仍由项目组统筹管理。项目组内的产品开发小组,可以与其他项目、维护任务共享资源,可以从产品角度保证软件产品的兼容性和一致性。通过这种组织方式,可以平衡项目管理与产品管理之间关系的,产品经理和项目经理是这两个管理维度的具体执行者。

    对应这种组织方式,配置管理也需要支持矩阵式管理结构。对于属于项目管理的内容,可以针对项目建立配置库进行配置管理,包括项目级的业务需求、项目的整体技术方案、系统功能测试、项目管理过程等内容,而对于单个软件产品,则需要纳入产品配置管理的范畴,针对产品进行配置管理。这和产品文档与项目文档的划分思路是基本类似的。

 

    服务企业的项目的最终产品是业务产品,而开发部门所管理的产品则主要是软件产品,项目管理与产品管理的矩阵关系,也就对应成为业务产品与软件产品之间的矩阵关系。企业内部的软件开发部门,对这两类产品都需要进行管理,而且都需要做好配置管理,其中对业务产品的配置管理,核心就是对业务需求的管理。这两类产品在配置管理中也会形成矩阵关系,某个业务需求的配置项,涉及若干个相关程序——技术配置项,一个程序也可以同时支持多个业务需求的配置项,形成多对多的关系。基于以上对项目和产品的配置管理管理的辨别,在实际操作中,将软件产品在某个项目中的分支,从产品的配置库中独立出来归入项目配置库进行管理的做法,或者把对应项目的配置项放在软件产品的配置库中进行管理,这两种做法都是有欠缺的。

    如果能够对两种产品都做好配置管理,并且能够建立起这样的矩阵关系,那么不仅在开发中很容易将整体的项目范围逐步细化到底,能够及时对各种变更的影响范围作出判断,做好变更控制,而且对于以后的维护工作能够提供很好的基础,有助于根据业务处理中的问题现象迅速定位到技术缺陷。

    多项目并行开发需要软件配置管理的协调

    通常情况下,软件部门会同时承担众多的开发任务,都可能会同时需要修改同一软件产品。从软件产品的角度来看,就是并行开发的问题。在企业内部,基于同一产品的并行开发任务通常不会产生不同的软件产品,而是形成同一产品的顺序的多个版本,这就要对软件产品的并行开发做好配置管理,避免并行开发中的版本冲突,这是软件配置管理策略中最为复杂的部分,也是软件配置管理最大的价值所在。只有做好基于产品的配置管理,对并行开发加以协调和控制,管理好版本分支,才能灵活的处理好并行开发任务之间的产品版本的顺序关系。产品版本之间的顺序关系,与项目之间的依赖关系是相互影响的。哪个项目的业务产品需要先投产,那么与之相关的产品版本就要先形成,产品版本顺序一旦确定后,要重新调整版本顺序,就需要退回到最初的开发基线,恢复已经合并的原有分支,选择另外的分支重新进行归并,重新形成新的软件产品版本,这也会对项目管理产生很大的影响。

    在并行开发的情况下,企业级的配置管理系统,为并行开发任务之间提供了重要的沟通平台,这种沟通不是一般意义上的项目管理范畴中的协调,而是各项目之间针对产品版本关系对具体工程活动的协调,会对最终产品产生直接的影响,所以软件产品的版本策略是多项目并行开发中必须要关注的问题。因此,在多项目管理中,需要更加深入地关注到各个项目当中的工程活动之间的协调关系,工程类活动之间的依赖关系,往往是项目之间各种依赖关系的决定因素。

0
相关文章