Delay Commitment: The Last Responsible Moment

Delay Commitment is one of the seven principles of Lean Software Development. (The Poppendiecks’ first book called it Decide as Late as Possible.) It advises that decisions, especially those that are difficult or expensive to reverse, should be made at the Last Responsible Moment: the point at which failing to decide would eliminate an important option.
The Last Responsible Moment
Decisions made early are made with the least information. Requirements change, users discover what they actually need, and technical constraints become clear only as the system takes shape. Committing early to a database, a framework, or a detailed design means accepting the risk that the commitment will turn out to be wrong, and that undoing it will be expensive.
The Last Responsible Moment is not the last possible moment. Waiting too long is its own failure: the option disappears, or the decision gets made by default. The goal is to keep options open as long as doing so is cheaper than closing them, and then to decide deliberately.
flowchart LR
A["Too early:
little information,
high risk of rework"] --> B["Last Responsible Moment:
enough information,
options still open"]
B --> C["Too late:
options lost,
decided by default"]Delay Commitment Is Not Procrastination
Delaying commitment does not mean doing nothing. While a decision is deferred, the team should be actively learning about it: building spikes, exploring alternatives, and gathering feedback. Nor does it mean avoiding all decisions; reversible decisions can and should be made quickly. Delaying commitment also doesn’t justify analysis paralysis, which is the failure to decide even when the moment has arrived.
Keeping Options Open
Delaying commitment is only possible in a system designed to tolerate change. Several principles and practices make this easier:
- Dependency Inversion and Persistence Ignorance let a team defer infrastructure choices, such as which database to use, until they’re needed.
- Architectural Agility keeps the architecture able to evolve as understanding improves.
- YAGNI avoids committing to features and abstractions before they’re needed.
- Separation of Concerns limits the blast radius of a decision that later needs to change.
- Big Design Up Front is the antipattern this principle most directly opposes.
Related Lean Principles
- Amplify Learning - the time gained by delaying commitment should be spent learning.
- Deliver Fast - teams that can deliver quickly can afford to decide later.
- Eliminate Waste - work built on premature decisions often becomes waste.