Models
A system cannot be changed until someone can think it.
Not fully.
No living system can be fully held in a mind.
But some shape must become available to thought.
That shape is a model.
A model is not the system.
It is a way of making the system small enough to reason about without pretending the system has become small.
A model is a disciplined incompleteness.
It leaves things out so something can be seen.
This is its power.
This is also its danger.
What Models Do
Models let us act.
Without models, every change is contact with the whole.
Every detail asks for attention.
Every exception has the same weight as every principle.
The system becomes impossible to approach because nothing has been compressed into a form the mind can use.
A model says:
- look here
- this relation matters more than that one
- for this purpose, these differences can be ignored
It turns motion into shape.
It turns experience into language.
It turns fear into a question.
This is why models are not merely diagrams or schemas.
A deployment model, a domain model, a pricing model, a permission model, a mental model, a support script, a story a team tells about its users: all of these make certain changes thinkable and others nearly invisible.
The Price
Every model buys clarity by paying with distortion.
There is no neutral model.
A model is useful only relative to a purpose:
- useful for operations, misleading for design
- useful for reporting, misleading for identity
- useful for onboarding, misleading for evolution
This does not make the model bad.
It means the model has a purpose.
Problems begin when the purpose is forgotten.
The confusion has familiar forms:
- the model becomes reality
- the diagram becomes the system
- the database table becomes the concept
- the dashboard becomes the truth
- the ticket category becomes the user
- the name becomes the thing
Software teams do this constantly.
They inherit a name and begin to live inside it.
They inherit a category and begin to route work through it.
They inherit a model and forget that someone once chose what it would ignore.
Working Models
A good model is not one that is complete.
Completeness is usually a trap.
A good model is one that remains workable.
It can:
- help people coordinate
- make consequences visible
- allow disagreement to become precise
- be corrected when reality pushes back
- admit that it is only a model
This last property matters more than it sounds.
When a model knows that it is a model, it can be revised without humiliation.
When a model believes it is reality, every correction feels like an attack.
This is how architecture becomes defensive.
Instead of asking what the new case reveals, the system protects the model that can no longer digest it.
The model survives.
The understanding decays.
Multiple Models
Complex systems require more than one model.
No single representation can carry every truth:
- the user journey is not the data model
- the data model is not the runtime model
- the runtime model is not the organizational model
- the organizational model is not the economic model
Each sees a different system.
Each is partial.
The work is not to collapse them into one perfect picture.
The work is to let them speak to each other.
Sometimes the most important architectural discovery happens when two models disagree.
Different models may tell different truths:
- the product model says the user has one account
- the billing model says the organization owns the subscription
- the permission model says access belongs to a role
- the support model says the real actor is the person who will call when everything breaks
None of these is simply wrong.
The system is revealing that it has more dimensions than the old language could hold.
Losing The Model
A team can lose a model in two ways:
- it can have no model, so every change is improvised and knowledge lives in anecdotes, rituals, and fear
- it can have an unquestionable model, so every change is forced through an old form even when reality has moved elsewhere
These failures look different.
But they share something.
In both cases, the system cannot think its own change.
The first has no shape.
The second has only one.
The Next Question
Models make systems thinkable.
But a model is still a compression.
It gives us a handle, not a final truth.
So the next question is not how to avoid abstraction.
We cannot.
The next question is how to make abstractions that can survive contact with what they exclude.