Saturday, September 24th, 2016
In predictive (traditional) development projects, the software organization estimated the requirements and predicted a date and cost. Its job was then to deliver accordingly.
In an agile project, the development team delivers as much functionality (priority-ordered) in an increment as it can, managing two variables, date and functionality:
- We can manage to a date by delivering all of the done functionality on that date, or
- We can choose the functionality we want and accept the date of its completion.
Therefore, in agile projects quality is no longer a variable.
Quality reduction has traditionally been a variable in software development. When project deadlines are approaching, development teams work under pressure to finish the pending work and the first variable that is affected is the quality.
However, quality reduction actually reduces productivity, increases technical debt, increases cost, and causes more date slippage. And one more time teams are burdened with additional work to fix the compounded defects and bugs.
Summing-up: we can manage date or functionality, but never reduce the quality of the product.
These Notes have been taken from:
- The book Software in 30 days, by Jeff Sutherland and Ken Schwaber.