Software architecture consulting
Decisions made and written down so the next hire can read them.
The situation
A few decisions will be very expensive to undo later.
Until they are made, everything looks equally possible. Afterwards, half the options are closed and nobody remembers what exactly was paid for the one that remains.
What happens
Every decision comes with the cost of reversing it. Not "right or wrong" but what it will cost to change your mind in a year. That is the one question that separates an architectural decision from a matter of taste: taste can be undone in a day.
Boundaries are cut so that together they cover everything and do not overlap. An area two people own is an area nobody owns. No no-man’s land is left: every part of the system has someone who gets asked about it.
It is written down where the code is, not in a separate document. A document beside the code drifts from it within months and then argues against every new decision. A decision recorded inside the thing it decides lives as long as the thing.
It gets built, not drawn. Architecture is tested by something working having been built from it. The rest is opinion.
What you get
Decisions the next hire can read without you, and boundaries that hold once the team has changed.
How it went
One or two objects had swallowed half the system. They were pulled apart into thirteen independent pieces without stopping production and without rewriting a system that was eight months old and had been built by eight people.
Months have passed since handover, and the architecture still matches the code.
Elsewhere, fifty applications were held by a team of five. One way to build, one way to release, one way to configure. When the environment changed its requirements, the applications barely moved: one thin layer changed, the same way for everyone it touched.
What this is not
A diagram or a document as the deliverable. Architecture that was not built is not architecture; it is an opinion.
And not uniformity for its own sake: what causes no problem is left heterogeneous on purpose.
How to start
Name the decision you have to make and are afraid to make. And what happens if in a year it turns out to have been the wrong one.