计划资源要素
俗话说,兵马未动,粮草先行。配置管理的实施需要消耗一定的资源,在这个方面一定要预先规划。
具体来说,配置管理实施主要需要两方面的资源要素:一是人力资源,二是工具。下面分别论述。
人力方面,因为配置管理是一个贯穿整个软件生命周期的基础支持性活动,所以配置管理会涉及到团队中比较多的人员角色。比如,项目经理、配置管理员、开发人员、测试人员、集成人员、维护人员等。但是,工作在一个良好的配置管理平台上并不需要开发人员、测试人员等角色了解太多的配置管理知识,所以,配置管理实施的主要人力资源会是集中在配置管理员上。 配置管理员是一个比较奇妙的角色,对于一个实施了配置管理、建立了配置管理工作平台的团队来说,他是非常重要的,整个开发团队的工作成果都在他的掌管之下,他负责管理和维护的配置管理系统如果出现问题的话,轻则影响团队其他成员的工作效率,重则可能出现丢失工作成果、发布错误版本等严重的后果。然而,由于传统不了解配置管理重要性的原因,在国内的开发团队中,通常大家都不愿意去做配置管理员。我遇到很多情况,都是项目经理找来找去,选出来一个不喜欢做开发工作的女孩,来担任配置管理员。 在国外一些比较成熟的开发组织中,配置管理员被称为CMO(Configuration Management Officer),或者是配置经理;他们被称为是项目经理的左手。从这两个称谓我们可以看出他们对于配置管理员的重视。在选拔配置管理员的时候,也有相当高的要求,比如,有一定的开发经验,对于系统(操作系统、网络、数据库等方面)比较熟悉,掌握一定的解决问题(trouble shooting)的技巧,在个人性格上,要求比较稳重、细心。
在配置管理员这个资源配置方面,要注意后备资源(Backup)的培养。在大家越来越重视配置管理的大环境下,经验丰富的配置管理员会成为抢手的人才;而配置管理员的离开可能会给团队的工作进度带来一定的影响,所以聪明的管理者会为自己留好备份。
选择什么样的配置管理工具,一直是大家关注的热点问题。确实,与其他的一些软件工程活动不一样,配置管理工作更强调工具的支持;缺乏良好的配置管理工具的话,要做好配置管理的实施会非常困难。
具体来说,我想在配置管理工具的选型上,可以综合考虑下边的一些因素。
首先是经费。市场上现有的商业配置管理工具,大多价格不菲。到底是选用开放源代码的自由软件、还是采购商业软件,如果采购商业软件的话,选择哪个档次的软件,这些问题的答案,取决于你能从老板那儿拿到多少钱。
一般来说,如果经费充裕的话,采购商业的配置管理工具会让实施过程更顺利一些,商业工具的操作界面通常更方便一些,与流行的集成开发环境(IDE)通常也会有比较好的集成,实施过程中出现与工具相关的问题也可以找厂商解决。
如果经费有限的话呢,就不妨采用自由软件,如CVS之类的工具。其实无论在稳定性还是在功能方面,CVS的口碑都非常好,我看到过很多组织成功地在CVS上完成配置管理的工作。如果你(或者你的配置管理员)不是一个依赖性很强的人,喜欢自己钻研、自己去寻找资料解决问题,CVS会是一个不错的选择。
如果准备选择商业配置管理工具,就应当重点考虑下面几个因素。
一、工具的市场占有率。大家都选择的东西通常会是比较好的东西。而且市场占有率高也通常表明该企业经营状况会好一些,被人收购或者倒闭的可能性小一点。
二、工具本身的特性,如稳定性、易用性、安全性、扩展能力等。你应当在投资以前仔细地对工具进行试用和评估。这儿比较容易忽略的是工具的扩展能力(Scalability),你现在可能只是在几个人、十几个人的团队中部署这个工具,但是以后可能会有几十个、几百个人要在依赖这个工具建立的平台上工作,到时候这个工具能不能提供这样的支持能力?如果到时候要换一个工具的话,你一定会后悔今天的选择。
三、厂商支持能力。工具使用过程中一定会出现这样那样的问题,有些是因为你使用不当引起的,有些则是工具本身的毛病。这样的问题会影响到开发团队的工作进度,你一定希望能随时找到厂商的专业技术人员帮助你解决这些问题。
配置管理工具不是用一次两次的工具,因此,选择配置管理工具其实是选择和哪个厂商来建立一种长期的关系;如果你不信任或者干脆就是不喜欢这个厂商的技术代表,那么,不管他把他的东西吹得怎么个天花乱坠,还是赶紧让他走吧。