专业书籍精读 · Accelerate · 第 3 章
Accelerate: The Science of Lean Software and DevOps · Ch 3 · Forsgren, Humble & Kim · 2018
公司里最难说清、又人人挂在嘴上的词就是「文化」。开会的人说「我们要改文化」,散会以后没人知道明天该做什么不一样的事。《Accelerate》(中译《加速》)第 3 章要干的,就是把「文化」这个形容词变成一把能读数的尺子——然后告诉你,这把尺子的读数是可以被改的,而且改法出乎意料。
想知道一个家庭的气氛好不好,问「你们家和睦吗」没什么用,人人都会说和睦。换个问法:孩子考砸了,第一反应是回家说,还是把卷子藏起来?——这一个问题的答案,比一屋子的家训字画都准。
这一章的核心就是这个换问法:别问「你们文化怎么样」,去看坏消息在公司里怎么走。
过去讲文化只有两条路,两条都走不通。一条是玄学:文化是「气质」「氛围」,说不清也量不了,于是「文化建设」最后落成海报、团建、价值观宣讲——没法证明有用,也没法证明没用。另一条是拿员工满意度问卷凑数:它量的是「你开不开心」,跟「出事的时候消息传不传得出去」是两回事。
更麻烦的是,文化没法直接看见。看得见的都是表面:墙上的标语、办公室怎么摆、公司流传的段子——而这些最会骗人:越是爱追责的公司,越可能在墙上贴着「拥抱失败」。
本章借用了一位学者研究空难和医疗事故得出的分法:出事的组织和不出事的组织,差别不在规章多少,而在一条坏消息能不能从发现它的人走到需要它的人手里。按这个标准,组织分三种:
第一种,报信的人挨罚。于是下次没人报信,消息被瞒下来、或修饰得好看一点再往上递。第二种,报信的人被踢皮球。消息卡在部门墙上——「这不归我们管」——最后修了一半,别处照旧。第三种,报信的人被当成宝。公司甚至主动去找坏消息,出了事先问「系统哪儿让这事发生了」,而不是「这谁干的」。
第三种最反直觉的一点是:它看起来问题更多——事故上报数往往更高。那不是它出的事多,是别家的事被藏起来了。
这才是这一章最值钱的地方。改文化的常规做法是开动员会、讲价值观、换口号——试图先改变人怎么想。本章给的答案反过来:先改变人怎么做事,想法会跟着变。就像让一屋子人变爱干净,讲三小时卫生课不如把垃圾桶挪到手边。落到软件上:把发布做成小步、自动化,失败就会在很早、很便宜的时候暴露——一件小事,谁都不至于为它挨骂,报信也就不那么可怕了。
诚实的代价只有一句:这把尺子量的是「大家的感受」——它靠匿名问卷,一旦实名、一旦拿去给团队排名,人立刻会答成上面想听的样子,尺子当场失灵。
别问「我们文化怎么样」,去看一条坏消息能不能走到该看见它的人手里:报信的挨罚、被踢皮球、还是被当成宝。而且改文化的顺序是反的——不是先说服人心、再改做法,是先改做法、人心跟着变。
想看这七道题具体是什么、统计上怎么证明它测得准、以及文化到底预测了什么? → 切到精读版
第 3 章把 DevOps 圈里最玄的那个词钉死成一个可测量、可复现的量。它的关键换挡是:不直接问文化,改问信息怎么流——组织文化的可观测面就是「坏消息能不能走到该看见它的人手里」。本章由此拿来 Ron Westrum 的组织文化(organizational culture)三型分类,用七道题把它变成一把尺子,并给出全书最有操作性的一条主张:文化不是靠改造人心改出来的,是靠改做事方式改出来的——所以文化既是效能的原因,也是技术实践的结果。
本章位于 Part I「研究发现」第三章,紧接 Ch2 之后。Ch2 立起了因变量(四指标),本章立起全书另一条主线上的关键变量——组织文化,并顺带把全书的方法论演示了一遍:不可直接观测的东西该怎么严谨地量。后面 Ch4(技术实践)、Ch9(可持续工作)、Ch11(领导力)用的都是这一套。对应现实里那类会议:「我们要做 DevOps 转型,第一步先做文化建设」——本章的结论恰好说这句话的顺序反了。
DevOps 这个词从诞生起就把文化摆在第一位,可文化说不清,也就量不了;量不了,就既不能证明它有用,也不能知道自己改进了没有。于是「文化建设」在绝大多数公司退化成贴海报、办团建、CEO 讲话——共同的问题不是没诚意,是不可证伪。更要命的是,文化一旦量不了,Ch1 那条「文化影响交付效能、进而影响组织绩效」的因果链就断在中间,全书后面的结论会跟着悬空。
拿一个具体场景作锚。两家电商,同样上了云、同样一套 CI/CD 流水线、同样的容器编排:
5% 流量时看到下单成功率掉了两个百分点,7 分钟后在群里喊停并回滚,复盘产出是「灰度检查项里加一条下单成功率自动比对」。5% 扩到全量。工具完全一样,恢复时间差了两个数量级。差别不在流水线上,在那 7 分钟与 4 小时之间的东西。
不解决会怎样?你会把预算全砸在工具上,指标纹丝不动;而更隐蔽的后果是——组织会在「说真话有风险」的状态下继续运行,而你的监控大盘依然很好看,因为坏消息在到达大盘之前就已经被过滤掉了。你不是没有问题,你是没有关于问题的信息。
组织文化研究里有个经典的分层(本章沿用):文化同时存在于三层,而可观测性与真实性恰好成反比。
基本假设(basic assumptions)是文化的真身——习以为常到说不出口的默认前提,比如「上面问进度当然要报得保守一点」;连身在其中的人都意识不到它存在,也就几乎测不到。价值观(values)是成员能说出口的「我们应该怎样」,可以用问卷测,也是本章下手的那一层,代价是人报出来的可能是「应该怎样」而非「实际怎样」。人工制品(artifacts)——标语、办公室布局、流程文档、公司里流传的段子——最好观察却最难解读:一条「我们拥抱失败」的标语,可能出自最开明的公司,也可能出自最爱追责的公司,越缺什么越贴什么。
本章的关键一招是换了个提问角度。Ron Westrum 研究的不是软件,是航空、医疗这类出事要死人的领域。他的观察是:出事与不出事的组织,差别不在规章的厚度,而在信息怎么流动——而组织文化决定了信息流动的方式。Google Cloud 在自家博客里转述这条时用的原话是:信息流「is both influential and indicative of how parts or all of an organization will behave when trouble arises」(信息流既塑造了组织出事时的反应,也是这种反应的征兆)。
由此得到三型:
Westrum 还给「好信息」定了三条判据,比三型本身更容易被忽略:它回答了接收者真正需要回答的问题;它及时;它以接收者用得上的方式呈现。注意第三条——信息「发出去了」不等于「流到了」。一个公司可以有 300 个 Slack 频道、每天上千条告警,信息流依然是堵的,因为没人能从里面把该看的那条捞出来。这是最容易被工具数量迷惑的一处。
为什么这个模型格外适合软件?因为软件交付恰好是高频、跨职能、部分失效是常态的活动:一次发布要开发、测试、运维、安全、产品同时对齐,而故障永远会发生。
文化没法直接观测,做法是把它当成潜在构念(latent construct):测不到它本身,就去测一组「如果它成立、就该同时出现」的可观测现象。关键是一组,不是一道——单独一道题噪声太大,措辞、当天心情、最近一次事故都能把它带偏。本章用 7 档李克特量表问了七道题(大意):
光有七道题还不够,还得证明尺子靠谱。本章跑了三道关卡,白话说就是:这七题是不是真在量同一个东西(收敛效度)、跟别的构念分不分得开(区分效度——别是把「工作满意度」改头换面又量了一遍)、换一批人问读数稳不稳(信度)。三关都过。
这里有一个容易被读漏的学术贡献。Westrum 的三型提出时只是个理论分类,凭洞察归纳,没有大样本验证。本章发现这七题在统计上确实抱成一团——这个分类因此不是一个好用的比喻,而对应着一个真实存在、可以测量的量。把一个框架从「说得有道理」升级成「测得出来」,分量不亚于任何一条具体结论。
预测的一侧:Westrum 文化能预测三样东西——软件交付效能(Ch2 那四个指标)、组织绩效(盈利、生产率、市场份额)、工作满意度。第三样常被忽略,却是这套东西能自持的关键:文化好的地方人不容易跑,人不跑,改进才有连续性。
被改变的一侧,才是本章真正的实用价值。常规的文化改造思路是「先改变人怎么想」;本书的研究模型指向相反方向:持续交付与精益管理这些技术实践,会反过来把文化推向生成型。因为它们本身就在改信息流,而不是在劝人:
换句话说:你没法直接拧文化这个旋钮,但文化是一堆做法的合力,而做法能直接改。这条思路在精益制造界早有经典表述——John Shook 复盘丰田与通用合资的 NUMMI 工厂时说,改变文化的办法不是先改变人们怎么想,而是从改变人们怎么做开始(MIT Sloan Management Review,2010)。
顺带说一句这个环的阴暗面:它同样会反着转。一次追责式的事故处理会让下一次报信晚半小时,晚半小时会让下一次事故更大,更大的事故招来更重的追责——退化和改善走的是同一条环,只是方向相反。
表 1 · Westrum 三型 × 六个特征——这张表是本章的骨架,也是最实用的自检清单
| 特征 | 病态型(权力导向) | 官僚型(规则导向) | 生成型(绩效导向) |
|---|---|---|---|
| 协作 | 低 | 一般 | 高 |
| 报信的人 | 被「枪毙」 | 被无视 | 被培训 |
| 责任 | 互相推诿 | 各守窄边界 | 风险共担 |
| 跨团队搭桥 | 被劝阻 | 被容忍 | 被鼓励 |
| 出了事 | 找替罪羊 | 按规矩「秉公处理」 | 追查原因 |
| 新点子 | 被压制 | 被视为麻烦 | 被落地 |
读这张表最容易读偏的一行是「按规矩秉公处理」:它听起来像公正,实际是官僚型的典型症状——追究的是「谁没按流程走」,而不是「流程为什么让这事发生」。官僚型的毛病从来不是有规则,是规则服务于部门的地盘而不是任务本身。
表 2 · 你看到的症状 → 大概落在哪一档 → 该动哪个杠杆(以及诚实的代价)
| 你观察到的症状 | 大概是 | 该动的杠杆 | 代价 / 注意 |
|---|---|---|---|
| 事故上报数很低,但线上问题不少 | 病态型 | 无指责复盘写进流程;复盘产出必须是系统改动而非人员处理 | 短期内上报数会上升——要提前跟管理层讲清这是好事,否则会被当成「变差了」 |
每次发布要 3 个部门会签,一次窗口等两周 | 官僚型 | 把 CAB 换成同行评审 + 自动化门禁,决策权还给有信息的人 | 合规行业不能一刀切;要拿审计能认的证据链替换,而不是取消证据 |
| 开发说「上线了就不归我」,运维说「这代码我没法救」 | 官僚型 | 共享监控与共同 on-call;把交付四指标做成两边同看的一块盘 | 直接让开发背 on-call 而不给他们改代码和发布的权限,只会加剧对立 |
| 问卷分数高,但没人敢在会上说反对意见 | 存疑 | 先查问卷是不是实名的、是不是直属领导发的 | 实名问卷测到的是「大家觉得该怎么答」,这时候数据比没有数据更危险 |
| 各团队分数差两档 | 正常 | 按团队分别诊断;找高分团队的做法往外扩 | 「公司文化」这个词本身就误导——本章测的是团队级 |
表 3 · 想量文化,四种办法怎么选
| 办法 | 适合回答 | 代价 |
|---|---|---|
| 单题打分(如「你会推荐这个团队吗」) | 快速取一个趋势 | 噪声大、易被单次事件带偏;不构成构念 |
| 多题潜变量问卷(本章做法) | 纵向跟自己比、定位最弱的那一题 | 需要匿名、需要足够样本;测的是感知不是行为 |
| 访谈与现场观察 | 解释「为什么是这样」 | 贵、慢、不可复现;受访者会讲给你听想听的 |
| 行为代理指标(复盘里出现人名的次数、事故上报量、PR 评审跨团队比例) | 验证问卷说的和实际做的对不对得上 | 口径难统一;一旦被当考核,立刻可被刷 |
务实的组合是第二种 + 第四种:问卷给方向,行为指标做对照——如果问卷说「失败用来改系统」得分很高,而最近三次复盘的行动项全是「加强意识、严格执行」,那就是问卷在骗你。
落到日常有三处最直接。其一,把七道题当季度体检:只跟自己上一季比、绝不跨团队排名(理由同 Ch2),下季度的改进入口就取分数最低的那一道题。其二,读懂事故上报量的方向:文化转好时上报量通常先涨,因为原来被藏起来的事浮上来了——这是最容易被管理层误读成「怎么最近事故变多了」的一处。其三,面试与架构评审:被问「你们怎么做 DevOps 文化」,答海报和团建是及格线以下;答「我们用七道题量信息流、只跟自己比,这季度的改进项是把变更审批从 CAB 换成同行评审加自动化门禁」,才是把这一章读透了的答法。
① 本章解决的是「文化说不清也量不了」这个死结,做法是换问法:不问文化怎么样,问坏消息能不能走到该看见它的人手里。
② 文化分三层——人工制品(看得见但最会骗人,越缺什么越贴什么)、价值观(本章下手处,可问卷但「说的」≠「做的」)、基本假设(真身,几乎测不到)。
③ Westrum 三型:病态型(权力导向,报信的挨罚、信息被瞒被扭曲)、官僚型(规则导向,卡在部门墙、消息被无视)、生成型(绩效导向,信息被主动去找并送到用得上的人手里)。
④ 好信息的三条判据:回答接收者真正需要回答的问题、及时、以能被用上的方式呈现——「发出去了」不等于「流到了」,300 个 Slack 频道不代表信息流通畅。
⑤ 测法是潜变量 + 七道题(信息被主动去找 / 报信不挨罚 / 责任共担 / 跨职能协作被奖励 / 先查原因不先查人 / 新点子受欢迎 / 失败用来改系统),并过了收敛效度、区分效度、信度三关。
⑥ 容易读漏的学术贡献:Westrum 的分类原本只是理论洞察,本章证明这七题在统计上抱成一团——它是一个可测量的真实构念,不是一个好用的比喻。
⑦ 文化预测三样东西:软件交付效能、组织绩效(盈利/生产率/市场份额)、工作满意度。
⑧ 本章最实用的一条:改文化的顺序是反的——不是先改人心再改做法,而是先改做法(小批量、自动化测试、同行评审替代 CAB、共享监控、无指责复盘),人心跟着变。因为这些做法直接改的就是信息流。
⑨ 因果是个环,也会反着转:一次追责让下次报信晚半小时,晚半小时让下次事故更大,更大的事故招来更重的追责。三条护栏因此不能省:只跟自己比、必须匿名、测的是团队级——一旦实名或拿去排名,这把尺子当场失灵,数据比没有数据更危险。