CHAPTER DEEP READ · ACCELERATE · CH 5

Architecture

Accelerate: The Science of Lean Software and DevOps · Ch 5 · Forsgren, Humble & Kim · 2018

中文 →

What is this chapter about?

The previous chapter said: shipping fast and safely comes from merging daily and having automated checks you trust. Plenty of teams object — we'd love to ship daily, but we physically can't. Change one line and you wait for seven other groups to line up, then for the one release window that opens each month. Chapter 5 asks what is actually blocking them. The answer is a surprise: not effort. The shape of the building.

Start with something strange

The researchers expected teams building phone apps to be faster than teams tending a decades-old system. The data says otherwise: old systems, bought-off-the-shelf software, firmware baked into a device — the type of system you build barely shows up as a difference in speed. Teams working on machines older than they are still land in the fastest group.

Why the old world was hard

Picture an apartment building where every unit shares one water main and there are no shutoff valves. To replace your own faucet you have to notify the whole building, schedule a night when the water goes off for everyone, and have all of it inspected together. Replacing a faucet isn't hard. "Everyone has to do it at once" is hard.

Software is full of buildings with no valves: to check whether your small change is right, you first have to assemble everyone else's systems into one complete setup; to go live, you wait for everyone to be ready. The more people, the harder the scheduling — so adding people makes it slower.

The core mechanism: install the valves

The chapter says you can judge the shape of a system with two very plain questions:

One: can I check it on my own? Without assembling everyone else's pieces into one complete setup, I can verify most of my change. In practice, you give the neighbors a stand-in — something that answers the way they agreed to answer — and you test only your own side.

Two: can I ship it on my own? Without waiting for anyone, without a shared window, I release my part whenever I want. That works only if the neighbors and I have a written agreement about how we talk to each other, one that doesn't shift under us.

Once those two hold, something lovely happens: the amount of talking goes down. All those cross-team coordination meetings were, in effect, interest payments on the missing valves. Install the valves and each small group can finish its own work.

What it buys you

The finding worth remembering is about what happens when you hire. In well-shaped teams, more people means output per person still goes up. In badly shaped ones, more people means output per person goes down — the new arrivals spend most of their time waiting and meeting. So architecture doesn't really decide how modern your technology is. It decides whether the people you add turn into capacity or into coordination cost.

There's also a note for managers: don't dictate everyone's tools. This chapter found that teams allowed to pick their own tools do better — because only the people using something every day know whether it's any good.

Remember one thing

To judge a system's shape, don't look at how pretty the diagram is or how fashionable the technology is. Ask two questions: can I finish testing on my own? can I ship on my own? Two yeses and most of the rest follows. The honest cost: valves aren't free. The more you split things apart, the more pieces and agreements you have to maintain — split too far and you've simply traded meetings for debugging.

Want the mechanisms, the research findings, and the diagrams? → Switch to the deep read