Agile Zone is brought to you in partnership with:

Kirk is a software developer who has filled most roles on the software developer team. He is the author of Java Design: Objects, UML, and Process (Addison-Wesley, 2002) and he contributed to No Fluff Just Stuff 2006 Anthology (Pragmatic Bookshelf, 2006). His most recent book, Java Application Architecture: Modularity Patterns with Examples Using OSGi was published in 2012. Kirk is a DZone Zone Leader and has posted 77 posts at DZone. You can read more from them at their website. View Full User Profile

The Big Agile Practices Survey

  • submit to reddit

Jurgen Appelo has published the results of his agile practices survey. The information he collected was sizeable, valuable, and interesting. There were a few surprises though. 

The highest rated agile practice, or the practice often associated with the highest level of agility, is iteration planning. I was surprised that no technical practices cracked the top 10 list. Continuous integration and TDD deserve a spot in the top 10. In fact, I don't know how to track velocity or perform an iteration demo if these practices aren't present. It was also interesting to find that while iteration planning took the top spot regarding highest level of agility, it also made the list of agile practices that were applied, but deemed not that important.

Suprisingly, the majority of the least imporant practices centered around requirements and design. System metaphor grabbed the top spot, which isn't entirely surprising since there has been ongoing debate surrounding it's true meaning. However, seeing code metrics and analysis in this list was cause for concern because it is these measurements that provide important information on code quality, and it begs the question, "How can we improve what we cannot measure?"

There were quite a few practices that individuals deemed not all too agile, but that are recognized as very important. These include source control/version control, issue tracking/bug tracking, and risk management. This is interesting for two reasons. First, it highlights the important of infrastructure in facilitating agility. Second, that many people don't believe agile methods effectively mitigate risk. Software development is fraught with risk, and managing risk should be the primary reason why we adopt any method. Unmitigated risk is why projects are late, overbudget, and of low quality. Shouldn't the software development process be a risk mitigation strategy? I think so.

Here are a few other surprises. Unit testing is performed by just over 70% of teams, but refactoring is done by more than 90%. I can only imagine the types of problems that 20% who aren't testing are having. Almost every practice in the survey had a level of importance that exceeded the level of application. If folks believe these practices are so important, I'm very curious what's preventing them from adopting the practice. Cultural and organizational obstacles? Too crunched for time? What else?

Overall, the survey was interesting. Demographic information would have been nice. I'm curious how many developers vs project managers vs testers, etc. took the survey. Given that many of the construction practices were deemed less important than the technical practices, I'm inclined to think that there were fewer developers who took the survey than project managers.  Regardless, the survey is another useful piece of information that sheds light on the current state of agile. Thank you, Jurgen, for taking the time.

For more details surrounding the survey, see Part 1, Part 2, and Part 3 published on Jurgen's blog.


Published at DZone with permission of its author, Kirk Knoernschild.


Emma Watson replied on Fri, 2012/03/30 - 2:14am


Oh yes! Highest level of agility and highest rated agile practice by Jurgeon was the iteration planning that was most surprising thing. Second noticable thing was that iteration planning made the agile practices list.


Other major finding are regarding the unit testing. 90% and 70%  makes one think with great curiosity that in what way things go.

java program

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.