“Agile” is the latest buzzword in business and technology. Lots of people are talking about how they want to deliver value sooner and adapt to changing conditions. But it is not as easy as it sounds. How do we actually do this? Software development is a complex activity, and it is constantly changing. And what role does the organizational environment play in the success or failure of agile software delivery?
I have worked on teams and seen first-hand how agile methods improve the speed and quality of software delivered. But I have also observed resistance to the changes these approaches bring. I want to understand the causes of this resistance so we can address them. There are very different sources of resistance; and each requires its own response.
Some of this resistance is due to lack of knowledge and experience. Hiring experienced agilists and providing training and coaching can overcome this.
Some resistance is due to attachments to older approaches. I may discuss that another day.
And some resistance is due to practical and technical issues. Processes cannot be improved in isolation. People and the processes they follow exist in a web of interdependence. They are part of a delicate ecosystem where changes to one affect the other. This was made explicit in Kent Beck’s book Extreme Programming Explained. When I first saw his diagram of the XP practices, with the lines of reinforcement drawn among them, a light bulb went off in my mind. I could see how one process requires another to be successful. And how, conversely, failure to follow one practice, dooms another practice to failure.
In a similar vein, I just read an amazing article by Mary Poppendieck on how Cadence Predicts Process. http://www.leanessays.com/2011/07/how-cadence-determines-process.html. Thanks to my colleague, Justin Bacon, for turning me on to that post. Mary does a wonderful job of explaining what it takes to achieve agile software development in an agile business. And she addresses the broader issues with a strategic perspective that is grounded in tactical realities.
If you are interested in agile methods like Scrum, XP, and others, yet have been frustrated by the friction they encounter in organizations, I recommend her article.