从DevOps实践落地的角度谈谈“流程”和“规范"的反模式
最近在经历的一些事情,让我突发灵感,觉得要写点关于DevOps体系建设过程中的“流程规范”,记录下来。
如何解读"流程规范"
谈到DevOps落地,无一例外都会提“流程规范“,我想没有人会反对,甚至会”不放在眼里“,因为概念本身没有什么晦涩难懂。可是一到落地,好像就是另外一番场景,“一地鸡毛”,“形同虚设”,”无人问津“ ,”无人知晓“,”面子工程“等等状况历历在目。
首先,很多人把“流程规范”放在一起来看待,甚至认为是等价的,我过去也这么理解。不过,现在我觉得需要区分来看待
- **流程- Process: (步骤,程序,过程), **

- 规范- specification (规格,规范,明细单,说明书;明确说明)

上面这个图,足够形象解释了他们的区别,和关注的点。前者告诉了你做什么,后者具体告诉你怎么做。
流程虽好,为啥不能落地
现实中, 组织会定义很多 XXXX流程 - 步骤1 ,步骤2, 步骤3 , 角色A 要负责这个,角色B要负责这个。。。,阶段产出是XXX
看上去很清晰,文档规范,可是“角色”只是个名称,现实中却是活生生的“人”;如果把“人”变多,就成了“众”。
- 众口难调
- 从众心理
- 乌合之众
- 众人拾柴火焰高
- ...
每个词的背后,就代表了如何理解“众”;对于组织的变革者,你需要理解背后代表什么,不了解“众”,不了解“人心”,不感同“人心”,你的流程也会难以服众。
- 你的流程是否合理?
- 你的流程是否代表大多数,而不是个性化、差异化?
- 你的流程是否具有权威性?
- 你的流程是你拍脑门想的吗?是看某某权威的书启发的吗?
- 你的流程被挑战时候,是否妥协了?
- 你的流程是为谁而设计?代表组织的利益吗?或让组织因此而收益吗?
- 你的流程目标是什么?是为了改进吗?还是为了控制约束别人,发号施令?
- 你的流程是否大家都知道并能5秒内找到?是否只是“红头文件”,束之高阁?
工具的"神圣使命"
好像流程里,很少提工具,甚至“一笔带过”,那你的流程靠什么落地?
哇塞,工具啊!工具无敌,工具牛逼,工具能解决一起问题。彷佛霎那间,看到了胜利的曙光~, 仿佛工具一夜之间成了“救命稻草”,“银弹”。

”工具“突然被赋予了“神圣重任”
- 流程落地靠“工具”了
- 我买了你的“工具”,是不是我们流程就跑顺了,就规范了
- “工具”能不能给我出数据,能不能帮我XXXX,流程里面提到了“工具”

工具背后的“复杂性”
提到流程背后“工具”,我必须拿出下面这张图来说道说道
- 如果你的团队/组织只有10人左右,可以直接跳出这篇文章,因为你确实不需要工具“规范”
- 如果你的团队规模在超过10-50人(且属于一个团队),定义“简单的”规范即可,能说清楚就好;工具文档怎么说,按照怎么做就好
- 如果你的团队规模/数量,达到百人以上,那么你真的需要认真考虑下“工具规范”

面对如此之多的各种“DevOps”工具,每个领域选一个,最起码也有10+吧。如果工具的“规范”都没有,“流程”怎么可能落地?
- 工具怎么用?学习成本如何?
- 怎么命名规范一致?
- 怎么申请?
- 怎么协作?
- 怎么用好?
- 怎么采集数据?
- 怎么按照最佳实践?
- 怎么满足流程要求?
- 怎么面对个性化需求?
- 怎么满足既要,又要,还要?
- 怎么让工具“匹配并支持”流程

是不是很崩溃,这其实就是DevOps难以落地的其中一个原因~ “众口难调”和 “众望所归”,“自动化的工具体系”是“组织”最后的救命稻草。
工具背后的“规范”
如何把“众口难调”,变成 “说一不二,不可辩驳,被“驯化”,被“教育””,不管你是买,还是自己搞,这都是工具背后要去思考的。无非你买来的,人家帮你理清楚一些规范了,可是依然不能满足“众口难调”。
没有“完美的”工具,不要指望世界上有一款工具,能满足所有人的要求,所以“工具”要学会说不。满足所有人,就意味着不可能“好用”,甚至会成为“负担”。
- 立规矩
- 教育用户,引导用户
- 学会拒绝,不能拒绝就摆烂
- “一味迎合”,最终会是“一地鸡毛”

**持续关注我,我会分享具体关于工具的规范~ **
流程是死的,人是活的,解决什么问题?
这里要谈谈,为什么要有流程?
- 具体解决某个问题?经常出问题,所有要通过流程约束?
- 流程过时了,还要一味遵守吗?
- 流程不能解决问题,是不是证明原来本身就有问题?
“能够“ 切实解决问题,为团队减负的流程,才是好流程。一味不断加码,还不解决问题,谁会愿意遵守?
反模式
- 画个流程图,能满屏各种角色,这不是流程的问题,而是组织架构的问题,大道至简
- 一开始设计完美的流程,就意味无法落地-流程要在试错中不断完善,并且与“工具规范”磨合
- 缺少“工具规范”和最佳实践指引,没有“周到细致引导”的流程,谁会遵守呢,团队成员需要被“教育培训强化”
- 工具先行,靠工具来推动流程,把“工具”或者 DevOps当作“银弹”
- 设计流程的人,没有深入贴近群众,走进群众,甚至不考虑落地
- 过度迎合纵容“群众”,你是代表组织的,纵容迎合就是破坏自己亲手制定的流程
- 老旧的“流程”,还不舍得放弃,层层加码,“学会做减法”
总结
最后,简单总结,其实就是这么几个要素。每个要素不能自洽,或者缺失,很可能这个流程就无法落地,并深入执行。
- What - 流程定义了做什么
- How - 规范定义了怎么做
- Who - 谁来参与
- When - 什么时候做
- Why - 为什么要这么做?
”流程“ 和”规范“密不可分,流程代表了组织的角色协作,”规范“指导了如何做的问题。
- 没有”流程“哪里会有”规范“;
- 没有”规范“,怎么可能促进”流程“的运转;
- 清晰的“工具规范”有助于平台的建设,事半功倍
- 流程要”简单“,规范要”细致且严格,才会有事半功倍;否则”流程“就会成为”一纸空文“。

关于我,一个”野生“的DevOps实践者,不讲理论,没有认证加持, 从”实践“中反思总结改进。
从DevOps实践落地的角度谈谈“流程”和“规范"的反模式的更多相关文章
- 海西 · 云交付 DevOps实践落地方案
一.背景概述 (一)产品背景 1.互联网+的需要 在信息越来越繁杂的互联网时代,公司所运行的项目越来越多,项目相关服务繁多,服务之间存在复杂的依赖关系,运维与管理任务越来越繁重,手工交付需要花 ...
- 切忌一步到位,谈谈DevOps实施落地
2020年6月19日,由云计算开源产业联盟指导,高效运维社区和 DevOps 时代社区联合举办的GNSEC 2020线上峰会圆满举办.BoCloud博云参加了本次峰会并分享了博云帮助客户实施DevOp ...
- 谈谈在DevOps实践中,感觉最重要的这三个技术……
从国内众多DevOps实践中,我们能看到下面三个技术尤其重要和火热: 容器:容器从根本上解决了软件对环境的依懒性,解决了各个环境之间的差异问题:它可以加速部署的速度,提高部署的效率:降低部署的成本.容 ...
- 阿里智能运维实践|阿里巴巴DevOps实践指南
编者按:本文源自阿里云云效团队出品的<阿里巴巴DevOps实践指南>,扫描上方二维码或前往:https://developer.aliyun.com/topic/devops,下载完整版电 ...
- 从个人的角度谈谈本次GNTC大会的收获
GNTC资料:from sdnlab 从个人的角度谈谈本次大会的收获 从本次大会的主题演讲来看,目前SDN.NFV的最前沿已经不再像五年前持观望态度以及探讨,各大运营商.各大厂商已经将SDN.NFV具 ...
- 中小团队基于Docker的devops实践
笔者所在的技术团队负责了数十个项目的开发和维护工作,每个项目都至少有dev.qa.hidden.product四个环境,数百台机器,在各个系统之间疲于奔命,解决各种琐碎的问题,如何从这些琐碎的事情中解 ...
- 华为敏捷DevOps实践:产品经理如何开好敏捷回顾会议
大家好,我是华为云DevCloud项目管理服务的产品经理 恒少:) 作为布道师和产品经理,出差各地接触客户是常态,经常和华为云的客户交流.布道.技术沙龙,但是线下交流,覆盖的用户总还是少数.我希望借助 ...
- 深度剖析:最新云端开发工具如何实现敏捷+DevOps开发落地
相信很多软件开发人员们对今年国内新兴的云端开发工具——华为软件开发云都有耳闻,有些人可能还免费体验过,由于它5人以下的团队是免费使用的,很庆幸本人的这个项目正好5个人,就注册使用了.下面就自己的使用心 ...
- 《DevOps实践:驭DevOps之力强化技术栈并优化IT运行》
DevOps实践:驭DevOps之力强化技术栈并优化IT运行 主旨 这本书并非坐而论道,而是介绍了DevOps全流程中的许多实践,以及相应工具的运用.虽然随着时代的推移,工具将来可能会过时,但是这些实 ...
- 什么是以特性为核心的持续交付|阿里巴巴DevOps实践指南
编者按:本文源自阿里云云效团队出品的<阿里巴巴DevOps实践指南>,扫描上方二维码或前往:https://developer.aliyun.com/topic/devops,下载完整版电 ...
随机推荐
- 1、初认 AS400
一.AS400 简介 AS/400是一种主机型计算机,是IBM公司开发的.AS/400是IBM的应用服务器产品,针对企业级应用开发.重要应用系统支持进行设计开发.AS/400的系统工作环境中同时支持多 ...
- tryhackme-OWASP
tryhackme-OWASP Top 10部分记录 敏感信息泄露 在assets目录中 可以看到到一个sqlite数据库的webapp.db文件 使用sqlite3 webapp.db .table ...
- 6 种方式读取 Springboot 的配置,老鸟都这么玩(原理+实战)
大家好,我是小富- 从配置文件中获取属性应该是SpringBoot开发中最为常用的功能之一,但就是这么常用的功能,仍然有很多开发者在这个方面踩坑. 我整理了几种获取配置属性的方式,目的不仅是要让大家学 ...
- C#/VB.NET:快速而简单的免费SVG到PDF转换技巧
在日常工作中,我们常常需要将SVG转换为PDF格式.这是因为SVG格式的图像在打印时可能会出现问题,例如失去分辨率或无法正确适应纸张大小.与此相比,PDF格式则专门用于打印和共享文档,可以确保高质量输 ...
- 【.NET深呼吸】用代码写WPF控件模板
这一次咱们来探究一下怎么用纯代码写 WPF 模板.模板有个共同基类 FrameworkTemplate,数据模板.控件模板等是从此类派生的,因此,该类已定义了一些通用成员. 用代码构建模板,重要的成员 ...
- Python运维开发之路《WEB框架:Django》
一.Web框架的本质 所有的web框架.web请求:本质上都是:socket 浏览器:socket客户端 服务器:socket服务端 1. socket服务端 import socket def ha ...
- 快速上手 vercel,手把手教你白嫖部署上线你的个人项目
一.关于 vercel Vercel 是一个云服务平台,支持静态网站(纯静态页面,比如现在base utils 文档也是基于vercel)和动态网站的应用部署.预览和上线.如果你用过 GitHub P ...
- 可视化容器管理工具-portainer.io使用
续docker日常使用指南 背景 当我们开始使用docker后,我们的机器上镜像和容器会越来越多,或者有时候我们有多台开发机的时候,单纯使用命令行去管理镜像和容器就变得麻烦了,这时,我们就可以选择一些 ...
- Vue + Volo.Abp 实现Auth2.0客户端授权模式认证
@ 目录 注册Client Auth2.0授权 创建vue-oidc-client 创建Auth2.0认证跳转 获取令牌 创建回调页面 创建退出登录 最终效果 Volo.Abp的身份服务器模块默认使用 ...
- 【阅读笔记】Rapid, Detail-Preserving Image Downscaling
Rapid, Detail-Preserving Image Downscaling(快速的图像缩放技术) 该论文提出了一种基于卷积滤波器的算法,并确定滤波器的权值,使重要的细节保留在缩小比例的图像. ...