A team must ship a major capability quickly and the design that ships fastest is not the one that is easiest to maintain. How should the trade-off be made?
Show the full answer Hide the answer
The discriminator
Reversibility. A shortcut in something easy to change later is a legitimate trade; a shortcut in something hard to change compounds, because every subsequent decision is built on it.
Acceptable to trade away: unoptimised implementation behind a clean interface, manual operational steps with a documented scaling limit, deferred non-critical features, simple infrastructure, deferred internal tooling.
Not acceptable: the data model, public interfaces, the identity and tenancy model, auditability, idempotency on operations with irreversible effects, and anything where the consequence is exposure rather than debt.
How to take the shortcut well
Name it, date it, own it — a decision record stating what was skipped, why, what it costs, and the trigger for revisiting. Undocumented shortcuts become the architecture by default, because nobody remembers they were meant to be temporary.
Contain it behind an interface, so it is replaceable without touching callers.
Instrument the trigger. "We revisit when volume exceeds N" is only meaningful if N is on a dashboard with an alert.
The framing for the conversation
Speed is a legitimate architectural driver. Treating every shortcut as debt to be resisted is unrealistic and makes the architect an obstacle. The question is not whether to take shortcuts but which ones — and that is a technical judgement about reversibility the architect is uniquely placed to make.
The pattern to watch for
If the same trade recurs every quarter, the problem is not the individual decisions. It is that the foundation is missing something — a capability, a boundary, a piece of tooling — that makes the fast path and the maintainable path diverge every time.
That is a systemic finding, and addressing it is worth more than winning any individual trade.