As important as it is to understand Agile, it is also important for us to understand why Agile fails
Is Agile the only sole saviour for software development?
Surely no, however if you have decided to implement Agile or are implementing Agile, it is imperative you familiarise with the top reasons for Agile failures so that you can lookout for these signs in your organisation
1. Following Agile for Novelty sake
Following Agile for Novelty’s sake . This may sound weird or almost unbelievable but it is a fact. Either a Project or the Organisation may have decided to move to Agile because everyone else in the industry is using Agile & the term “agility” may give them some brownie points in contracts
2. Management not fully aware or committed to the change
Becoming Agile is not just about fancy name changes to Scrum Master or Product Owner or Sprint, etc. The investment goes beyond that and includes cultural transformation, e2e change in the s/w development flow, changes in HR practices & a lot more, Management may have committed to go Agile without being fully aware or committed to these changes
3. Mandated by Higher Management to employees
On the other extreme, is an over zealous Management which may have mandated teams to move to Agile without ensuring teams buy-in. Agile thrives in an atmosphere of trust & teams wanting to inspect & adapt to improve the product & processes. With a non-buy-in team, teams could actually work against agile!
4. Not ready for the Learning curve
When an organisation decides to adopt Agile from a traditional development methodology, they choose to transform rather than transition. This has a steep learning curve and they may not be ready to embrace the short-term impact
5. Don’t have budget to train & coach
A need for successful transformation is to have a subject matter expert focussing on ensuring that everyone understands and implements the practices by spirit. The Organisation may not consider the budget to train employees or allocate a coach and expect each team to figure-out agile for themselves, while this may work for some team, for many it fails
6. ‘Agile like’ practices
Something not very uncommon are organisations having agile like practices & defending that it can be mapped to Agile practices. While this maybe true, however we are not doing a gap-analysis for an ISO audit or a CMMI appraisal. More likely than not, the practices can be ‘mapped’ only on paper and not on intent on how it was implemented
7. Lack of automation
While Scrum doesn’t explicitly talk about automation, in order to scale, it is implicit that one needs to invest in automation & Extreme Programming practices can help here. Not investing in automation of repeated activities & test cases will increase the project effort exponentially as we move from one sprint to the other; this will eventually increase validation effort and the project would start compromising on quality
8. Not handling technical debt
Not handling technical debt is another cause for Agile failures. A project with a large base code implementing Agile without a roadmap to improve the code quality would pretty soon end-up with a deluge of bugs and blame Agile – for exposing them!
9. One size fits for all
Expecting one size fits for all. This unknowingly stifle teams from ‘inspect & adapt’ of the project process by enforcing organisation level processes expecting that ‘one size fits for all’
10. Dependency with External non-Agile Teams
Dependency with External non-Agile Teams can be another cause for failures. If you have large dependencies with external teams who do not follow agile, it will be an uphill task to expect intermediate good quality delivery from them for integration & test. This may eventually defeat the purpose of your Sprint releases as you may not be able to validate in the product context
These are some of the causes why agile fails. If you have come across other reasons, do leave them in the comment section