一个门外汉要学习做一件事情,应该都会有犯错的过程,都会走弯路,干傻事。有时候,经验是通过流血撞墙得到的。
  在做配置管理的过程中,我应该有过好几次这样碰得鼻青脸肿的经验。
  第一次,移库。当时刚接触配置库,对于svn移库不方便这事很不能理解。(需要先在服务器上checkout到本地,再上传到新库另一个repo)。系统管理员一个人干需要几天。于是想发动大家的力量去移库。后发现,与几十个人沟通的成本远远超过移库本身需要的工作量。后灰头土脸的只好自己干。
  第二次,担任某项目的cm。完全不懂研发流程,对cm流程也不了解。去跟项目开例会,完全听不懂。无法和研发人员沟通。后灰头土脸的退出(我完全不知道要做什么)。项目cm的推行也此作罢。成果是大概了解了一下项目的态度。后来开始自己吭哧吭哧搭流程,朝着可操作的方向走。直到比较成熟之后,开始挨个培训项目cm,手把手教他们做一二三四。
  第三次,配置项版本发布。招了个实习生,吭哧吭哧指使人家把很多文档都走OA流程发布到svn上。结果没什么用,那些文档后来被我删了。那个实习生后也没来我们公司上班。的成果是: 得出配置项这么发布不行的结论。
  第四次,又来一个实习生。让他一起写一个指引文档。当时写了几十页。后来基本没怎么看过。也没发布出来用。但是,后面一些模板倒是用的很普遍。
  第五次,想跟领导申请专职的岗位,招聘专职项目cm搭建团队,无果。岗位职责定义的时候,除了配置管理工程师,还配备一个系统管理员专门做配置工具,结果被领导开会时当着很多人骂了(其实我到现在也不知道为什么骂我,用专业的人干专业的事有啥不对吗?)。现在,兼职的项目cm有希望用专职的替换(答应给人了),系统管理员还是没戏。
  第六次,培训。初尝试给大家培训,往往很多人不来,是总监发话也没用。来了要么带个笔记本,要么玩手机,效果不算好。态度上不重视是普遍的。真正有效的培训是从项目cm的一对一培训开始。因为我们不止步于每人2小时的一对一培训,接下来还要实操,写配置文档,做计划,打基线,查svn使用规范,组织项目成员培训。一轮下来再不用心的人也知道怎么该做什么了。这个过程中,发现虽然很多项目经理还是不太重视配管(有时兼职与研发任务冲突),但是由于责任明确到人,有计划,有规范,执行的效果还是不错的。如果再遇到个有责任心的项目cm,效果更明显。
  后来一切似乎好起来了,大家好像突然重视一些了。副总要求重视版本发布。产线领导主动提自动构建的需求,打工程基线的需求。有些项目经理会主动提审计要求,还有领导提度量的要求,提权限控制的要求,有项目cm提增加基线的要求。我打算年后完善配置的重点-变更控制。还在跟QA商量上一套合适的系统,把配置状态报告自动化实现(虽然现在看起来有难度,公司向来不肯投钱买系统。)如果这一切做好了,CMMI二级算不算达到了呢?差不多了吧。
  从没有任何资源支持,没有人认可,没有人看好,从菜鸟到门内汉。现在这个状态,用QA的话来说是“好太多了”。虽然我一度想逃跑,但因为种种的原因默默坚持下来了。没有人管的好处是可以自由发挥。虽然干了很多蠢事,走了很多弯路,结果现在看起来还凑合。