← All Articles

Architecture without phases is just a diagram

Every org I've joined had a target architecture. It was usually on a wall, or buried in a Confluence doc nobody had touched in eight months. It described where things should end up. Clean service boundaries. Clear domain ownership. The kind of diagram that makes sense to whoever drew it.

What it never described was how to get from here to there. And more specifically, it never accounted for the fact that the team making the journey wasn't the team the diagram assumed.

The transition is the actual work

In most of the organisations I've joined, the biggest need wasn't better tooling or a cleaner cloud setup. It was people. Teams that needed to level up. Developers who'd never worked in a service-oriented system, or hadn't touched the framework the new architecture was built on, or were solid engineers who just hadn't had exposure to certain patterns yet.

Architecture decisions either account for that or pretend it isn't happening. The ones that pretend tend to fail in predictable ways. The target state gets reached eventually, if at all, by grinding people through it. The diagram stays aspirational while the team slowly figures out what they were supposed to already know.

Planning the transition as deliberately as you plan the destination changes what's possible.

Risk separation, not just domain separation

Service architecture usually gets sold on domain separation. User management here, payments there, notifications somewhere else. That's a real benefit. But the thing I've found more useful in practice is risk separation.

A payment service and a notifications service are both services. They are not equally expensive to get wrong. One of them handles money in motion. The other sends emails. That asymmetry is a resource you can use.

Got a team that needs to practice a new framework? Or a group of developers who are good at what they know but haven't worked much with OOP? Isolate them a low-risk part of the system. Give them real ownership of something that runs in production. Let them make it theirs.

The boundaries you're drawing for domain reasons also create safe spaces for the humans doing the work.

Production ownership beats tutorial grind

A mistake corrected in production sticks. You remember it because it was real, the fix was yours, and the feedback loop was immediate. A mistake pointed out in a PR review lands differently. It gets argued about, or quietly accepted and immediately forgotten, or worse, it chips away at someone's willingness to try things.

Teams I've seen level up fastest weren't the ones with the best onboarding docs or the most structured training programmes. They were the ones who owned something real, early. The architecture gave them a bounded space where they could move fast, break things that were okay to break, and feel the consequences directly.

That kind of ownership moves skill forward faster than any tutorial grind. And it doesn't kill motivation the way a steady stream of rejected PRs does.

The obvious caveat

None of this works if you're not honest about which parts of your system are actually critical and which aren't. Some orgs treat everything as business-critical. Usually for political reasons, sometimes out of habit. That framing eliminates the option entirely, so it's worth pushing back on.

Not every service needs to be defended like it's the payment processor. Being deliberate about which systems are genuinely high-stakes, and which ones can absorb a bit more learning-in-public, is itself a useful architectural decision.

The teams that got there

The target architecture matters. But the teams that actually reached it, rather than just describing it, were the ones where the path was designed as carefully as the destination. Where someone looked at the current state, looked at the people, and said: if we carve this piece off first and let that team own it, we're building two things at once.

Architecture that doesn't account for the people making the transition isn't really a plan. It's a drawing of somewhere you'd like to be.