1.4.1 为什么需要DevOps文化
经过慎重考虑,作者决定把“DevOps文化”部分放在本章的中间。对于一个组织,文化起了地基的作用。DevOps是否能够按计划和规划实现,文化是一个重要因素。在企业的实践过程中,很多案例凸显了一个事实:DevOps转型的第一个要素是实践DevOps文化,并通过文化建设促使DevOps进行实践和落地。
对于企业,文化具有统一思想和价值流向的作用。对于IT组织,DevOps文化的作用更为聚焦和纯粹,促使组织成员不断进行知识沉淀和过程管理并将结果反馈至组织,从而提升组织级的效能和质量。
1.4.2 传统IT组织文化存在的弊端
1.更多的惩罚
IT组织文化中的惩罚源于传统行业。在制造业的信息化转型过程中,IT组织的工作内容和权责与制造业中的流水线挂靠严重,赋予IT组织成员极少的权利,IT组织成员更多时候以支撑的角色来作业,因此无法从日常工作中得到成长,更缺乏连续学习和创新的机会。相对应的,IT组织成员对企业和IT组织缺乏相应的知识共享和传递精神。出现这种现象的本质是文化的缺失。在这种文化氛围下,惩罚是IT组织反馈的唯一方法,通过惩罚来促进优化和改进,以及进行考核和促进成员成长。
2.有意识地进行隐瞒
IT组织文化中的隐瞒存在于大部分企业,在组织文化层面,缺乏合理的复核和考核机制,在技术体系层面,缺乏相应的监控和度量机制,导致业务连续性风险。在很多企业中,随着业务的不断拓展和信息系统数量的不断增加,文化和技术的结合得不到及时跟进,于是IT组织的发展得不到文化的赋能,导致风险无法被管控。
在事件和问题管理中,一般有事前、事中和事后3个阶段,经过作者统计,约80%的问题是由于IT组织成员的失误造成的,因此,在事前进行管理,就显得非常必要。而在IT组织管理中,绝大多数问题的管理集中在事中和事后,事前管理更多集中于流程流转和资源输出,因此,IT组织作为支撑,事前管理的缺失会导致最终价值输出存在极大风险,而在最终KPI考核层面,风险性较大的环节往往得不到重视,带“病”上线的情况经常出现。一个典型的现象:从架构设计、代码设计到性能和质量的把控,趋向于以流程为基准,漠视数据反馈和隐瞒风险成为大多数人的选择。
3.缺乏分享精神
科技是第一生产力。从本质上来说,技术的提升是组织级的能力提升。为了辅助达成这个目标,文化的作用尤为重要。若体现在氛围方面,就会形成一个高度信任的环境,使得IT组织成员乐于提出意见,并进行信息无障碍传递和知识分享。在实际的日常流水线工作中,通过技术革新和文化加持,将风险提前暴露,并进行流程优化,促使新理念和新技术不断被尝试和优化,最终推广至整个IT组织,提升组织不断适应快速变化的环境的能力,将整体变得越来越敏捷,越来越集约,越来越可靠。
1.4.3 DevOps文化具备的特点
下面介绍DevOps文化具备的5个特点。
1.具备全局的系统思维
在IT组织内部,成员必须具备从全局系统的角度与业务进行结合的思维。全局的系统思维涵盖了链路级的系统范围,而不是自己负责的某个功能模块。践行DevOps理念,不能局限于自身,应从自身出发并沿着领域、团队级和组织级的脉络进行涵盖。
全局的系统思维意味着成员应了解其他成员、能力子域在价值交付流水线中承担的职责和工作范围,同时了解其可能造成的影响,如是否对全局的系统链路或业务造成影响,是否是业务连续性保障中的风险点。在持续交付的目标中,有一句话值得思考:交付的目标是将不同的实践、流程和程序进行高度协同,以抵消风险,高质量和高效率地完成交付。这句话其实也体现了DevOps的锚定价值,即提升组织级的效能和质量,达到最终的价值交付。
2.关注业务需求是否契合IT组织文化
DevOps需要达到端到端的价值交付,而交付的主体是业务组织,因此业务需求需要进行统一的扎口和事后复盘。尤其在IT组织文化层面,需要组织成员通过价值流向来梳理交付流程和确定交付核心节点,围绕价值流向来判定交付进度和交付过程中的风险点,并通过技术手段和管理手段进行规避和优化。
价值交付将业务需求从设计发展到产出,最终到终端交付。在这个过程中,IT组织的文化起到了管理理念和管理方式的固化作用。价值的定义在组织内部是顶层目标,提升交付的效率和质量是具体方法。文化赋能能够促使团队成员随时进行业务价值的跟踪和反馈,并及时与业务部门、需求部门实现信息的传递和协调机制的建立。
3.共担责任
共担责任是DevOps文化的根本,不能共担责任的文化意味着组织成员最终会“单兵作战”且主动关闭信息共享通道。在价值输出流水线中,具备共担责任的节点主要为交付速度和交付质量,交付质量更为突出。在质量环节,如果质量管理由某个能力子域独自承担,那么意味着违反了DevOps的模糊边界原则,在此期间,缺乏客观的数字化呈现,质量的管控体系会形成无法打破的“墙”。
在价值交付模式下,质量管理是关键节点,与质量相关的能力子域需要共担责任。在DevOps文化中,强调打破“部门墙”,建立互相信任的通道,交付速度和交付质量之间的矛盾需要通过模糊边界来解决。模糊边界的核心文化是共担责任。因此,必须通过流程和数据的管理方式和文化理念才能达到最终提升组织级质量的要求。负责质量的能力子域需要在其他能力子域的配合下,尽早发现和解决问题,从价值交付的角度来触发,更有助于流水线上各能力子域高效协作,促进整体质量提升。
4.勇于“试错”
试错的成本包括学习成本、实验成本和总结经验的成本。试错也是达到最终目标的必备手段。在试错环节,信任是试错的基础,也是IT组织各能力子域通力合作的基础,尤其在DevOps价值输出流水线过程中,试错是检验信任的重要手段。
IT组织各能力子域需要认清试错等同于最终成功的价值,并及时在IT组织内部进行分享和信息传递。只有不断试错和勇于试错,才能暴露更多的风险和提升技术的赋能。
5.善用数据,通过数据说话
数据是DevOps中的重要组成部分,这种趋势将一直延续。没有量化数据的管理,一切判断都是主观的。管理者需要客观地分析和解决问题。因此,没有数据思维,就不能持续地进行度量和反馈。
在DevOps的价值输出流水线中,整个交付周期的管理依赖各能力子域的节点数据的输出。无论是IT组织的管理者还是各能力子域的管理者,都需要输出数据、使用数据,并信任数据,通过数据的分析和输出,从全局的角度关注内部的优化和改进,促进信息流转和数据赋能。
1.4.4 DevOps文化的目标
在企业文化中,DevOps文化是面向IT组织和软件产品交付的独有文化,具备多重标签,包括内部管理、数据使用、信息传递和互相信任。对于IT组织,提倡免责、共担责任、高度信任、分享和协作,这种文化会改善IT组织内部的协作和管理方式。通过对IT组织各能力子域的文化赋能,能够有效地提升交付的效率和质量,并加快技术迭代和技术创新的速度,最终反馈至业务组织,实现更高的业务价值,助推企业发展。