A client at a large company with large development teams and a long history of waterfall development made a comment: “The only people who are talking about doing this project in Agile are developers who think it will allow them to avoid responsibility.” My client may have been right (that people were saying that) but the developers who were saying it were wrong. Agile increases responsibility – it doesn’t absolve it.
When the original agile proponents were creating agile – by taking the best practices they had seen from multiple companies and teams, and combining them into a methodology – they were taking the exact opposite approach. Many development teams were (and still are) faced with the challenge of wanting to create successful software, but not having the opportunity to do it.
When you’re asked (or required) to do the wrong things, you’re fighting an uphill battle to be able to do the right things. And creating software product success requires you to both do the right things, and do them right. Agile methodologies have been developed specifically to help development teams to do the right things, and to do them right. But the methodologies work because the development teams assume more responsibility, not less.
- Agile teams take ownership of testing and quality – it is not a “throw it over the wall to QA” methodology.
- Agile teams take ownership of identifying the most important requirements and prioritizing them.
A waterfall development team, in contrast, is avoiding responsibility. It may be that the team does not consciously realize that they are doing it, or even intend to do it. Intelligent people can agree to disagree about the reasons that an organization does or does not pursue agile – that’s another debate. A team may not be able to handle the additional responsibility. An organization may be unwilling to create an environment that makes this ownership possible.
Making Agile Work
So, what does it take to make it work? Here are links to two great series by Kelly Waters.
- 10 Key Principles of Agile Development (includes a presentation as well as 10 articles)
- How To Implement Scrum in 10 Easy Steps
And a series we wrote, inspired by an article by Levant Gurses in Dr. Dobb’s Journal.
If you work through these 30 articles, you will have a much better understanding of what it means to “be agile” – as will your developers.