Skip to content

Evolution with Scale

Architecture is not one job done at different volumes. The work changes in kind as an organisation grows, and the changes arrive at fairly predictable points.

Knowing where those points are is what lets you tell the difference between a problem you should solve now and one that belongs to a company you are not yet.

Up to roughly fifty engineers. Architecture is a part-time activity of the strongest engineers, and that is appropriate. Everyone can hold the whole system in their head, decisions propagate by conversation, and a dedicated architect would mostly add latency. What breaks first is not the architecture but the shared understanding — the point where no single conversation reaches everyone who needs to know.

Around a hundred to two hundred. The regime where the role appears, and Module 8 established why: nobody holds the whole picture, so cross-cutting decisions stop happening by themselves. Work that was previously invisible — recording decisions, maintaining a description of the system, sequencing structural change — becomes somebody’s job because it has stopped being nobody’s.

Five hundred and beyond. Architecture becomes a function rather than a person. The problems shift again: not making good decisions, but making consistent ones across groups that never speak, and building the platform layer that stops every team solving the same problem differently. This is the regime that boards, standards and radars were designed for, which is why Module 9 deferred them.

graph LR
  A["<b>~50</b><br/>shared understanding<br/>breaks first"] --> B["<b>~150</b><br/>nobody holds the<br/>whole picture"]
  B --> C["<b>500+</b><br/>consistency across<br/>groups that never meet"]

  classDef sm fill:#7D9A4E,stroke:#5F7A38,stroke-width:2px,color:#ffffff
  classDef md fill:#E8A33D,stroke:#C4832A,stroke-width:2px,color:#ffffff
  classDef lg fill:#5B8FB9,stroke:#4A7A9E,stroke-width:2px,color:#ffffff
  class A sm
  class B md
  class C lg

Three regimes, and what fails at each boundary. The failure is never capability — it is always a communication structure that has stopped reaching far enough.

Not because systems get complicated — a fifty-person company can have a genuinely complex system. It appears because the cost of an uncoordinated decision exceeds the cost of coordinating it, and that crossover is a function of how many people can make decisions independently.

Which also tells you what the role is for. Not being the best designer in the building; being the thing that makes a decision reach the people it constrains.

The dangerous half of this topic. Knowing what breaks at the next transition invites building for it now, and that is how organisations acquire platform teams for problems they do not have, abstraction layers over single implementations, and governance that fits a company four times their size.

Module 8’s test is the one to apply: what is cheap now and expensive to retrofit? Very little qualifies, and the things that do are mostly conventions rather than code —

  • Boundaries that follow the domain rather than the order work happened. Cheap to get right while a service is young; the single most expensive thing to change later.
  • Decision records. Free to start, impossible to reconstruct afterwards, as Module 9’s recovery topic established.
  • Observability and cost attribution per unit of work. Cheap while there are few services; a retrofitting project once there are many.

Everything else — the platform layer, the standards catalogue, the review board — is cheaper to build later with real requirements than now with imagined ones. The honest default is to let the next stage’s problems arrive and be solved by whoever is there, which is the opposite of what an ambitious architect wants to hear.

The scale reading shapes your migration sequence and your legacy strategy — specifically, which structural investments you make now because they are cheap now, and which you explicitly defer to a larger company.


→ The regime is clear. The useful question is what gives way first. — What breaks at the next transition