知识卡片

架构过程允许模糊,架构表达却必须清晰准确

普通读书笔记卡

内容

日常交流中常常依靠”暗示”传递信息——一句”我是四川人”能在特定语境下让对方准确理解为”偏好辛辣食物”,前提是双方拥有相似的背景知识与事实推定能力,且能容忍”辣一点还是淡一点”这种程度模糊的信息不影响交流质量。架构过程同样充满这种模糊:架构本身就是把目标系统中尚不清晰的概念(边界、联接关系等)逐渐澄清的过程,所以过程中出现”与现实系统类似的”“基本符合现实运作逻辑的”这类模糊表述是必然的——如果一切概念从一开始就精确无误,也就根本不需要”架构”这个澄清动作了。但这并不意味着架构的最终表达可以延续这种模糊:实施活动必然依赖架构过程阶段性成果的最终表达与决策,如果这个表达本身模糊不清,它就无法作为下一阶段(无论是实施还是新一轮架构迭代)的有效依据,换句话说,一个表达模糊的架构结果等同于没有价值。可迁移启发:区分”过程中的模糊”与”结果的模糊”是两回事——评审一份架构文档时,不必苛求它记录下过程中所有暂时未澄清的枝节,但必须要求它对外输出的结论性表达(边界划分、联接方式、职责归属)经得起”能否直接依据它去实施”这个检验;如果连实施者都要靠”猜”,说明这份架构表达还停留在过程阶段,没有真正完成。

参考来源

- 位置:《我的架构思想:基本模型、理论与原则》第6章《架构的表达与逻辑》之"6.1 从暗示、隐喻,到抽象概念的表达"(源文件:_epub-src/ch016.xhtml) - 结论依据:原文说明"架构过程本身就是对目标系统中一些不太明晰的概念渐次清晰的过程,所以架构过程中的模糊信息是必然存在的,否则根本不必去架构它。但是这并不妨碍我们要求对架构的表达必须清晰准确……如果对架构结果的表达是模糊的,则该结果是无意义的", 直接支撑本卡关于过程模糊与表达清晰二者不矛盾的结论。 - 原始内容:如果它不能尽量准确地反映架构过程的阶段性成果,那么它也就不能作为下一个阶段(无论是实施还是新的架构迭代)的有效依据。