Last Responsible Moment
Delay irreversible commitments until the point where waiting would eliminate an important option.
To an executive
Committing early to hard-to-reverse choices locks in guesses. Waiting until the evidence is in saves money, as long as you decide before waiting closes off a good option.
To an engineer
Work out the date by which each decision must be made, and use the time to learn. Keep options open with cheap seams such as interfaces and adapters.
The idea
Mary and Tom Poppendieck's Lean Software Development (2003) includes the principle "decide as late as possible". Its tool, the last responsible moment, is the point at which failing to decide would eliminate an important alternative. Before then, waiting lets you learn; after it, the delay itself becomes the decision.
Real options thinking explains why this pays. Keeping a choice open is like holding an option: you pay a small premium, such as an interface, an adapter or a spike, to keep the right to choose later when you know more.
Why it works
Decisions made later are better informed. Real load, real users and real constraints replace guesses.
Early commitments are expensive to undo. The more that is built on a decision, the more costly it is to reverse.
It separates decisions that can wait from those that cannot. Not every decision is urgent; naming the deadline frees the team to move on with the rest.
Where it applies
- Technology and vendor choices, such as a message broker or database, that can be hidden behind an interface for a while.
- Platform and contract decisions, where a long commitment is signed before the requirements are clear.
- Roadmaps, where later waves of a programme can stay open while the first wave teaches you what matters.
How to apply
- List the decisions in front of you, and mark which are hard to reverse.
- Find each one's real deadline: the moment an option closes, such as a lead time, contract date or dependency.
- Keep options open cheaply, with interfaces, adapters, prototypes or short contracts.
- Plan how you will learn before the deadline, so waiting produces information.
- Record the decision deadline in an architecture decision record, and decide when you reach it.
Example scenario
A new product team was asked to choose a message broker in its first sprint, before it knew its traffic patterns. The candidates differed a lot in cost and operational effort.
Instead, the team hid messaging behind a small interface and used a database table as a simple queue. Six months later, with real throughput data, it chose a managed service with confidence and swapped it in behind the interface in a few days.
Questions to ask
- When must this decision really be made, and what happens if we miss that date?
- What information would we gain by waiting, and how will we get it?
- What does it cost to keep this option open in the meantime?
When not to use it
- Decisions that others are waiting on, where delay blocks teams or suppliers more than a wrong choice would.
- Cheap, reversible decisions, which should simply be made and changed later if needed.
How it misleads you
Procrastination disguised as strategy. Unmade decisions have costs too: teams lack direction, and the "moment" is easy to miss until it has passed. Name the deadline in advance, and treat missing it as a decision you made by default.
Further reading
Last reviewed · Suggest an improvement