转自小荷的博客:http://www.oracleblog.org/its-my-life/ibm-gdc-you-are-unable-to-innovate/  
说IBM不会有创新,可能有不少IBMer要跳出来了:什么?IBM不会有创新?那沃森的人机问答大战是什么?IBM的蓝云战略是什么?IBM的创新实验 室是干什么吃的?——老大,别急,我说的是IBM GDC,你说的IBM是美国IBM公司的嫡系子孙,我说的IBM GDC是美国IBM的庶出后代罢了。 IBM GDC的GDC全称是Global Delivery Centre,工卡上印的是IBM solution & services(xxxx某地) co.,LTD。这在工卡上就能体现了,和嫡系的IBM China不是一回事。既然是solution & services,那么主要做的就是服务的项目,大致的讲,主要就是做服务了,通俗的讲,也就是做外包了。 在金融海啸之后,全球的IT产业都不景气,各个产业的IT预算都在缩减,唯独IBM GDC的业务量却在蒸蒸日上的增长。为什么?这和IBM GDC的服务模式分不开。在金融海啸的影响下,各个产业的IT部门付不出那么多钱来维持原来的IT服务,IT部门纷纷裁员,缩减IT经费,或者将IT的维 护外包给价格便宜的IT服务公司。可IT服务的外包公司那么多,为什么选IBM GDC? 因为GDC的服务模式是利用IBM这块全球性的大牌子,在全球范围内接下各种客户的服务的单子。由于当地的人力成本高,IBM又是一个全球性的公司,他接 下单子后,可以进行全球服务资源的整合,将单子转给人力成本相对低廉的国家。因此,你就可以看到为什么IBM GDC会出现在中国、印度、巴西、阿根廷这些发展中国家,而不是出现在英国、美国、日本这些发达国家。据和日本的IBM聊天得知,同样的活,他们那边的人力成本是我们这边的3~5 倍。 ok,人力成本低了,但是这还不是最惨的,因为单子不是直接过来,而且是一层一层的去油水过来,举例来说,比如一个德国客户的项目,那么德国的IBM要先 抽一层水,然后转给大中华区的IBM再抽一层水,最后的一点油水才给GDC(当然中间可能还有我不知道的抽水阶层)。蛋糕分到公司的头上已经是一小小块 了,再分到部门,分到个人,自然也不会太大。在分蛋糕的过程中,也会有各种角逐,如我这篇《办公室政治》。 蛋糕不大,当然不能吸引牛人们过来,已经跳入火坑的人自然也不会有太大的动力去创新。 当然,蛋糕只是影响创新的一个因素,在我看来是一个很小的因素。影响其创新因素的是其企业文化,是企业的基因。 在IBM GDC,最重要的是什么?是流程!是process!每一件事情都是遵照着流程去做。你在这个流程中不需要是思考什么,不需要去研究什么,只需要按照流程 做就可以了。如遇到一个故障,参照工作文档,先根据脚本做一次health check,如果我们的团队没有问题,那么工单就转到下一个团队去。——这就造成了,最后所有的团队都检查了一次,自己的层面内都没有问题,但是用户那边 却严重的有故障现象。——没有一个站在架构层面的,熟悉整体应用的人来领导故障处理。 什么?你说不是有CSM,SDM么?那些人只是负责资源调配,根本不懂技术,根本没有在技术层面的判断能力。你可以去看看,在IBM,项目经理不需要懂技术,只需把握项目进度,在milestone之前完成进度即可。 由于没有站在架构层面,熟悉整体应用的人来领导,因此各个团队只是被框在了很小的一个范围内,数据库只是负责纯数据库层面的,主机只是负责主机层面的,甚 至监控团队,都再划分成2个,一个负责部署监控,一个负责“看”监控。每个人犹如井底之蛙,看不到外面整体的一个系统。很明显的一点,你要一个应用的网络 拓扑图,没一个团队可以给的出来,大家有的,只是db list,server list,monitor parameter list。要个list有屁用! 记得有一次db遇到故障,应用那边明显感觉很慢,db端也查到了大量的log file sync的等待,查io情况非常空闲,压力不大,但是在awr report中看到log file sync的avg wait time在10ms以上了,根据经验,应该是log file所在的存储可能出现问题,如存储没电,导致写cache缓慢,或者光纤交换机通信出现问题。但是根据流程,我们做不到什么,我们只能把工单传给下 一个团队去检查。 于是,有这样一个笑话,DBA的分类,传统意义上有维护DBA和开发DBA,现在在IBM多了一种,叫“流程”DBA。 遇到的问题不是我们团队的,转到下一个团队;如果是我们问题的,那就解决掉它,解决的方式是开change,这又是一个痛苦的事情,一会再说。如果没办法 解决的,那就开SR问oracle。所有的一切,只需按照流程走,不需要你有什么整体架构的思维,不需要你有独立解决问题的能力。 在流程的控制之下,人人都是螺丝钉,人人都是可以被替换的。流程控制精确到什么程度?去年日本有个项目经理因为心脏病突发,上午去世了,下午大家就收到邮 件,这个项目经理的替换者是谁谁谁,负责什么什么事情,大家从现在开始原来项目经理的事情可以找他。于是,没有丝毫停顿的,这个项目好像什么事情都没发生 一样,继续运转下去了。——这对公司来说,是好事。不过对个人来说,你是一个可以被轻易替换掉的人,你的工作成就感不会有,你的归属感不会有。这一点来 说,是可悲的。 好了,刚刚说到change,change是IBM GDC对于日常维护服务的流程管理中又一个很重要的环节,之前说的工单,即incident ticket是一个,change是另外一个。在所有的问题处理中,不管是ticket还是change,都需要approval。加个datafile 要一堆人的approval,把ticket传给另一个团队也要approval,应用那边发现tempfile的maxtenent到了,修改需要 approval,开change也是需要一堆的approval,开了change,还要参加n多的review会议,回答n多人的问题。总之,你是活 在approval当中的。大量的时间,花费在了流程上,花在了申请上,花在了请求approval上,追approval上。 层层的approval导致了IBM GDC官僚气氛很严重,很多事情不近人情。英国的同事要会英国度假,怕系统崩溃,问问IT有没有恢复光盘可以借。答复是我们不能外借光盘,外借就是违反 policy了,你要是不满意可以去找我的manager;同事贷款买房,问能不能算收入的时候将津贴也算进去,这样就能将收入水平增高,能贷多一些款, 答复是我们收入证明是全国统一的,全国的IBM都是这个模板,我们不可能为了你一个人做更改的。 所以在这里的流程管理下,你试图去改变一些什么,这是很困难的一件事情。大家都应该按照流程走,而不是你跳出来做什么创新。 之前有一本书,叫《大象也能跳舞》,就我看来,要推动这个大象,非常的难。可能你第一次,第二次,第三次,甚至第100次,希望能推动它,但是当你推第1000次,2000次它还是不动,你就绝望了。你就懒得动了,懒得创新了。 创新,我个人认为这是一种自下而上的,基于员工自己偷懒情绪作为出发点,将工作流程进行改进,从而解放自己,提高生产力。比如,我原来的一套云同步方案, 将家里电脑和公司电脑同步,开会时有同事提出这会使得公司电脑面临风险,云端的数据可能会泄密,因此禁止采用。比如,我原来希望利用push技术提高运维 效率(《利用iPhone手机的push技术提高运维效率》), 也因为运用的是google的pushmail,存在风险,所以被喊停了。但是在试用的情况下,连公司的Tivoli监控都还没发现故障前,我的push 告警已经到了,在用户还没反应系统变慢,我的push告警已经到了。杯具的是这些利用互联网技术的微创新在IBM统统行不通,我们还在21世纪使用着反人 类的Notes狗屎邮件客户端。 如果说流程限制着你的创新,那么其企业基因也在侧面压制着你。 首先,在IBM GDC,会讲究dress code,周一到周四,要求穿衬衣西装,周五才能穿休闲装,但是禁止穿无领T恤,7分裤。尼玛我们是技术人员,又不是要见客户,干嘛要装逼的按照你的要求 穿衣服?现在是追求个性展现自我的年代,不是当年统一的中山装,干部装,人民装。再说,技术能力又不是通过dress code来体现的。Fuck dress code!技术人员喜欢T恤! 其次,上面说了那么多的流程,肯定也有不少人反感,那么怎么办?IBM GDC通过一遍又一遍的洗脑来给你解决。在IBM,有很多强制参加的流程培训,不过是网上的还是网下的,如果你不参加,就会持续发邮件到你manager 那里,要你参加。一遍又一遍的给你强化流程管理,让它深入到你的血液里,骨髓里。麻痹老子需要的是技术培训,技术沙龙,技术交流会,可是一次都没提供机 会。不知道别人怎么样,反正我加入IBM之后,没有给过我一次技术培训的机会。原来当初面试时说IBM很多培训机会,是指这种脑残培训呀! 再次,高强度的workload,长时间的加班,让你没有时间去思考,没有时间去反思。举个例子,我们新到的澳洲项目,也是有change,也有on- call。change大部分是在周末做,on-call有分工作日班和周末班,周末班从周五下午2点开始值班到周一上午8点,连续66个小时,因为很 忙,几乎没得睡觉,连轴转。我们问领导能否周末的change根据工作时间,一个小时换2个小时休息?周末on-call的时间,能否补休2天半? 领导说不行,对于第一条,别的团队都是一小时换一小时的,凭什么你们换2小时?对于第二条,你只能休息2天,如果你休息了2天半,那么你周三下午上班到周 五,工作2天半,再加上你周六和周日的工作2天时间,你一周你工作了4天半,没达到5天的工作时间。其实,IBM工作时间很弹性的,你只要不影响工作,你 可以晚点来的,但是具体是否要订这样的调休制度,还是不要订的好。你们自己安排好了。——话说的很漂亮,但是含义还是希望你放弃休息时间多来公司工作下。 这种做法很像某组织的做法,不告诉你具体的规定,只是告诉你我们很开放的,我们有多少多少网站可以访问的。 其实反思一下,你说别的team都是一小时change工作时间换一小时休息,别的team这么做就是一定是合理的吗?这种制度本身是否就是正确的?谁愿 意周末连续的休息时间给你中断的切割开来干活?另外oncall的事情,你怎么不看我周六周日是连续工作的,都不是8小时工作制。的确,你会说你和公司签 订了不定时工作制,我也无法拒绝工作,但是工作之后的休息,你考虑给我吗?你说你怕万一休息的team member多就cover不到工作。这种情况,其实是在每个team member都do his best之后还不能cover接下来的工作,作为manager,是否应该考虑增加人手了呢?短期内不休息可能大家还撑得住,但是项目来的不会只是1,2 个月,长期这样下去,每个成员的身体受得了吗?服务质量还能得到保障吗?项目还能进行下去吗? IBM GDC的流程真的很可怕,安分守己,根据流程做好自己的本分工作,做一颗螺丝钉,这就是我感觉公司所需要的。但是,在这种制度下,会有创新吗?在这种制度下,你愿意创新吗?