应对复杂环境的两种策略
在处理复杂环境时,人们通常倾向于通过减少变异性、增加控制来简化系统。然而,另一种方法是接受复杂性,通过承认其存在、提出问题、倾听意见,并基于不同视角构建共同理解,从而持续改进适应能力。
Fred Hebert 的观点与实践
Fred Hebert 将在 QCon New York 2023 上发表关于接受复杂性的演讲,会议时间为 2023 年 6 月 13 日至 15 日。
Hebert 指出,减少变异性和增加控制的举措通常来自组织高层,其本质是通过增加可预测性来确保计划的成功。这种方法在变异是偶然且非必要的情况下有效,但在其他情况下可能会适得其反:
当变异性是复杂环境或动态条件的适应性结果时,试图控制它只会降低成功的可能性。
Hebert 强调,首先需要更好地理解当前情况,且这种理解应以认识到集中决策者的局限性为目的,而不仅仅是为了更好地控制:
找出组织中哪些人可能更适合处理输入——通常是直接接触客户和代码、能够实时应对事件的人——以及谁可能需要这些信息。
接受复杂性的第一步
接受复杂性的第一步是承认其存在,并认识到需要不同的工具。Hebert 建议:
将指标和信号视为深入挖掘的指引,而非自成一体的信号。
尝试理解驱动人们决策的因素,并看看是否可以使他们的工作更轻松,而不是通过奖惩来推动他们。
Hebert 强调应提出问题、倾听意见,不过度简化,也不过分强调为一切找到客观解释,而是基于同事的不同视角构建理解。
采访中的关键见解
在 InfoQ 的采访中,Hebert 进一步阐述了应对复杂性的方法:
InfoQ: 控制复杂性无效时,替代方案是什么?
Hebert: 成为分散控制的促进者和协调者,而不是最终成为人们会绕过的瓶颈决策者。例如,RFC(请求评论)或 ADR(架构决策记录)机制可以用于控制或赋能,但通常难以同时实现两者。组织应将其作为信息传播机制,而非防止错误的工具。
InfoQ: 如何接受复杂性?能否举例说明?
Hebert: 典型的例子是将事件数量与团队奖金或惩罚挂钩。这种做法往往不会改善现状,只会促使人们操纵数据以满足新目标。
InfoQ: 如何培养对系统更丰富的理解?
Hebert: 试图构建简洁、真实、公理化的事件视图往往会忽略许多细节。这些细节可能难以衡量,或是意见,或超出控制范围,但它们仍会影响人们的行为。接受这些混乱可能会带来更丰富的洞察。
总结
Hebert 的核心观点是,面对复杂性,组织应承认其存在,并通过促进分散控制和构建共同理解来更好地适应和应对复杂环境。控制往往适得其反,而赋能和信任则能带来更有效的解决方案。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。