Is Extreme Programming Dying? Is Agile Growing in Popularity?
Date Published: 08 January 2010
It’s interesting to compare the interest over time in various software development methodologies and practices. Google Trends is a great tool for this, although it’s not without limitations, especially since so many programming terms have other meanings. For instance, you can use it to visually show how interest in eXtreme programming has (sadly) been waning for many years now:
Meanwhile, Scrum has been growing in popularity, but it’s difficult to do a fair comparison because scrum appears frequently in searches that have nothing to do with software development.
Three inter-related development methodologies of interest to me are Test Driven Development, Agile Software Development, and Lean Software Development. The next chart compares these three search terms.
It takes a certain amount of traffic before search terms are even tracked by Google Trends, but you can see that agile started getting popular in late 2004 and then really took off in 2005, with TDD following close behind. Since then, both have tracked more-or-less together in terms of search volume. What’s somewhat disappointing to me, as a convert to the agile way of doing things, is that these trends aren’t moving upward. While many of us take these things for granted, the sad truth is that most of the industry isn’t moving forward with these things. Consider this recent quote from Jason Gorman (whose blog apparently lacks innovations like links to individual posts, at the moment) on agile processes like Scrum and Kanban:
The likes of Scrum, Kanban and other variations of the put-stuff-into-some-kind-of-prioritised-work-queue-and-pick-new-work-from-the-top theme have become an obsession to the point that one could be forgiven for thinking that this is what software projects are all about. They are not optional, of course. You need the work queue. It needs to be effectively prioritsed. You need to track progress as objectively as possible. It needs to be highly visible and transparent. And you need the customer to drive all of this. But these are no-brainers. There’s an inescapable logic behind them, and they should take mere minutes to learn to a practical level where they can be successfully applied.
Jason is the organizer of an international Software Craftsmanship conference held in England. Sadly, "software craftsmanship" doesn’t yet have enough volume to show up in Google Trends, but I predict that in 2010 that will change. Jason gets it, and he’s tired of people debating these things because to him, these things "are no-brainers." And he’s right. They are no-brainers, and there are very few people who move from the agile way of thinking back to waterfall, compared to the reverse, which leads me to believe that those who have tried both, favor the agile way.
And what about lean software development? Well, it’s only recently become popular enough, thanks no doubt to the excellent books on the subject by the Poppendiecks, to be listed. But I think it will continue to grow in popularity.
Of course, you can use Google Trends to look at pretty much anything. For instance, Project Natal was a big announcement last year, and you can track the popularity of product announcements easily with Google Trends. And if you’re a celebrity, you can track whether or not you’re more or less popular than your celebrity cohorts, too. And you can even combine these two, to gain valuable insights such as the fact that for one brief moment, Microsoft’s Project Natal for the XBox 360 was actually more popular than Tiger Woods:
More to points of interest to software developers, competing technologies and frameworks can be compared as well. For instance, Amazon S3 is certainly the most mature of the various cloud offerings. In fact, it’s the only offering that predated the common usage of the term "cloud computing." With Microsoft just now enabling commercial usage of their Windows Azure platform, how do the two platforms compare?
As you can see, Amazon S3 has a solid history of popularity, with very few spikes or dips. Overall, their search popularity is on the decline, though it’s easier to see that when you look at their trendline alone. Windows Azure, on the other hand, is starting to pick up in popularity. Their trendline has three large spikes, which correspond to the initial announcement at PDC 2008, followed by additional announcements at June 2009’s TechEd, and most recently PDC 2009. The buzz from each conference put them above Amazon S3 momentarily, but it looks like they are on track to outstrip S3’s popularity in 2010 on an ongoing basis. Interestingly, Google Trends also shows that the city making the most searches for Windows Azure is Redmond, WA, USA, so it may be that Microsoft themselves are affecting this trend.
What about programming languages? Are all the cool kids using Ruby these days? What about VB? Well, it turns out that Java is still the most popular, at least among Google searches, followed by C#, then VB, then Ruby. Java is certainly on the wane, though.
Removing Java from the list, it’s interesting that all three of the other languages are on the decline in terms of search volume, and that Ruby and VB seem to be about on par in 2009, with about a third (each) of the search volume of C#.
Interestingly, python is gaining quickly on C#, and not surprisingly F# doesn’t yet rank:
Google Trends can be a fun, and occasionally useful, tool for analyzing interest in a variety of topics. Whether you’re comparing the iPod to the Zune or the iPhone to the Droid, if you’re involved in marketing or business strategy, or even just trying to decide whether experience with a particular technology will make you more marketable, knowing what people are interested in can be valuable information.
Steve is an experienced software architect and trainer, focusing on code quality and Domain-Driven Design with .NET.