Almost every day, there are software development teams finishing agile sprints who are left wondering what happened. How did we fail? Where did we go wrong? The answers are as hard to come by as it is to successfully implement an agile approach that is sustainable and maximizes its true value.
There’s a saying in the agile community: Agile is simple, but it’s not easy. But if we step back and look at this statement, we find the true, root cause of many agile failures: too much focus on the easy parts, and not enough time and effort devoted to the hard parts. All too often someone will pick up a book on agile, start chopping up requirements into User Stories, begin Daily Stand-up meetings, develop software in two- or three-week sprints, and then call themselves agile. Easy, right?
They will likely see some improvement in their ability to respond to change, and may even provide working software faster—for a while. It won’t be too long, though, until the promises of agile become less evident, teams struggle to keep up the pace, software doesn’t always match user expectations, and agile is deemed a failure.
So, what are the hard parts? More often than not, the most challenging work in an agile transformation relates to the principles behind the agile framework. Avoiding agile failure begins when we devote the proper time and resources to changing how people interact, work and think. Real transformation usually exposes existing corporate and culture problems that must be dealt with, problems such as poor communication, lack of accountability and distrust between business units.
Effective agile transformation is often a total culture change. Successful agile implementation is about establishing a culture that embraces open communication and collaboration between business and technical individuals across an enterprise. It’s also about continuous improvement through inspection and adaption, and a culture of transparency and accountability.
Agile practices are important, but it’s the agile principles that make the practices work well and make them sustainable in the long run. Principles are much harder to incorporate than practices, which is why many companies fall short. Performing techniques without understanding why they are doing them will lead to frustration. Agile is about people, interactions and culture, not processes, practices and tools.
For example, one of the principles behind the Agile Manifesto is “Businesspeople and developers must work together daily throughout the project.” All too often business partners go through the pain of creating a solid product backlog only to then step back and wait for the development team to deliver the product, and then wonder why it doesn’t meet their expectations. Continuous collaboration and course correction helps to ensure that what’s delivered at the end of the sprint is just what stakeholders intended. Active stakeholder participation is critical to successful agile development, and is sometimes one of the hardest practices to begin and maintain.
We all know that documenting software usually ends up not being done because it is seen as a low priority compared to moving on to the next coding assignment. Similarly, some agile teams forego Sprint Retrospectives due to lack of time or perceived lack of value.