CM,俗称配置管理员(Software Configuration Management Engineer)。
CM也是在大规模软件研发的形成,成熟,与发展过程中慢慢形成的。慢慢的产生了这个角色。QM(或者一些在公司里的制订软件研发流程的部门)制订了各项公司研发相关的流程,规范等等。这些有的是借鉴而来,而有的则是针对公司目前的现状,结合公司以往的开发经验总结出来的。而CM在软件研发的过程中就要保证这些相关的流程被执行,促使这个流程被执行的同时,还起到一个监管的作用。
而对于小公司来说,赚钱,掘到第一桶金是最重要的。那么就要快速的研发出产品,并要把它卖出去。这个时候最有效的,能够针对市场,客户快速反应的流程是最重要的。而对于X所在的公司,根本没有规范的流程,可以说所有的流程还处在慢慢形成的过程中。那么这个时候配备一个专职的CM,明显是有点过头了。作为一个CM,我不能说这样不好,我只能说一个专职的CM对于一个8个人的开发团队来说,太奢侈了。兼职足以。
其次说说CM在这样小公司的处境。
在这样的小团队做专职CM是不太现实的,兼职CM是务实之举。如果你想在这样的一个小团队专职做CM,那么很快就会发现问题。CM的工作很少,而开发团队那边很忙。这个时候老板就会怀疑说,配备一个专职CM是不是有必要?也许找个开发人员来兼职一下能省更多的钱。如果公司发展不是很快,这个专职的CM迟早要会被裁掉。而兼职CM则就有很好的保障啦。忙时能提刀上马写code,平时还可以摘盔卸甲管代码,更多的情况是一边写code,一边管代码。但是既然你有两种角色,老板给你分配任务的时候,肯定会考虑你的情况,给你少一些研发任务的。
一边写code,一边管代码的兼职配置管理员(CM)是大有前途的。因为你在为别人提供服务的同时,自己也在享受着这份服务。当你享受服务的同时,发现了问题,还会督促你去提高你的服务质量,更好的为团队的研发服务。这是一个互相影响互相促进的过程。
还有就是在这样的小团队里,CM的成长是很缓慢的。CM在中国目前还不是很成熟。有个人带着自己去成长,肯定要比自己去摸索要成长的快,能知道的也多。
所以说相对于专职CM来说,兼职CM是个更好的选择。以后你想跳槽找个研发了你还具有配置管理的经验;想跳槽找CM的职位了,你还有研发的经验。岂不是很好?