技术开发 频道

软件配置管理 软件项目的先行者

【IT168 技术文章】

    前言――“不该发生的故事”  

    “配置第一”这个理念是一位IT公司的项目经理告诉我的,他用了“深刻教训”四个字来为这个言论作注脚。他告诉我这样一件事:

    这家公司曾为电信企业开发一个手机收费的中间业务系统。按规定,系统的收费平台应根据第三方传来的手机资费信息进行扣款。其中,负责网络通讯的路由器是由多家厂商提供的。

    在项目试运行阶段,系统运行一切正常。这时,有一家路由器厂商(以下简称A厂商)要升级运行程序,网络通讯接口要变,A厂商向电信提出了修改接口程序的提示。负责项目开发的这家IT公司很快完成了通讯接口修改,和A厂商联调测试无误后,准备将接口程序发布运行。负责程序发布的老兄嫌版本发布流程太麻烦,便走捷径,私自将程序更新上线了。未料到,接口的改变影响了电信与其他厂商路由器的数据通讯。途经A厂商路由器的通讯数据没有问题,可其他品牌的路由器却收不到信息了。后果是:当天电信用户的手机资费信息数据报大量遗失,相关电信资费损失无法挽回。

    负责软件承包的IT公司境遇可想而知。“痛定思痛,痛何如哉!”从此,该公司痛下决心,买工具、定规范、搞培训,将配置管理切切实实地作为日常重点管理工作来抓。

    配置管理是什么“东东”,它真这么重要吗?

    软件配置管理是一门应用技术、管理和监督相结合的学科,通过标识和文档来记录配置项的功能和物理特性,控制这些特性的变更,记录和报告变更的过程和状态,并验证它们与需求是否一致。


    -----摘自IEEE定义

    简而言之,配置管理(Software Configuration Management , 简称SCM)就是对软件产品的配置项进行控制和管理。它的目标是最大限度的减少错误和混乱,保证软件项目工作产品在整个生命周期内的完整性。

    配置管理的对象是配置项,主要包括:接口描述、过程描述、需求、设计、测试计划、测试结果、代码及模块、工具、系统参数、版本描述等。配置项与配置人员、配置工具、配置规范等构建起了整个配置管理体系。

    配置管理的出现是项目发展的必然结果

    软件技术迅速扩展,项目开发日趋复杂,人员数量不断扩充,系统开发平台多样化,开发及测试场所分布各地,开发规模日益扩大,随之而来的管理复杂性急剧增加。

    软件开发永远不变的特点就是变化,需求变更、技术更新、人员变化、环境变化、架构变化等层出不穷,所有这些使项目风险大大增强,如何应对并追溯变化,从而控制变化,是一个重要课题。

    软件系统越做越大,产品组件动辄上千,多者上万,版本控制如何着手,令人头痛。

  “乱世出英雄”,配置管理便在这样的环境下应运而生了。

    配置管理的管理范围恰是项目开发、协调最混乱的地方:

    交付给用户的软件产品(需求、源代码等)

    软件产品的外部产生“环境”(操作系统参数、编译程序等)

    对项目内部而言工作产品(过程描述、流程控制等)

    那么,这种管理的特点是什么呢?它到底能带来什么好处呢?

    特点  

    相对独立。配置管理相对独立于其他管理控制活动,它可以在其他活动都未开展或还不成熟的时候独立进行。

    是其他各项管理的基础。需求管理、需求变更、资源变更、系统维护、合同管理、计划管理、文档管理等都是在配置管理这个“平台”基础上进行的。

0
相关文章