如何应对反向康威定律?- Romain


这是Romain Vailleux在Duck Conf 2021上的演讲| OCTO会谈:如何应对反向康威定律?
你是不是经常抱怨:“我的CRM不是全渠道的;我们的移动应用程序晚了;我的API项目快要疯了……。”
公司是由人类和技术系统组成的复杂系统,它们之间存在着永恒的互动。这个“社会技术”系统是双重的: 

  • “社会”方面:人,敏感,团队及其互动
  • “技术”方面:机器,流程的逻辑和严格性以及资本

这两个维度在一个复杂的系统内相互作用,在极少的最佳平衡点附近振荡。

如何在我们公司所体现的社会技术体系中创造平衡和持久的变化?在时间和精力的最佳花费范围内?
 
康韦定律
自1960年代以来,梅尔文·康威(Melvin Conway)对“社会技术”系统也很感兴趣。以他的名字命名的法律康韦定律)的内容如下:“任何设计系统(广泛定义)的组织都将产生其结构是该组织通信结构副本的设计。” 梅尔文·康威(Melvin Conway)指出,组织的沟通结构直接影响着这些组织所生产的技术系统的设计。
简而言之:公司的组织结构图和人与人之间的人际关系比设计师和架构师具有更大的影响力!
反向康威定律:这一大胆的举动是利用康威定律间接实现我们的最终目标:以较低的成本转变您的业务,修改其交流结构以影响最佳体系结构设计的出现。那么,真正要问的问题是:什么是达到给定架构目标的正确组织? 
 
实践中:团队第一!
团队拓扑:组织业务和技术团队以实现快速流程》一书(Matthew Skelton,Manuel Pais)为我们提供了一种新的有用的建模工具,用于研究,讨论和阐明团队之间的沟通结构。要设计最佳团队,必须考虑两个因素: 
  • 限制团队的认知负担(业务,技术,基础设施),以避免溢出并保持学习能力。
  • 选择便于互动的团队规模。

将150人分成几个团队并不容易。Dunbar的工作和其他重要数字派上用场:
  • 150:可以与您同时维持关系/回忆的人数;
  • 50:可以与您建立相互信任关系的人数;
  • 15:可以与您建立牢固信任关系的人数;
  • 5(+/- 2):您可以立即记住(与认知负荷相一致)的同时对象的数量。这也是可以与您保持紧密合作关系的最大人数。

在团队规模和效率之间找到最佳平衡,意味着将光标置于以下位置:

  • 团队同步与团队间同步
  • 拥有团队中的所有技能,而不是依赖其他团队
  • 高度耦合的软件模块倾向于分离的体系结构

团队拓扑结构:组织商业和技术团队的快速流识别四种类型的团队:
  • 1. 与流程保持一致的团队:流程和响应能力,致力于实现业务目标。
  • 其他三种类型的团队,其唯一目标是消除与流程保持一致的团队的障碍,并最大程度地降低认知负担:
    • 2. 赋能团队,促进团队发展: 传播良好做法并提高团队的专业知识水平(咨询/辅导/指导/培训……)
    • 3. 复杂子系统团队:将最先进的技能和专业知识捆绑到可供组织其他部门使用的产品中
    • 4. 平台团队:简化通用基础的使用,以加速产品的实施

最后,在此模型中提出了3种团队之间的交互模式:
  • 协作:两个团队之间有着很强的相互依存关系,因此加强了他们之间的互动,以更好地适应其软件产品的集成。因此,集成模式是临时设计的,以提高效率和专业化为目标。协作模式也适用于解决独特的情况和不确定的上下文。
  • X-as-a-Service:一种支持去耦和标准化的交互方式。一个团队通过标准化接口提供其产品。该部门的生产团队采用“产品”文化。
  • 促进:两个团队之间的临时关系,旨在以可持续的方式将技能传授给另一个团队。

然后,通过依次添加团队和适当的互动方式,像Legos 一样设计和组装目标组织。

 
在实践中:组装真实案例

复杂的子系统团队“产品”:

  • 解决强烈的依赖性​​: “ PIM和CMS需要非常频繁地同步并串联工作。”

流式团队“ Front Web”“ Front Mobile”:
  • 与产品合作

复杂的子系统团队“ CRM”“ OMS”:
  • 支持转换项目,X即服务与“产品

赋能团队XForew:
  • 将稀有技能与技能传教任务结合起来

复杂的子系统团队“服务支付”:
  • 付款领域的发展必须使所有销售渠道受益。如果我们更换合作伙伴,它必须能够轻松退役/更换。
  • 与产品“ Front Web”和“ Front Mobile”合作

 
社会技术架构师工具箱