在一个与咱们平行的世界中,有一个软件开发公司。这个公司所作的产品用户量近期增加的十分迅猛,可是令CTO头疼的是公司的两大部门:开发部和运维部近期也是“掐”得厉害。为解决这个问题,CTO决定倒入如今十分流行的DevOps,而且CTO还请来了Gary来当顾问。项目管理者联盟编程
听到这个消息,开发部经理 “小D” 在部门会上长长舒了一口气,说:终于能够解脱“猪队友”的问题了,维护人员什么也不懂,就会摆弄那些死机器,有点小问题都让咱们来解决。DevOps 我了解,就是让那帮运维人员用开发人员的思惟去作运维工做,这个问题终于能够解决了!”项目管理者联盟运维
于此同时,运维部经理“大O”也兴奋地对运维团队说:“太好了,开发团队开发的产品就是一滩屎,老是让咱们擦屁股,有什么技术他们还捂着、掖着不告诉咱们。DevOps要求产品质量前移,好好整整开发部,那样咱们就会轻松不少了!”项目管理论坛工具
很快CTO组织了一次会议,此次参会的只有四人:CTO、“小D”、“大O”还有顾问gary。在相互介绍后,CTO宣布了要推行DevOps的决定,并让“小D”和“大O”谈谈见解。项目管理者联盟测试
“小D”首先发言:项目管理者联盟spa
1. 咱们开发能力经过持续改进已经很强了。如今咱们敏捷开发,自动化测试、集成和部署,能够天天集成,每周进行对外发布。www.mypm.net.net
2. 至于运维人员我不敢恭维,水平太差。现场问题基本都透传给开发,严重影响到了咱们的开发进度。那么多人都不知道在干什么?!training.mypm.netblog
接着是“大O”的反击:项目管理者联盟项目管理
1. 大家每周都发布,咱们每周都要维护新东西,都要现学现卖,运维要的是产品稳定,你知道咱们有多大压力吗?项目管理者联盟开发
2. 咱们运维人可能是由于大家产品开发质量差、问题多,并且问题一出现就是大问题,都要修改代码,这不是咱们能解决的。项目管理者联盟部署
3. 咱们运维人多,可是工资低,并且还不被重视,工做也很累,要7*24小时盯着。service.mypm.net
4. 你说咱们什么都不会,那是由于开发什么也不教咱们运维,咱们怎么会?项目管理者联盟
“小D”毕竟年纪青,有些被气疯了,指着“大O”的鼻子说:“咱们开发任务那么忙,哪有时间教大家。并且,从去年起咱们进行的BSC分解中,运维被定义为开发的内部客户,大家对咱们有考核权,今后咱们这块的KPI就没高过,你还想怎么样?!”PgMp.mypm.net
CTO看两人快动手了就急忙拉架,并顺势打开了去年KPI说:“来,你们都看看,去年的KPI是这个吧?”项目管理者联盟
表一开发部KPI(部分):项目管理者联盟
项目管理者联盟
表二 运维部KPI(部分):项目管理者联盟
项目管理者联盟
“大O”指着表二说:“看到了吧,咱们运维部也背着市场和销售部门的内部满意度KPI呢!”项目管理者联盟
这时Gary以为该是他出面的时候了,他稳定下情绪,心平气和地对CTO说:“大家公司的目标应该是让客户满意度提高,而不是只让大家把内部责任分解得很清楚,如今的KPI您也看到会激化部门间矛盾,因此我建议应整合两个部门,让开发和运维部共同承担对客户满意度的KPI。”项目管理论坛
CTO想了下说:“你的意思是将开发和运维合成一个部门?”此言一出“小D”和“大O”各自惊出了一身冷汗。Gary有深意地扫了一下他们俩,对CTO说:“不,我不是这个意思。若是单纯地整合了两个部门,实际上只是将矛盾藏在了一个部门内部,没有完全解决问题,并且弄很差新合并的部门将成为一堆烂泥,分不清楚了。并且即便合成一个部门,开发和运维的人员仍是要分开的,不然开发和运维工做都搞很差。” CTO有点晕了:“那你到底想要干啥?” Gary说:“好,让咱们简单地梳理一下,我经过大家的讨论而想到的几点解决办法吧!”项目管理者联盟
1. 之后客户对产品的满意度由开发、运维两个部门应共同承担。这个满意度部分开发仍是运维阶段,而是总体的满意度。咱们要改变一些观念,好比:去掉“完成”概念。不要有发布了就算开发完成了和开发无关了;运维通知开发处理问题了就和运维人员无关了等等的想法。项目管理者联盟
2. 咱们不光是开发质量迁移,还要运维需求“前移”。运维人员能够根据现场运维状况,提出对运维的需求,好比:对哪些常见问题的自动化监测、报警值、报警方式等等,这样会让产品可运维性大大提高。项目管理者联盟
3. 创建产品问题库,对于产品运营阶段不论是开发仍是运维人员发现、处理的问题你们均可以看到,这样咱们既能够及时分享处理问题方法还可让不一样的人了解你们的工做现状。
4. 开发部应增强对运维人员的培训工做,只有提高了运维人员能力,才能让他们解决更多类型的问题,这样才能减轻开发人员压力,磨刀不误砍柴工嘛!项目管理者联盟
5. 对于常常出现的问题,运维能够整理出来由开发部先开发些成熟的自动化工具,提高问题解决效率。后期,运维人员应增强编程能力,最终作到用80%时间编制一些运维自动化工具,从而减轻运维成本。项目管理者联盟
这些只是个人初步想法,后续咱们在实施DevOps的时候再详细地讨论吧,包括开发时使用什么样的新技术和新工具。“小D”听到这眼睛明亮了许多。项目管理者联盟
CTO想了想,一拍桌子说:“好,就这样决定了,咱们如今就制定DevOps实施计划。”