Andrew Harmel-Law presented the architecture advice process at GOTO Copenhagen. How we decide is at the core of architecture, and the architecture advice process is a way to decentralize architectural decisions. It needs to be supported by Architecture Decision Records because of the speed at which technology and systems move, and can be complemented by a weekly architecture advice forum.Andrew Harmel-Law在GOTO哥本哈根大会上介绍了架构建议流程。我们如何决策是架构的核心,而架构建议流程是一种去中心化架构决策的方式。由于技术和系统发展迅速,它需要架构决策记录的支持,并且可以通过每周的架构建议论坛进行补充。
Writing is thinking, and therefore writing an Architectural Decision Record (ADR) helps those deciding in this practice, Harmel-Law argued. They help deciders make small, reasoned decisions, supported by the expertise of their peers. That also helps those less experienced in deciding to learn this art.Harmel-Law认为,写作即思考,因此编写架构决策记录有助于实践中的决策者。它们帮助决策者做出小而理性的决策,并得到同行专业知识的支持。这也帮助经验不足的决策者学习这门艺术。
Lightweight ADRs allow the right people to be involved in the right decision-making at the right time. Offering written advice asynchronously allows different minds time to think in the way that suits them best, Harmel-Law said.轻量级ADR允许合适的人在合适的时间参与合适的决策。Harmel-Law表示,异步提供书面建议可以让不同的头脑有时间以最适合他们的方式思考。
When ADRs are used to back up the architecture advice process, they combine to form an immutable change log for the overall system architecture, Harmel-Law explained:当ADR用于支持架构建议流程时,它们会组合成整个系统架构的不可变变更日志,Harmel-Law解释道:
This represents both a granular record of the path taken to get to where the architecture is now, with all its gory and perhaps unpalatable context, as well as a learning resource for those both onboarding into a specific organization as well as for anyone desiring to learn how to think and reason architecturally.这既代表了达到当前架构所经历路径的详细记录,包含所有复杂且可能令人不快的背景,也作为新加入特定组织的人员以及任何希望学习如何思考和推理架构的人的学习资源。
The architectural advice forum is a regular session open to all, which primarily serves to build trust in the advice process, make explicit the decisions that are happening following it, and to allow offering advice and discussing synchronously, Harmel-Law mentioned. It allows those less experienced in deciding to see this process (which is in older approaches frequently adversarial and undertaken behind closed doors) happening in front of them.Harmel-Law提到,架构建议论坛是一个定期向所有人开放的会议,主要目的是建立对建议流程的信任,明确后续发生的决策,并允许同步提供建议和讨论。它让经验不足的决策者看到这一过程(在传统方法中常常是对抗性的且闭门进行)在他们面前发生。
The architectural advice forum shines a light on the practice of architecture and democratises it. Not everyone will be inclined to attend, but they can, Harmel-Law explained:架构建议论坛照亮了架构实践并使其民主化。并非所有人都会参加,但他们可以参加,Harmel-Law解释道:
Not all attendees will actively participate, but they are able to. Only some will step up and present decisions and ADRs, but those that do will be able to harvest the knowledge and support of the collective. In a world that needs more architecture, not less, this is incredibly powerful.并非所有与会者都会积极参与,但他们有能力参与。只有一些人会站出来展示决策和ADR,但那些这样做的人将能够收获集体的知识和支持。在一个需要更多架构而非更少的世界里,这非常强大。
Failures with the advice process and lightweight ADRs arise mainly because of old "top-down architectural practice" mental models and a valuing of knowledge stocks ("what I know") over knowledge flows ("what everyone who needs it knows"), Harmel-Law explained:Harmel-Law解释说,建议流程和轻量级ADR的失败主要源于旧的“自上而下的架构实践”思维模式,以及重视知识存量(“我所知道的”)而非知识流动(“所有需要知道的人都知道的”):
The issue that underpins them all is a lack of trust. In order for the advice process to work and prevent architects from becoming bottlenecks, the power to decide needs to be spread more widely. If those with that power are unwilling to share it, then none of the benefits can accrue.所有问题的根本是缺乏信任。为了使建议流程有效并防止架构师成为瓶颈,决策权需要更广泛地分散。如果拥有权力的人不愿意分享,那么任何好处都无法实现。
Harmel-Law mentioned that he sees traditional architects worrying about "bad" decisions, being the ones they disagree with. This is a failure to acknowledge that no one knows whether a decision will turn out well or poorly until it is put into action.Harmel-Law提到,他看到传统架构师担心“糟糕”的决策,即他们不同意的决策。这是未能认识到在决策付诸行动之前,没有人知道结果是好是坏。
Feedback is the only way to know, and so deciding small and fast, and getting feedback on the outcomes of that decision rapidly, are key to avoiding this issue, Harmel-Law concluded.Harmel-Law总结道,反馈是了解结果的唯一途径,因此快速做出小而快的决策,并迅速获得关于决策结果的反馈,是避免这一问题的关键。
InfoQ interviewed Andrew Harmel-Law about the advice process, ADRs, and doing architecture.InfoQ采访了Andrew Harmel-Law,讨论了建议流程、ADR和架构实践。
InfoQ: How can approaches like the advice process and lightweight ADRs fail?InfoQ:像建议流程和轻量级ADR这样的方法可能会如何失败?
Andrew Harmel-Law: I frequently see issues where those whom the advice process now allows to decide, choose not to exercise this power as they are afraid of the ramifications. In these circumstances, those more experienced need to not take up the space the advice process opens up, and instead work with those less experienced to build their confidence and skills.Andrew Harmel-Law:我经常看到这样的情况:那些现在被建议流程允许决策的人,因为害怕后果而选择不行使这一权力。在这种情况下,经验更丰富的人不应占据建议流程打开的空间,而应与经验不足的人合作,建立他们的信心和技能。
I also see decisions that fly under the radar. This can be for various reasons (typically those deciding don’t realise it’s a decision, or they do, but are afraid of being told "no" by others, despite the fact that the architecture advice process prevents that – they only need to seek advice, they maintain full responsibility (and accountability) for their decisions.我还看到一些决策被忽视。这可能有各种原因(通常是决策者没有意识到这是一个决策,或者他们意识到了,但害怕被他人说“不”,尽管架构建议流程阻止了这一点——他们只需要寻求建议,他们对自己的决策保持完全的责任和问责)。
This can be remedied by those with more experience in the practice of architecture mentoring others. This is a great way to again turn knowledge stocks (the experience of the traditional architect) into knowledge flows (sharing that experience with others as and when they need it.).这可以通过经验更丰富的架构实践者指导他人来补救。这又是将知识存量(传统架构师的经验)转化为知识流动(在需要时与他人分享经验)的好方法。
InfoQ: Is there still value in doing architecture?InfoQ:架构实践还有价值吗?
Harmel-Law: The value of architecture, at all scopes and scales, is far more important than ever. With the technologies and tooling we have these days (even before LLMs came on the scene) and the number of people working on these systems, both within and outside of our firewalls, architecture (including sociotechnical architecture - who works on what) is becoming more important than ever.Harmel-Law:架构的价值,无论范围和规模如何,都比以往任何时候都重要。凭借我们如今拥有的技术和工具(甚至在LLM出现之前),以及在这些系统上工作的人数(无论是在防火墙内还是外),架构(包括社会技术架构——谁做什么工作)正变得越来越重要。
We feel it when it goes wrong - just look at the mess many of us got ourselves into with microservices. It was supposed to enable team autonomy, but instead led to way too many distributed monoliths. Or think about ensuring our systems embody the systemic qualities we expect. Or the fact that our systems are constantly evolving or being put to uses that were never initially imagined.当它出错时我们就能感受到——看看我们许多人在微服务中陷入的混乱。它本应实现团队自主,却导致了过多的分布式单体。或者想想确保我们的系统体现我们期望的系统质量。或者我们的系统不断演变或被用于最初未曾想象过的用途。
Software is very powerful; it is capable of solving almost any problem we can throw at it. But making sure it’s a good fit for that is a lot of work. That’s architecture.软件非常强大;它几乎能解决我们提出的任何问题。但确保它适合解决问题需要大量工作。这就是架构。

/sponsorship/rsc/fa929cab-cfb3-4d78-89db-ca64f22448d4/cover/DatadogWebinarJuly9-RSC-1779203104093.jpg)
/filters:no_upscale()/sponsorship/topic/e8f7c20d-6d29-4b1e-b4ca-291928638812/DatadogWebinarJuly9-RSB-1779204193608.png)
/sponsorship/rsc/52318350-f698-4619-9bd5-4d0e77e65a52/cover/HarnessRSC8Deploment-1776926578638.jpg)