为何要选择SCMSoftBases.r.l.软基公司联系地址:ViaAldoMoro1325124BresciaITALY电话:0039030221550传真:0039030220287Email:softbase@softbase.it(英文咨询)Email:tian.xiang@softbase.it(中文咨询)www.softbase.it一一一一....软件变更软件变更软件变更软件变更&配置管理的背景历史配置管理的背景历史配置管理的背景历史配置管理的背景历史配置管理(ConfigurationManagement)的概念源于美国空军,为了规范设备的设计与制造,美国空军1962年制定并发布了第一个配置管理的标准“AFSCM375-1,CMDuringtheDevelopment&AcquisitionPhases”。而软件配置管理概念的提出则在20世纪60年代末70年代初。当时加利福利亚大学圣巴巴拉分校的LeonPresser教授在承担美国海军的航空发动机研制合同期间,撰写了一篇名为“ChangeandConfigurationControl”的论文,提出控制变更和配置的概念,这篇论文同时也是他在管理该项目(这个过程进行过近一千四百万次修改)的一个经验总结。LeonPresser在1975年成立了一家名为SoftTool的公司,开发了配置管理工具:ChangeandConfigurationControl(CCC),这是最早的配置管理工具之一。随着软件工程的发展,软件配置管理越来越成熟,从最初的仅仅实现版本控制,发展到现在的提供工作空间管理、并行开发支持、过程管理、权限控制、变更管理等一系列全面的管理能力,已经形成了一个完整的理论体系。在国外已经有二三十年左右历史的软件配置管理,但在国内的发展却是在21世纪这几年的事。举例来说,在欧美对银行或保险公司这样的金融系统谈到CCM(Change&ConfigurationManagement),不用解释和说明其功效和必要性,他们就主动寻求这样的公司为他们提供相关的服务。然而在中国,这个概念还不算完全普及,一切刚开始。不过,基于中国高速的发展,这一行面貌也日新月异。二二二二....什么是什么是什么是什么是软件软件软件软件配置管理配置管理配置管理配置管理((((SoftwareConfigurationManagement,,,,即即即即SCM))))维基百科全书(搜索自google,关键字输入“软件配置管理”)对SCM的定义如下:软件配置管理(SoftwareConfigurationManagement),又称软件建构管理。界定软件的组成项目,对每个项目的变更进行管控(版本控制),并维护不同项目之间的版本关联,以使软件在开发过程中任一时间的内容都可以被追溯,包括某几个具有重要意义的数个组合,例如某一次交付给客户的软件内容。事实上,由于各不同企业和单位的需要,他们各自根据需要来定义SCM,因此,SCM的定义也是成百上千各不相同。但是,其大致意思全都和维基百科的定义相差无几:配置管理是对产品进行标识、存储和控制,以维护其完整性、可追溯性以及正确性的学科。用通俗的话来说,就是:出现了变更需求,如何省时省力省钱的领导变更。为何要选择SCMSoftBases.r.l.软基公司联系地址:ViaAldoMoro1325124BresciaITALY电话:0039030221550传真:0039030220287Email:softbase@softbase.it(英文咨询)Email:tian.xiang@softbase.it(中文咨询)www.softbase.it三三三三....为什么为什么为什么为什么配置管理配置管理配置管理配置管理如此重要如此重要如此重要如此重要在软件的开发、使用一直到最后的废弃这个生命周期过程中,变更是绝对不可避免的。有经验的程序员都了解,在变更的过程中会出现的问题很多,比如:几个人在彼此并不知晓的情况下修改同一个错误,白白浪费时间精力;测试错了版本,经提醒才指导弄错版本又得重新来;在已提交的新版本中,旧错误重新出现,需要再次更改;客户手中的错误很难发现,因为不知道客户用地哪个版本……用术语来解释一个没有实施配置管理的软件项目,常常出现的问题就是:版本混乱、文档不统一、工件遗缺等。这些问题归根到底是软件质量的问题。因此对于什么是成功的软件配置管理,一个最简单的方法是比较配置管理实施活动前后,软件产品的质量是不是得到了提高、开发团队是不是能够工作在一个有助于提高整体工作效率的配置管理平台上。具体到配置管理中的每项活动,是否成功的标准是:这项活动是不是真正有助于我们实施配置管理的活动?它对于提高我们产品的质量有多大的帮助?能否帮助开发团队更高效地工作?软件配置管理的实施首先需要有一个规范的软件开发流程,因此对于一个软件公司而言,要实施配置管理,首先是需要对自身的软件开发流程进行再造。再造水平的好坏决定了配置管理是否仅仅是版本控制,是否能够有效的实施配置管理。流程不好,也许就仅仅到达版本控制的水平,不能达到变更控制、过程管理等“配置管理”的较高水平上。因此,如何管理这些变更是一个软件开发能否成功的关键,因为这个和时间和经济效益紧密地结合在一起,使用了变更配置管理,可以明显地看到项目更加清晰化,质量提高的同时更加省时、省钱。所以,这就是为什么在欧美大银行和保险公司多年来一直纷纷采用这项技术。说白了,就是““““现在花小钱现在花小钱现在花小钱现在花小钱,,,,将来省大钱将来省大钱将来省大钱将来省大钱””””这样一个概念。四四四四....中国中国中国中国配置管理的配置管理的配置管理的配置管理的现存的现存的现存的现存的三大误区三大误区三大误区三大误区国内软件公司实施配置管理,已经取得了很多进步,也提高了软件的质量。但是对于软件配置管理,有很多公司对它的理解比较模糊,或者在真正的配置管理实施过程中存在着误区。从专家们的讨论中,我们了解到国内的软件配置管理主要有三个方面的误区。误区一:版本控制=软件配置管理也许很多人不承认自己对于软件配置管理的理解局限在版本控制上,但在具体实施配置管理的过程中,就只见版本控制,而不见真正的配置管理。其实版本控制只是配置管理最基本的层次和功能。当然只有进行了版本控制,其他的功能才可能会逐渐提升。就是一个基本的版本控制,在部分软件公司中也并不是一个非常正规和完善的过程。为何要选择SCMSoftBases.r.l.软基公司联系地址:ViaAldoMoro1325124BresciaITALY电话:0039030221550传真:0039030220287Email:softbase@softbase.it(英文咨询)Email:tian.xiang@softbase.it(中文咨询)www.softbase.it这种问题,归根到底在于软件公司对软件开发流程的管理在意识上不够重视。国内软件企业的开发管理不是很规范,即使在大的软件公司里面,项目组对于开发管理的关注也是有限的。另外一个原因是由于开发管理中资源的不足,比如:资金的缺乏(导致不能购买功能齐全、价格昂贵的商业产品)、人力资源(不能招聘专业的配置管理人员),因此不能在公司内部实施体系化的配置管理。误区二:编码水平最差=配置管理员配置管理人员是配置管理具体实施的人。可以说公司制定了配置管理的流程和规章只是配置管理实施的基础,而真正配置管理能否实施,能否有效,关键在于从事配置管理的人员。但国内的一个误区是:在选择配置管理人员的时候,是寻找开发团队中编码水平最差的人。比如张三写代码不行,测试也不行,那就只好去从事配置管理工作了。配置管理员谷炼对此深有体会。谷炼有在日本Rational和国内在配置管理领域工作的经历。相比国内低水平的配置管理人员,国外公司一般都由有丰富编程经验的人担任软件配置管理人员,有的时候配置管理部分的工作职责直接由开发经理担任。配置管理人员的级别也相当高,被认为是项目经理的左右手,拿的是双薪。同样,在欧洲,配置管理人员都是被高度重视的,SoftBase软基公司在欧洲近二十年实践也说明了这一点国内的观念存在的误区。其实一个SCM人员的责任相当重大,一个团队所有的代码、文档都由其负责,国内好像是处于一个相当尴尬的境地,认为一个什么都不懂的人担任,才能保证这些代码文档的安全。误区三:采用配置管理工具=有效的配置管理配置管理工具在软件配置管理中起着不可替代的作用。没有工具的支持,实施一个完整合格的配置管理是不可想象的。也许正是因为工具的重要,造成了很多软件公司对于工具的迷信,以为只要部署了配置管理工具,尤其是一个专业的商业工具,就自以为建立了配置管理体系。使用好的工具并不能代表就能实施好配置管理。因为工具就是工具,工具不能代替管理。否则为什么总是说配置“管理”而不单单说配置“工具”呢?一个成功的配置管理工具实施,需要两个方面的条件:一是规范的软件开发流程;二是合格的配置管理参与人员,这里的配置管理参与人员包括了配置管理员、开发人员、项目经理等。(声明:以上内容参考自yesky.anhuinews.com/SoftChannel/72342393352880128/20040417/1788816.shtml-38k-补充材料–网站)