技术开发 频道

浅谈软件配置管理实施的计划

【IT168 技术文章】

    在我帮助一些软件团队实施软件配置管理的时候,我发觉很多朋友都喜欢这样问我:“你手头有没有别人写好的软件配置管理计划,能不能借我看一看”。后来我发现在网上一些软件工程方面的论坛上,类似“谁有软件配置管理计划的模板”这样的帖子也很多。

    “预则立,不预则废”,软件配置管理计划对于配置管理实施的重要性毋庸多言。大家想看看别人做的配置管理计划或者模板,无非是想学学别人的成功经验,避免自己走一些弯路。

    但是我想,在这方面,更应该学习的应该是计划软件配置管理实施的思路,毕竟,各个开发团队不同的地方太多了。下面是我观察和思考的一些成果,和大家分享。

    像你的老板一样思考

    作为一个配置管理实施的执行人员,你怎么样才能够保证这项活动的成功呢?

    说起来很简单、但是也是最重要的第一步,就是定义“成功”。

    很多负责配置管理实施的人员都是技术人员出身,我经常能在他们身上观察到的一种现象就是:出于对技术的热爱,他们希望把软件配置管理学习、理解得很透彻,然后同样出于对技术的热情,希望能把所有在技术上很“诱人”的东西都实践起来。

    我绝对没有贬低这种热情的意思(事实上,我自己也经常被这种热情所导引);但是,我们一定要小心地提防这种热情把我们引离了通向成功的方向。

    为什么要实施软件配置管理?因为有效的配置管理可以帮助我们提高软件产品质量、提高开发团队工作效率。

    什么是“成功”的配置管理实施?很简单,只要比较配置管理实施活动前后,软件产品的质量是不是得到了提高、开发团队是不是能够工作在一个有助于提高整体工作效率的配置管理平台上。

    软件配置管理活动在整个开发活动中是一项支持性、保障性的工作,它本身并不直接为企业产出可以直接赢利的工作成果;而配置管理每一项活动都需要消耗企业的人力资源,有些还需要购置专门的工具来支持活动的进行,这些都会导致企业生产成本的增加。

    所以,在我们计划实施配置管理时要做哪些事情的时候,要小心地界定每一项活动,取舍的标准就是:从事这项活动是不是真正有助于我们实施活动的成功?它对于提高我们产品的质量有多大的帮助?能否帮助开发团队更高效率地工作?

    大多数情况下,你的老板花钱让你来做配置管理,并不是来让你学习配置管理或者研究配置管理,而是希望你的工作能帮助他改变些什么;他的投资成功与否,是用投资回报率(ROI,return-on-investment)来衡量,而不是你对于配置管理技术研究的程度。

    评估开发团队当前配置管理现状

    计划配置管理实施的基础,是搞清楚开发团队当前配置管理的现状。知道自己现在站在哪里,才明白自己下一步要往哪里走。 对于配置管理现状的评估,可以自己进行,也可以引入外部专业咨询人员来完成评估活动。

    自己进行评估的话,可以参照SW-CMM中关于软件配置管理这个关键过程域的资料;也可以利用PMT编写的《软件组织配置管理能力自我评估问题集》,来完成自我评估的工作。

    引入外部专业咨询人员进行评估有两个好处,一是通常这样的咨询人员有比较丰富的配置管理实施经验,评估工作可以进行得更加细致,而且通常咨询人员会在评估结果的基础上提出实施的建议;二是引入外部人员,通常评估结果会比内部自我评估更客观。坏处是要花钱,而且如果该咨询人员与具体的配置管理工具厂商有利益关系的时候,也可能会出现评估过程受到这种利益关系影响的情形。

    不管以何种方式进行,评估这个步骤的工作是一定要仔细进行的。有了评估的结果,才谈得上改进。做好这个工作,比到处去找一份配置管理计划的模板更有意义。

    定义实施的范围

    对于没有正式实施过软件配置管理的开发团队来说,在配置管理方面存在的问题可能会比较多;经过评估,会找出来很多需要改进的点,那么,怎么样来计划改进的工作步骤呢?

    曾经有一位朋友向我展示他撰写的软件配置管理计划,从基本的版本控制、基线管理、变更管理,到软件构建的管理(Build Management)、配置审核(Auditing)、配置状态的报告,洋洋洒洒,什么都做在计划里了。他的团队以前没有太多配置管理的概念,因而也出现了很多一直困扰他的问题,在我向他介绍配置管理可以帮助他改善或解决这些问题以后他变成了一个配置管理技术的爱好者。我想他一定仔细研读了RUP配置管理工作流、IEEE软件配置管理标准之类的资料然后写出了这份计划。我对他的计划提了一个问题:“你觉得按照日程安排我们做得完这么多事情吗?”

    这就是前边说过的,热爱技术的朋友最容易出现的情况,为技术而技术、为流程而流程;我记得一位朋友跟我说过一句非常有意义的话:流程改进应该是以结果为导向的(Result Oriented)。配置管理的实施也是如此,应当在当前评估的基础上,抓住团队最头疼的几个问题,努力想办法解决这些问题。

    大家都知道管理学里有一个黄金法则:80/20法则。在这里我们也可以套用一下,想一想:我如何才能找出20%的问题,在当前这个阶段,这20%的问题给我的团队带来80%的困扰和痛苦,然后,我们集中80%的精力来解决这些问题。

    一句话,不要企图一口吃个胖子。流程改进是一个持续的历程,一个阶段会有一个阶段改进的重点,抓住重点、做出成绩,才是有效的改进之道。

0
相关文章