We often toute the benefits of Agile, and there are indeed many benefits. However, those benefits can only be obtained when the proper practices are followed. Our discussion in the Agile Support Group on Friday was about the different failure modes for Agile projects. Why do they sometimes fail or at least fail to deliver all of the promised benefits?
- By far, the most common reason is that someone forgot the Iron Triangle (i.e. picture above). There are three items that need to be balanced in a project: Scope, Schedule and Cost. Quality and Team Health are also factors, but they should never be balanced or compromised. Agile suggests that the project can only really work if the Scope is floating or flexible while maintaining the Schedule and Cost. When we don’t accept that some stories won’t be complete in time for a certain deadline, we run the risk of failing Agile in this project.
- Development environments are not sufficient or unstable
- QA process is not followed rigorously
- The team does not have the skills required (e.g. aren’t familiar with the code language)
- Individual and team learning doesn’t occur (e.g. poor retrospectives)
- Not sticking to the standard practices
There are many other ways that an Agile project could fail, these are just a few that we thought of. What are some other opportunities for failure?