首先我想告诉大家,要做好配置管理,有几个概念一定要理解清楚:
1、基线。
2、配置项。: V# F0 I% f& H% j3 }0 H! W
3、变更。
4、版本。9 _4 J' X: s9 D$ U5 u/ H# U
5、标签或tag。这个是理解它的作用。- s8 Z& h, k6 H" U8 t
6、工作区及工作区隔离。
理解了以上我们再谈后面的内容,在做配置管理之前,我做过三年的测试,后来老板看我有耐心,赶鸭子上架做了配置管理,以下是我这几年的经验总结,仅作交流。
1、软件公司的开发流程,对软件工程一定要熟悉,尤其是开发模型,你不能保证公司的所有项目使用一个模型。比如:瀑布、迭代或者极限编程。只有熟悉这些开发模型,你才能参与到公司的流程制定中去。: H1 h4 f0 J4 I; J* T# x9 V' e
2、熟悉一些标准,比如:iso 9000和CMMI。一个公司想要发展大,想要稳定,就一定会有一套稳定的流程。而熟悉标准,会更有利于你理解和说服你的同事。记得以前一个同事说过这样一句话,一个公司想要长大,那一定必须是一头小象而不能是一只大蚂蚁。而一个做有流程,愿意将公司的事情流程化的公司才能保证不因人成事,才能长大。; Z" c7 A, u& y
3、沟通能力。配置管理员的工作就是沟通协助需求、开发及测试人员工作。而一个新的项目的建立意味这大家都是新人,来自不同的行业不同的公司,公司文化不同,做事的方法也不同,你只有有好的沟通能力,才能说服项目经理支持你的工作,才只能说服开发测试人员按你要求的流程工作。" |* M% E- n2 b& Q
4、编程能力。想做好配置管理,你就不得不编写一些配置脚本,以方便开发测试人员,同时减少自己的工作量。2 K$ Z9 ^, i4 t) `9 T4 E" n: R) O
5、数据库知识。一般来说配置管理员,同时要管理BUG跟踪或需求管理的系统,那免不了老板会让你提供一些统计数据,所以数据库知识也是必不可少的。
6、系统知识。多说公司的配置管理员还要负责开发测试环境的维护,那么有系统知识,无疑可以减少你求助的机会。
现在说说我做过什么?
一、上海项目的时候,只是负责系统的配置管理,包括代码编译,上线,这个系统比较大,但是还好,我是从别人手上接手的,所以还在顺序。
二、集团项目的的时候,我同时维护9个省的测试上线环境。: i6 ?; m6 M$ ~6 A- T7 o
由于用户一直是用unix系统,所以顺便学会拉shell ,学会来在ibm,hp,sun的小型机上安装配置软件。
尤其是bes521的安装,简直是无言啊?宝蓝从总部派人过来,现场安装,配置、测试,美国总部修改bug,然后打补丁,终于,我写了一本安装手册,两年后公司同事还在用。安装ibm的websphere的时候,我发现需要打操作系统补丁,于是比较傻瓜的我,安装拉最新版的补丁,要命的是这个websphere比较变态,尽然只能用它指定版本,所以到现在我都恨websphere啊。1 m6 G" [2 G0 e
要说最大的收获,就是在压力下面,我做事情很负责,我的努力让公司项目经理面对甲方也很硬气。3 L/ ~) [6 d8 c6 Y0 z
三、做公司的openboss系统。这个系统对我的锻炼很大,工作如下:
1、写cvs脚本,保证代码能在提交的时候,同时建立开发和构建分支,同时不能是分支之上建立分支。
2、和一个没有任何配置管理经验的开发团队扯皮,扯开发流程,扯目录结构,扯Makefile模板,扯代码命名规范,然后想办法让他们执行。
这个系统很大,到今天,已经有11个移动,3个网通,3个电信在使用。分出来的系统现在也有15个拉,仅仅营业和账务两个系统,unix后台就有500多个动态库,当时扯皮,现在受益。
3、和总工办一起搞unix主机下的编译选项,由于用户的环境复杂,所以要求做到,代码写出来后,可以跨cpu,跨操作系统、跨中间件、跨数据库。所以这个过程让我对unix下的编译器熟悉起来,不然无法做到。让我自豪的是到现在,开发人员只要修改Makefile模板很少的地方,就可以跨平台编译拉。* E4 s1 [7 g& r% a
4、编写自动编译脚本。通过我们开发的自动编译系统,开发人员只要在浏览器中提交编译单就可以自动编译拉。而如果开始的时候,如果没有将目录规划好,我想自动编译就是无源之水。, N- Z. I6 k+ g: ~& F
这个系统我们web部分用jsp,unix用tcl/tk脚本。现在已经集成到QCS的源码管理中,还在改进,还在使用。
' N# @ B7 P( A, P( E& O! U
四、公司的QCS系统(质量控制系统)。# n$ ^" ^5 q2 e; X% i& W
这是一个配置管理系统,通过rsh将CVS和QCS结合在一起,用jsp和oracle的存储过程开发,其中包括:需求管理、功能点管理、任务管理、源码管理、bug管理、工程故障管理、接口管理、数据库变更管理、版本管理、发布管理、回退管理等模块的系统。4 {$ F( P/ j8 S, Y: s
0 a3 P# B" {9 M6 L
五、参加公司的EPG小组,并且以配置管理员的身份参与评审。, {( q9 y( D& ^% e
公司两年前已经通过CMMI 5的认证。我加入公司的公司只是通过拉CMM 2级。后来由于甲方的要求,公司开始CMMI的认证。这中间有大量的文档要写。尤其是配置管理员,在几乎所有的过程中,都要参与评审,所以准备工作做拉好久。到 CMMI 5级的时候,就要提供大量的统计数据来说明持续改进的结果,所以对QCS就需要不少地方做改动,来收集数据。还好公司一直注意这块,我们的各种脚本,模板,都是尽量的优化以满足开发测试人员的需要。所以后来的评审中基本没有费什么事就过拉。
冰冻三尺; Q: b: j+ J+ U
上一篇:研发过程管理精要 下一篇:配置管理步步高:配置管理的主要活动 |