我的架构思想(五十九):附录 3.2.3

阅读数:22 2019 年 10 月 16 日 15:24

我的架构思想(五十九):附录 3.2.3

附三:超越软件架构——组织与架构 <2 基于组织视角的观察 >(组织:组织力下的 VEO 基本模型)

VEO 模型表达了技术、管理之与架构,是一体的两面,这种关系可简单描述为图附 3-12,但这只是一种理想状况——准确地说,是相对理想的状况当中的一种。

图附 3-12 技术、管理之于架构是一体两面的关系

我的架构思想(五十九):附录 3.2.3

在我们最初做软件开发工作的时候,例如个体开发项目中,所谓技术角色与管理角色是一体的,这是最简洁的开发模式。接下来,当项目规模大到一定程度时,我们发现需要一个管理角色来参与项目的过程,让他通过控制这一过程来限制项目的规模,保障输出质量与投入成本的平衡。这催生了传统的软件工程模型。然而尽管我们已经基于这样的模式实践了几十年,却仍然在不停地探索管理与技术之间协调工作的方法。从这个角度上,即从实施的视角,对传统的软件工程模型加以审视,如图附 3-13 所示5

5 传统软件工程模型其实就是一个软件开发方法论在过程与工具上的投影。

图附 3-13 基于实施视角,对传统工程模型的另一种抽象描述

我的架构思想(五十九):附录 3.2.3

这事实上也说明了传统的软件工程为什么都是在某种方法论上的具体实施。然而我们观察实施视角下的软件工程,(基于某种方法论,)它除了引入更复杂的过程 / 流程,以及更多门类的工具来协助工程的推进之外,并不能解决组织问题。

现在,为了保障更大规模下的目标,我们引入了架构角色。架构这一角色,在组织关系上介于管理与技术二者之间,在工作内容上与二者有所重叠,在职责权力上又难以对当前项目与产品产生直接效果。这三个方面的关系,使架构角色在组织结构上显得尴尬。而与这种尴尬的状况不匹配的,是它可能带来的负面效应。

架构角色对目标投影的失控将不可避免地导致组织规模扩大,以及管理与实施之间失联,图附 3-14 表现了这样一种状态(图中的角度值仅用来与 VEO 基本模型比较,并非有确切含义的数值)。

图附 3-14 模型 8:组织结构调整带来的问题

我的架构思想(五十九):附录 3.2.3

所谓组织失联,是指在组织结点之间(例如管理与技术)所工作的方向不一致、沟通成本增加,以及信息不对称——例如架构角色所展示的“目标映射”在其他角色有不同理解。进一步的结果,随着失联愈趋明显,最终有效的工作集变得越来越小。与此同时,组织的规模却在增长,管理边界与成本也增大了。这一过程,其实就是所谓的组织结构调整所带来的内耗。

积极的管理或技术角色会趋向于弥补这种内耗,无论是二者谁占据主动(话语权或说服力),其结果无非是图附 3-15 所示的两种情况中的一种。尽管这两种模型从本质上来说是一样的——因为“实际的规模”中的内耗与模型 8 中是等量的,但是架构失控偏向于某一侧,其结果却可能不同。

图附 3-15 模型 9:积极的组织适应带来的效果
模型 9a:架构对细节的失控

我的架构思想(五十九):附录 3.2.3

模型 9b:架构对规模的失控

我的架构思想(五十九):附录 3.2.3

在模型 9a 中,由于架构角色对细节失控,因此他只能尽量争取管理角色的支持。如果他有足够的组织责权,管理角色又能很好地配合,那么业务会朝向架构目标推进。但即使如此,由于技术角色所能感受到的方向是趋于变化,所以技术调整的成本会相当高(例如技术人员离职、框架废弃等)。另一方面,如果架构与管理无法配合工作,那么最终的结果是管理能力决定了项目是否“按时完成”,但项目产出与原始需求会相距甚远。

在模型 9b 中,由于架构角色对规模失控,因此他只能尽量争取技术角色的支持。如果他有足够的技术影响力,并且可以在需求和目标上与技术角色达成一致,那么业务也会朝向于架构目标推进。与上一个例子类似,管理角色将会缺席,事实的情况变成了由架构角色来驱动一个技术产品的研发过程。架构角色可能会在细节上与技术角色沟通,而忽略了在时间、资源等成本上做好控制。更或者存在另一种可能,即架构与技术角色仍然无法达成一致,那么最终的“业务推进方向”将变成“技术创新产品”——当心,完全无规划的技术创新,既可能是全新的业务,也可能是耗尽资源的垃圾。

面对组织失联,积极的愚公可能挖山不止而终无所成(或神话般地感天动地),消极的管理或技术角色则可能会让经营者看到一个“貌似可喜”的局面。当管理、技术与架构角色之间都不能相互配合时,他们各自为阵进而达到一种平衡势态,如图附 3-16 所示。

图附 3-16 模型 10:消极的组织对抗带来的平衡态势

我的架构思想(五十九):附录 3.2.3

之所以说这是“貌似可喜”的,是因为这个模型表面来看不存在问题:组织的要义在于能以一种稳定的模型持续推进,而不稳定的组织结构意味着自我调适带来的内耗。同时,这种平衡态势也是组织力影响 VEO 模型的正常结果。如上所述,无论以何种结果(例如大量内耗)为代价,组织的自我调控都将是趋向于衡态的。具体来说,在信息的分享上,完全无分享是最确定的衡态;在目标方向上,各向的牵制是最确定的衡态;在组织规模上,各角色等量发展是最确定的衡态,等等。

所以,如果仅仅构建(或自然形成)VEO 模型中所述的架构、管理与技术角色关系,并依赖他们完全自发地调适,模型 10 将会是最有可能的结果,也将是消耗最大的一种衡态:系统的规模最大而有效的工作集最小,并且在目标和实施上存在不对等和不确定性。

评论

发布