编者按:在复杂的软件项目管理中,还有一种技术管理手段会帮助工程人员趟过软件开发过程中的泥潭,它就是目前正被日益重视的—软件配置管理(SCM)。配置管理作为相对独立的管理分支,有着其自身特殊的作用和要求。
目前国内正在大张旗鼓地开展前所未有的“管理革命”,软件项目管理也取得喜人的进展:CMM遍地生花,PMP人才涌现,项目管理的思想“深入人心”。但笔者更想谈一个基本的话题——配置管理。很多人是在CMM中接触“配置管理”的观念的,对配置管理的作用理解也仅限于CMM的要求。其实,配置管理作为相对独立的管理分支,有着其自身特殊的作用和要求。
软件开发的“泥潭”
在一个软件开发项目中,会有大量的所谓“产品”产生,典型的如代码、文档(包括技术文档、产品文档、管理文档)、数据、脚本、执行文件、安装文件、配置文件、甚至一些参数等,这些产品实际上都是软件项目的直接产品,同时也都是项目资产。但随着软件技术的不断更新、软件系统功能的日趋复杂、以及参与人员数量的大规模增加,上述产品的数量也急剧增加。这些产品还有一个独特的特征,就是由于所有的产品都以“信息”的形式存放在计算机中,因此,与硬件比较而言,极容易被修改(不考虑权限问题)和变化。这样虽然有助于灵活性的提高,随之而来的是管理复杂性也急剧增加。如何有效地管理这些产品以及它们之间的关系成为一个棘手的问题。
图 3个部件的版本组合
另一方面,软件开发往往都是在“变化”中进行的。可以毫不夸张地说,对软件开发项目而言,“变化是持续的、永恒的”,找不到不会变化的项目。需求会变,技术会变,系统架构会变,代码会变,甚至连环境都会变,所有的变化最终都要反映到上述的项目产品中。如何应对这些变化,如何在受控的方式下引入变更,如何监控变更的执行,如何检验变更的结果,如何最终确认并固化变更,如何使变更具有追溯性,这一系列问题都将直接影响项目的进行。
另外,软件项目最终的目标是提交“高质量”的软件产品给最终用户。但是,我们经常面临的一个问题是,“提交了些什么?”为什么会产生这个问题,是因为最终的“高质量”,“可运行的”软件产品是由上千个甚至更多的“部件”按照某种特定的规则编译在一起完成的,但是每个部件都有自己特定的变化生命周期(Change Lifecycle),这样就产生了一系列的版本,许多的部件以及各自的许多版本,就形成天文数字般的组合,见下图示例。
此文章共有4页 1 2 3 4 下一页
文章来源:中国项目管理资源网
软件开发项目管理培训课程方案
|