Some companies switch from waterfall development to some form of agile development in order to reduce costs, shorten schedules, improve quality and mitigate risk. Agile can do all that, right?
Sure, and I can juggle while skipping rope and walking on water! Sometimes, expectations are out of control.
Let’s examine what agile techniques can and cannot do under typical circumstances. There are always exceptions but here is what you can reasonably expect:
- Reduced Costs – No. All else being equal, an agile approach is unlikely to be cheaper than waterfall. Staffing, equipment, etc. will be about the same.
- Shortened Schedules – No, again. The amount of work is about the same. It will not magically take less time just because you are following an agile approach.
- Improved Quality – Yes … if you follow agile principles. Active QA involvement and frequent deliveries to the business will result in a better solution.
- Mitigated Risk – Yes, again. Getting the software running and into user hands early will expose problem areas and force corrective action.
Of course, if you improve quality and mitigate risk, you might reduce costs and shorten schedules. However, those are indirect benefits of agile development. They are also difficult to quantify.
The direct benefits of agile development lie in improved quality and mitigated risk. So keep those expectations under control and stay focused on the core strengths of agile software development.