知识卡片
定量分析在架构领域的潜在应用:神奇数字7±2与贝叶斯概率
内容
架构设计领域目前对定量分析的应用仍然非常有限,大多数情况下依赖架构师的个人经验——这种方式对小团队或许有效,但大型企业的庞大架构师团队里,纯靠个人经验会影响架构设计的整体一致性,因此如何把定量分析融入架构设计过程,是评估企业架构师团队能力的重要因素。两个可能的方向:一是”神奇的数字7”——心理学家乔治·米勒1956年的论文指出,人脑能接受和记忆的信息单元数量大约是7±2;这个数字已被广泛用于软件研发领域(团队规模、方法参数数量等),架构设计里也有很多类似的可量化考虑,比如应用架构的分层数、一条价值流中的节点数量、一个领域中的子领域数量、一个子领域中的限界上下文数量、一个限界上下文中的聚合数量、一个聚合中的主要实体表数量——这些数字都可以拿”7±2”这个认知负荷上限去校验,超出太多可能意味着这个划分层次已经超出了人类正常认知能够驾驭的范围。二是贝叶斯概率——定量分析不一定非要得出完全确定的结论,概率同样是一种定量表达;贝叶斯概率本身就是一种主观性概率,表达的是”在给定相关确定性信息的情况下,某个主体认为客体可能发生的概率”,这与架构设计目前仍然由架构师依据个人主观判断决策的现状天然契合;结合架构可追溯性(要求把架构设计过程记录下来,参见[[短期与长期利益的抉择,及架构可追溯性的四个好处]])这一点,这些记录下来的数据经过加工处理存储后,就可以用贝叶斯概率方法做定量分析,进而对架构设计过程进行预测或优化。可迁移启发:审视一份架构方案里”某个层次拆出了多少个子模块/子领域”这类具体数字时,可以直接拿”7±2”这把尺子去量一量——如果拆分数量远超这个范围,即便逻辑上说得通,也可能已经超出了团队成员实际能记住、能协调的认知负荷上限,这是一个比”感觉有点多”更具体、更可操作的判断依据。