流水先生 2007-3-13 11:12
啥叫软件配置管理?——一个通俗的解释
作为一位从事软件配置管理工作的同志,我经常被亲朋好友问到的是,我有时候要向各级领导游说的是,啥叫软件配置管理?
我的经验是:
1. 如果想让他们从迷茫到更迷茫,那就跟他们背一段ISO/CMM里的定义。
2. 如果不想深谈,或者背景实在相差太远,那就跟他们说:
“当很多人在一起编写软件的时候,需要一些专门的管理和技术,让他们能够合作顺畅。
软件配置管理就是其中的一种。”
3. 如果大概讲一下,能有个概念,那就跟他们说:
“软件配置管理是围绕软件资产的管理。
啥叫软件资产呢,就是设计文档啦,源代码啦,可以跑的程序之类的。
那么,有什么要管理的呢?让我们把它和图书馆的图书管理做个对比。
它们有一些相似点。
首先,图书馆图书管理管的是图书资产,软件配置管理管的是软件资产,它们管的都是信息资产。
其次,图书管理,需要把图书进行分类,以便检索,需要图书存放在合适的地方,以便存取,还要防止虫吃鼠咬。
软件配置管理也类似,需要把软件资产——主要是源代码什么的,放在合适的目录结构里,放在合适的地方存储,防止丢失或者弄乱。
再次,在图书馆,要记录谁借出了哪本书,还没还。
而软件配置管理中也类似,需要记录谁借出了什么文件。
不过,跟图书管理不同的是,软件开发人员借出文件,常常是为了修改它。
软件配置管理要记录谁修改了什么文件,为什么修改,等等。
这里就引出了一系列事情要考虑:
比如,每个文件,不断修改,就产生了一个又一个的版本,需不需要存储呢?
一个产品的整个源代码树,也在总体上产生一个又一个的版本,需不需要存储呢?
怎么存储呢?
比如,可能两个人想要同时修改一个文件。这可能会导致一个人的工作丢失。
那么,是让他们一个改完了另一个再改呢,还是让他们同时改,将来合并呢?怎么保证呢?
再比如,有时候,一个公司会生产一系列相似的软件产品,它们之间是不是可以有某些共享呢?
在一个产品上的改动,是不是能比较方便的加到另外的产品上去呢?
所以说,软件配置管理是围绕软件资产的管理:
保证它们的存储;保证改动它们的时候,也就是进行软件开发的时候,不会产生混乱,有条有理,省时省力;等等。”
第3种解释,是我最喜欢的解释。
虽然还不完全(比如,没有说配置/关系),也不严谨(净是用劳动人民的大白话说的),
但是能给没怎么接触过SCM的同志一个比较正确、比较容易接受的第一印象了。
而且让人觉得,SCM确实有用~~~
懂你 2007-3-13 13:32
流水先生 对软件配置管理得概念理解得非常透彻,给了很多在迷雾中探索得人们送去了一盏明灯。
也希望更多得人能从各种角度,打各种比方来说明配置管理得作用,意义。这对在国内推广配置管理是非常有价值得。
阿作 2007-3-13 16:27
呵呵,我在给公司同事做培训的时候,也曾经打过一个比方。
配置项标识,就像是一道道菜,每一道菜都有一个菜名。一说起鱼香肉丝,大家就知道,一盘由肉丝和辣椒、胡萝卜丝等炒在一起的菜。顾客点鱼香肉丝,大师傅不会上鱼香茄子,或者是红烧排骨等等。
这个菜名,就是配置项标识。
只不过我没太系统的描述过,这么来看,菜谱就相当于配置库了吧,呵呵。
没有蛀牙 2007-3-13 16:36
我个人觉得配置管理就象是给一个工厂的流水线搭好架子,工人以后可以在这个流水线上按照事前设定好的规则进行操作
而且每一步操作都有详细的记录::em70::
violet 2007-3-14 14:27
谢谢!这样理解容易度多了,不过真的让配置管理起到作用,可是很不容易的.大家有什么经验?都说说吧.
fzbh 2007-3-15 09:40
呵呵,看了大家的贴子,长了不少见识,以后培训可以借鉴借鉴。
阿加莎 2007-3-15 11:01
配置管理是技术管理与行政管理的结合。通过技术,流程手段,及有效工具,对产品生命流中不同阶段的产品成果进行标识,并进行有效管理,从而可获得客户所需的不同的各种精确的产品配置,并满足客户需求的一种管理科学。
SCM_Jane 2007-3-16 10:58
哇!::em64::
流水先生是清华大学的高材生啊!
什么时候能到我们公司来做做培训就好啦!
我现在实在是太头疼了,整个公司就我一个人在做scm,还得不到研发部门多少支持::em78::
carol-es 2007-3-21 11:54
流水先生的解释给了我们一盏灯,我也是做SCM的::em67::
shuku 2007-3-22 00:50
偶像。。。
希望能加我Msn:xlf_virgo@hotmail.com
在实际操作上很想请教
hmilu 2007-3-22 18:41
曾经有领导问起,我们所说的配置管理的配置与电脑配置清单中的配置是否一样?有区别吗?当时没有回答出来。
helen_bj 2007-3-27 10:07
如果有人问我,通常有几个回答
第一个回答,管版本的,立即茅塞顿开
第二种回答,管版本控制工具的,也明白
第三种回答,做CMMI的,也有人理解
第四种回答,就是配置管理,不是研发不是QA....继续云里雾里.
为了免却口舌,我通常说自己是做项目管理的...
yjg021 2007-3-30 12:36
长水
::em61:: 啊,都是高材生,刚出道接触SCM工作,没有经验,在此学习了不少知识,谢谢各位关照,希望我们多多交流共同进步.
劳动者 2007-3-30 23:13
[quote]原帖由 [i]hmilu[/i] 于 2007-3-22 18:41 发表
曾经有领导问起,我们所说的配置管理的配置与电脑配置清单中的配置是否一样?有区别吗?当时没有回答出来。 [/quote]
我觉得比较理想的解释是:当有成千上万个电脑清单时,配置管理就可以顺利的进行管理。