国内软件公司实施配置管理,已经取得了很多进步,也提高了软件的质量。但是对于软件配置管理,有很多公司对它的理解比较模糊,或者在真正的配置管理实施过程中存在着误区。从专家们的讨论中,我们了解到国内的软件配置管理主要有三个方面的误区。
误区一:版本控制=软件配置管理
也许很多人不承认自己对于软件配置管理的理解局限在版本控制上,但在具体实施配置管理的过程中,就只见版本控制,而不见真正的配置管理。其实版本控制只是配置管理最基本的层次和功能。当然只有进行了版本控制,其他的功能才可能会逐渐提升。就是一个基本的版本控制,在部分软件公司中也并不是一个非常正规和完善的过程。
这种问题,归根到底在于软件公司对软件开发流程的管理在意识上不够重视。国内软件企业的开发管理不是很规范,即使在大的软件公司里面,项目组对于开发管理的关注也是有限的。另外一个原因是由于开发管理中资源的不足,比如:资金的缺乏(导致不能购买功能齐全、价格昂贵的商业产品)、人力资源(不能招聘专业的配置管理人员),因此不能在公司内部实施体系化的配置管理。
误区二:编码水平最差=配置管理员
配置管理人员是配置管理具体实施的人。可以说公司制定了配置管理的流程和规章只是配置管理实施的基础,而真正配置管理能否实施,能否有效,关键在于从事配置管理的人员。但国内的一个误区是:在选择配置管理人员的时候,是寻找开发团队中编码水平最差的人。比如张三写代码不行,测试也不行,那就只好去从事配置管理工作了。
谷炼对此深有体会。谷炼有在日本Rational和国内在配置管理领域工作的经历。相比国内低水平的配置管理人员,国外公司一般都由有丰富编程经验的人担任软件配置管理人员,有的时候配置管理部分的工作职责直接由开发经理担任。配置管理人员的级别也相当高,被认为是项目经理的左右手,拿的是双薪。
其实一个SCM人员的责任相当重大,一个团队所有的代码、文档都由其负责,国内处于一个相当尴尬的境地,认为一个什么都不懂的人担任,才能保证这些代码文档的安全。
当然国内也不泛重视配置管理的公司。据传说华为就非常重视软件配置管理,除了设置CTO、CEO,好像还设置了一个CMO(Configuration Management Officer,或者叫配置经理)。
误区三:采用配置管理工具=有效的配置管理
配置管理工具在软件配置管理中起着不可替代的作用。没有工具的支持,实施一个完整合格的配置管理是不可想象的。也许正是因为工具的重要,造成了很多软件公司对于工具的迷信,以为只要部署了配置管理工具,尤其是专业商业工具,就自以为建立了配置管理体系。
使用好的工具并不能代表就能实施好配置管理。因为工具就是工具,工具不能代替管理。否则为什么总是说配置“管理”而不单单说配置“工具”呢?一个成功的配置管理工具实施,需要两个方面的条件:一是规范的软件开发流程;二是合格的配置管理参与人员,这里的配置管理参与人员包括了配置管理员、开发人员、项目经理等。
对此,邓小年认为:“无论怎么样,没有流程和规范地使用工具,那么再强的工具也没有灵魂。比如简单的一个check in操作,不同的人用起来可不一样。有人修改后,进行build,然后check in;有人修改后,进行build,并简单的测试再checkin,也有人修改后马上check in,……可看出不同的人使用工具的同一操作有不同的后果。”