Skip to Content
软件架构师速成指南
book

软件架构师速成指南

by Gregor Hohpe
May 2025
Beginner to intermediate
368 pages
3h 30m
Chinese
O'Reilly Media, Inc.
Content preview from 软件架构师速成指南

第 7 章 质疑一切 一切问题

本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com

Wer Nicht Fragt, Bleibt Dumm!

The architect riddler
建筑师谜语

一个常见的误解是,总建筑师比 "普通 "建筑师更了解一切--否则他们为什么要当 "总 "呢?这种想法实际上与事实相去甚远。因此,我经常说自己是一个知道该问什么问题的人。再引用电影《黑客帝国》中的一句话,拜访首席建筑师有点像拜访 Oracle:你不会得到直接的答案,但你会听到你需要听到的东西。

五个为什么

提问 并不是一项新技术,丰田佐吉设计的 "五个为什么 "方法已广为人知,它是丰田生产方式的一部分。这是一种通过反复询问事情发生的原因来找到问题根源的技巧。如果你的汽车无法启动,你应该不断地问 "为什么",以找出起动机不转是因为电池没电了,因为你没有关车灯,因为警告你开着车灯停车的蜂鸣器没有响是因为电子设备出了问题。因此,在跳火启动汽车之前,应该先修复电子设备,以免问题再次发生。在日语中,这种方法被称"なぜなぜ分析",大致意思是 "为什么,为什么分析"。因此,我认为 "五个为什么 "更像是一个指导方针,让我们不要过早放弃--如果你只用四个为什么就找出了真正的根本原因,那你肯定没有作弊。

这种方法可能非常有用,但需要遵守纪律,因为人们可能会在回答问题时注入自己喜欢的解决方案或假设。我见过有人在对生产故障进行 根本原因分析时,在回答第二个或第三个问题时反复说 "因为我们没有足够的监控",在回答下一个问题时又说 "因为我们没有足够的预算"。汽车例子中的相应答案是 "因为车旧了"。这不是根本原因分析,而是机会主义或借口主义,这个词被收入了《城市词典》,但还没有被收入《梅里亚姆-韦伯斯特 词典》。

反复提问可能会让人有点恼火,所以最好随身携带丰田生产方式的参考资料,以强调这是一种被广泛采用的有用技巧,而不是你在刁难别人。提醒你的同事,你并不是在挑战他们的工作或能力,而是你的工作要求你详细了解系统和问题,以便发现潜在的差距或错位,这也很有帮助。

揭示决定和假设的原因

当 进行架构审查时,"为什么 "是一个有用的问题,因为它有助于引起人们对所决定(第 8 章)以及导致这些决定的假设和原则的关注。很多时候,结果都被当作 "从天而降 "的 "上帝赐予 "的事实,或者是你认为无所不能的神圣创造者(真正的首席架构师!)所在的地方。揭示导致决策的假设可以提供更多的洞察力,并提高架构审查的价值。架构评审不仅要验证结果,还要验证背后的思考和决策。为了强调这一点,应要求提交架构评审的任何团队提供架构决策记录1任何提交架构评审的团队都应提供架构决策记录。

如果在作出假设后环境发生了变化,那么未说明的假设就会成为万恶之源。例如,传统的 IT 部门经常编写复杂的图形化配置工具,而这些工具只需几行代码和一个标准的软件开发工具链即可替代。他们的决策是基于这样的假设:编写代码既慢又容易出错,而当我们克服了对代码的恐惧后,就会发现这种假设已不再普遍适用(第 11 章)。如果你想改变组织的行为,往往需要先识别并克服过时的假设(第 26 章)。

回到《黑客帝国》,Oracle 给出的解释是:"你不是来这里做选择的,你已经做出了选择。你来这里是为了试图理解自己为什么

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

游戏化头脑风暴

游戏化头脑风暴

Dave Gray, Sunni Brown, James Macanufo
超越Vibe编程

超越Vibe编程

Addy Osmani

Publisher Resources

ISBN: 9798341658028