《持续交付 2.0》读书笔记
企业领导者必须成为这一变革的领导者,建立与之相适应的企业文化,使得“持续交付 2.0”成为企业的基因,才能够持续获得它带来的收益。
安全、信任与持续改善
“持续交付2.0” 强调 “持续探索” 和 “快速验证”,而探索必然会伴随着失败,失败会令人产生挫败感与不安全感。而学习与成长也通常发生在失败之后。这就要求组织必须建立“安全、互相信任和持续改善”的组织文化。
失败是安全的
组织是一个复杂系统,它的改进比较复杂。如果组织成员发现,在组织中“犯错”是个很糟糕的事情,会受惩罚,那么,为了避免出错受到惩罚,组织成员就会放弃做出有风险的决策。
在一个高度不确定的环境中,没有人能够保证自己的决策不会出错。如果无法让组织成员感到“失败是安全的”,那么组织成员的行为就会倾向于避免犯错,各扫门前雪,逃避责任,缺少合作。
相互信任
相互信任是高效合作的基础,也是组织凝聚力和成员士气的基础。成员之间的相互信任既包括对彼此个人品质的信任,同时也包含对专业能力的信任。这种信任是相互的,赢得他人信任的同时,也要信任他人,认可他人的个人品质与专业素养。
如果组织成员之间缺乏信任,那么很容易出现相互猜忌、相互指责的现象,用不了多久,就会影响成员在组织内的安全感,降低工作效率。
在过去的十多年中,很多组织采纳敏捷软件开发方法,但是并没有取得企业所预期的效果,除一些技术改进的原因以外,一个不可忽视的原因就是“相互信任”文化的缺失。当这种文化缺失时,常常会让人感受到“产品人员抱怨开发人员不给力”和“开发人员认为产品人员不靠谱”这种潜在的暗示。
持续改善
《丰田套路》一书中指出:“丰田之所以取得傲人业绩,并不是源于我们可以看到的那些工具和方法,而是源于丰田的行为习惯 - 通过不断地试验而持续改进。”
只有那些善于“持续改善”,并使之形成一种自身文化的企业才会不断进步。
持续改善文化的特点是“人人参与”和“时时改善”。“人人参与”是指“持续改善”不应该只是组织中某个角色的责任,而应该是所有人的责任。“时时改善”是指“持续改善”应该是一项日常工作,而不应该只在特定时间或条件下才发生,例如只在事故发生之后才进行分析和改进。
文化塑造四步法
文化是无形的,很难改变。它在影响组织成员行为的同时,也会受组织成员的行为影响而发生变化。
《精益企业》一书中指出,组织成员的行动和对事情做出的反应,主要由组织领导者和管理者的行为所决定。例如,人们是否有行动自主性,并获得信任,承担其风险与责任,面对失败的时候,人们是否会受到惩罚,是否鼓励跨部门的沟通等。
行为决定文化
通过改变行为来改变思想。
四步法:
- 定义我们想要做的事情;
- 定义我们期望的做事方式或方法;
- 提供相应的培训,使员工具备完成其工作的能力;
- 设计一些必要的机制或措施来强化我们所鼓励的那些行为;
通过这 4 个步骤,企业可以让员工成功掌握完成自己工作的方法。最终,文化就会被改变。组织文化是一系列行为结果的展现,体现在人与人之间的日常工作交互中,因此我们无法直接改变“组织文化”。但是,我们可以通过培训企业员工具备必要的能力,同时规范员工的做事方式,而达到塑造企业文化的目的。
谷歌的工程师质量文化
建立工程师质量文化,做法也可以总结为以下 4 步:
一、定义想要做的事情
- 提高代码质量,减少生产问题,减少手工测试工作量,快速发布软件。
二、定义期望的做事方法
- 开发团队编写自动化测试;
- 主动运行自动化测试用例;
- 做代码评审;
三、提供相应的培训
- 在公司范围内组织代码设计与自动化测试培训;
- 为每个团队指派自动化测试教练,帮助团队提高自动化测试技能;
四、做些必需的事情来强化那些行为
- 建立团队测试认证机制,用于评估每个软件产品团队的测试成熟度;
- 建立自动化测试组和测试教练组,帮助团队提升自动化测试能力;
- 建立代码评审资质证书;
- 代码合入版本仓库之前强制做代码评审;
- 代码评审之前,必须运行自动化测试用例,并提交报告给代码评审者;
Etsy 的持续试验文化
Etsy 鼓励“持续试验”的文化,做法也可以总结为以下 4 步:
一、定义想要做的事情
- 不必害怕失败,快速发布,持续试验。
二、定义期望的做事方法
- 每天向生产环境多次部署;
- 部署后立即进行数据收集和统计分析;
三、提供相应的培训
- 在每一个新员工入职第一天,让其知道如何登录自己的虚拟机,把代码放在哪里,如何运行自动化测试,以及如何部署代码到生产环境,在哪里查看度量仪表盘,确保部署后一切都运行正常。让新员工一开始就了解部署过程,不至于对部署产生畏惧。
四、做些必需的事情来强化那些行为
- 每次业务变更都要进行数据衡量;
- 从真实数据中学习,无论是失败还是成功;
- 开发相应工具,提高部署和数据收集分析能力;
行动原则
价值导向
所有人都会一致同意,“我们做事情时,应该价值导向”。然而,这却是在工作中经常被忽视的一点,也是最难判断的一点。即便进行了充分的沟通与讨论,面对同一个问题的多种解决方案,我们可能也无法达成一致意见。此时,我们可以采用行动原则的第二原则,即“快速验证”。
快速验证
在高度不确定的环境中,并不是所有的方案都能很容易提前对其价值进行准确判断,因此我们需要快速验证。通过快速实施,得到真实反愦,从而做出决策。
在一个安全的工作环境中,只要我们能够主动拥抱“快速验证”原则,充分发挥员工的主观能动性,就可以找到很多快速试验方案。
对于与组织管理相关的改进,也可以使用快速验证方式。例如,针对具体问题,选择不同的试点团队进行快速实施,根据团队实际运行效果进行调优、验证。
持续学习
我们无法保证每个决策都是正确的。团队应当将每一次反馈作为一次学习的机会,结合从中学习到的新知识,总结成功经验或失败教训。
除了通过业务试验产生的业务结果对业务领域进行深入了解和学习,还要保持对做事过程的学习与反思,不断优化工作流程,提升各环节的效率。
度量原则
“如果不能度量,就无法改进。”
作为管理者,我们也必须承认,在日常工作当中,仍旧有一些我们现在还无法度量但必须进行管理的事情,尤其是在一个高度不确定的环境当中。
度量指标的 4 类属性
度量指标分为引领性指标、滞后性指标、可观测性指标和可行动性指标。下面就来分别介绍一下。
一、引领性指标与滞后性指标
引领性指标是指那些对达成预定目标有着重要作用的指标。通常,一个好的引领性指标有以下两个基本特点:第一,它具有预见性。第二,团队成员可以影响这些指标。
滞后性指标是指那些为了达成最重要目标的跟踪性指标,如销售收入、利润率、市场份额、客户满意度等研究分析都属于滞后性指标。当你得到这些结果的时候,导致这些结果的事情早已结束,你得到的都是历史性结果数据。
例如,在其他因素相同的情况下,假如软件质量与性能越好,则软件的市场竞争力越强,客户就越愿意为之买单,软件销售量就会越高。对于软件销售这件事情,软件销售量就是一个滞后性指标,而软件质量与性能就是一个引领性指标。我们可以通过优化软件性能,提升软件质量来影响软件销售量,但无法确保一定达成软件销售量这一滞后性指标。
企业的终极后验性指标是客户价值,相对于这一滞后性指标来说,其他指标均可认为是引领性指标。
二、可观测性指标与可行动性指标
可观测性指标是指可以被客观监测到,但无法通过直接行动来改变的指标。
可行动性指标是指在能力可触达范围内,通过团队努力,可以设法直接改变的指标。
例如,千行代码缺陷率就是一种可观测性指标。我们无法以非常直接的方式来改变它,只能通过更全面的质量保障活动(写出高质量的代码、做更加完整的测试等活动)来影响这一指标。
代码规范符合度、代码圈复杂度、重复代码率则既是可观测性指标,也是可行动性指标,因为团队可以直接通过修改代码来直接影响和改变这些指标,但无法确保一定达成“千行代码缺陷率”这一后验性可观测性指标。
度量的目标是改善
我们可以通过设法管理过程指标来改善我们的工作过程,并将最终的效果与我们期望的结果指标做对比,从而发现改进是否有效,并判断是否需要改变改进方向,还是继续向前。
我们需要不断依据反馈的度量结果做出分析后再确定改进的方向,是继续向前,还是另寻他法。
度量是一柄双刃剑,对可行动性的过程指标来说,“你衡量什么,就会得到什么”,但并不一定是以你想要的方式达成的。例如,当度量单元测试覆盖率时,工程师可以通过写出无用的单元测试(如没有断言),达成单元测试覆盖率指标,但是这种测试覆盖率已没有任何意义。
因此,管理者需要记住,度量的目标是为了组织改善。如果达不到度量目的,则要么改用其他度量项,要么做好管理工作。
“改善套路”进行持续改进
迈克·鲁斯在《丰田套路:转变我们对领导力与管理的认知》一书中介绍了一种“改善套路”,它包含4个阶段,以循环方式不断重复。
- 第一阶段:明确方向。管理者需要明白,企业必须始终以愿景为工作目标,并持续不断地改进。在前进的路上,必然会遇到问题。我们需要通过不断试验与迭代,才能达成目标。
- 第二阶段:掌握当前状态。团队要掌握当前的状态,获得事实与数据,才能充分认识自己,以对下一步目标状态进行合理的描述。
- 第三阶段:定义下一个目标状态。目标状态就是确定团队希望达到的状态,设置期望达到该状态的日期,并定义可衡量的指标项。
- 第四阶段:迭代改进。遵循戴明环,不断迭代试验,发现、实施、评估并改善方案,直到达成目标状态。戴明环,又叫
PDCA
循环,是由美国统计学家戴明博士提出来的,它反映了质量管理活动的规律。P (Plan)表示计划,D (Do)表示执行, C (Check)表示检查,A (Action)表示处理。PDCA
循环是提高产品质量、改善企业经营管理的重要方法,是质量保证体系运转的基本方式。
小结
在本章讨论了企业采纳持续交付所需的文化氛围,并根据新联合汽车公司的案例提取了建立企业文化的 4 个步骤。
- 第一步:定义想要做的事情。
- 第二步:定义期望的做事方法。
- 第三步:提供相应的培训。
- 第四步:做些必需的事情来强化那些行为。
与此同时,为了提升“持续交付 2.0 能力”,企业或组织应该遵守 3 个行动原则:
- 价值导向
- 快速验证
- 持续学习
企业应当根据“改善套路”,在设定目标后,从简单之处开始行动,通过不断优化,达成提升“持续交付 2.0 能力”的目的。