Problem solve Get help with specific problems with your technologies, process and projects.

Evidence of software quality in Agile development environments

Do Agile environments truly produce higher quality code and higher quality software? Expert Lisa Crispin delves into this claim, explaining what works on an Agile team.

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?

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.

Dig Deeper on Topics Archive

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.