This week we’ll discuss the second last chapter of the book, Chapter 16: Large-Scale Structure. This chapter was more about holding a sprawling system together when the model grows big than anything else. And it does get big — even when you’ve done everything “right.”

I liked the satellite communication simulator example that opens the chapter. The team had a solid model, modular design, and good abstractions but it still started falling apart at scale. That resonated. Sometimes things drift not because they’re badly built, but because they’re not built with a larger shape in mind.

Evans walks through a few structural ideas: responsibility layers, knowledge levels, component frameworks, system metaphors. Some are familiar, others feel a bit idealistic. But they all point to the same thing: at some point, your model needs scaffolding or it will sprawl in ways that hurt understanding.

I found the Responsibility Layers pattern quite grounded. It’s not flashy, but just separating “what the system can do” from “what it should do” often clears a lot of mental clutter.

Also appreciated the reminder not to rush into structure too early. This line stayed with me:

“Don’t over-engineer a large-scale structure before the model has emerged.”

Overall I had a lot of fun reading this chapter and found it quite difficult to read at the same time. Hope you all enjoyed it as much as I did.


Challenge for the Reader

  • In systems you’ve worked on, has there been a moment where the lack of a “large-scale structure” caused drift — even when individual modules were well-designed?
  • How do you decide when a system is “big enough” to need explicit structural scaffolding?