组织设计依赖于技术专家

如果我们认可康威定律中描述的分形的力量(也就是在架构和团队组织之间),那么我们也必须承认任何能够决定工程团队结构的人都会强烈地影响软件系统架构。这里存在一个康威定律的逻辑推论,用Ruth Malan的话来说就是:“如果我们让管理者来决定哪些团队开发哪些服务,那么就相当于我们默认让管理者来决定软件架构。”

HR部门对于软件系统能有多少了解呢?难道一群决策如何在团队间分配预算的部门领导知道他们的选择对于软件架构生命力的影响吗?

考虑到有越来越多的证据表明康威定律背后的同态性,如果一个构建软件系统的组织想要决策团队的形态、职责和边界,那么技术负责人的输入是不可或缺的。

组织设计和软件设计实际上代表了一个硬币的两面,两者都依赖于一群经验丰富的人员来推进实施。Allan Kelly对于软件架构师职责的观点进一步拓展了这种思想。

我从未像现在这般坚信,对于那些声称要成为架构师的人来说,技术和社交能力缺一不可。他们需要理解人,并在一个社会架构中工作。他们同样需要一个远超单纯技术领域的职责,在组织结构和人事方面拥有一定的话语权,比如让他们同时兼任管理者。

从根本上讲,我们需要在组织设计中引入技术人员,因为他们理解核心的软件设计概念,比如API和接口、抽象、封装等。Naomi Stanford将其总结为:“只要更广泛的组织接口和边界成为设计的一部分,那么就可以独立地设计组织、系统和业务流程。”