Evidence of software quality in Agile development environments

Evidence of software quality in Agile development environments

Agile proponents often claim that working in an Agile environment leads to higher quality. Do you agree with this? If so, do you think there is data to back up this claim?

    Requires Free Membership to View

    When you register, you'll receive targeted emails designed to keep you informed of the most relevant information on Agile development, application security, testing & QA, software requirements, and more.

    Hannah Smalltree, Editorial Director

    By submitting your registration information to SearchSoftwareQuality.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchSoftwareQuality.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

I did some research back in 2006 for an article I wrote on how test-driven development impacts software quality. The evidence from academic and industry studies at that time were compelling. I have not reviewed more recent studies, but my experience tells me that a team which embraces agile values, principles and practices will produce a high-quality software product. I expect that a Google search on recent Agile development quality studies would confirm this.

Back in the early 90s, I worked on a Waterfall team which did many of the practices we now associate with Agile: a high percentage of automated test coverage at both the unit and GUI levels; collaboration between business experts, testers and programmers throughout the software development life cycle; continuous integration and automated deployment. High severity problems were extremely rare in production. The company had a commitment to quality that really meant something.

Agile teams take this commitment a step further. Everyone on a truly “Agile” team takes responsibility for delivering the highest possible software quality. If we run into obstacles with architecture, time, tools or other areas, we don’t make excuses – we try small experiments to overcome those impediments.

We’re driven by the Agile values of communication, feedback, respect, simplicity, courage and enjoyment. Because we’re self-directed teams, we are free to find the best ways to work and continually improve. The bottom line: when you have good people, and you get out of their way and allow them to do their best work, you get better software quality.

Doing two-week iterations and having a daily stand-up isn’t going to improve your software quality. Talking about what your commitment to quality really means, and experimenting with ways to continually find better ways to work, will let you deliver high-quality code.

This was first published in December 2011