Fast, cheap, good quality: pick two. This iron triangle of project management is a reality every software project stakeholder must accept β and Scrum offers an elegant answer.
The project management iron triangle imposes a fundamental constraint: you cannot simultaneously achieve the highest quality, the lowest cost and the shortest deadline. Improving one dimension necessarily impacts the other two. This reality, formalised by Harold Kerzner and popularised by PMI, sits at the heart of every negotiation between a client and a service provider.
The three constraints
- Quality: functional (the product does what it should) and technical (maintainability, security, performance)
- Cost: total project budget, including design, development, testing, deployment and maintenance
- Deadline: time-to-market, delivery date, commercial opportunity window
What clients ask for vs what is possible
In practice, clients often want all three. The honest answer is that scope β what will be delivered β is the real adjustment variable. Promising a fixed scope with a fixed budget and a fixed deadline on a complex project is promising the impossible. One of the three will give way: often technical quality, silently, in the form of debt.
How Scrum repositions the triangle
Scrum addresses this elegantly: scope becomes the flexible variable, while deadline (end of sprint), cost (team capacity) and quality (Definition of Done) are fixed. Each sprint delivers the maximum possible value within the given constraints. This isn't compromise β it's continuous optimisation. The MVP (Minimum Viable Product) is its most direct expression: deliver what generates value now, rather than delivering everything perfectly in 18 months.
Quality is never a good adjustment variable. Sacrificing tests, security or maintainability to meet a deadline is accumulating debt that will be repaid with interest β in production bugs, painful refactoring, and exhausted teams.