Posterous theme by Cory Watilo

Is blogging the newest member of the Extreme Programming methodology?

The Extreme Programming methodology have been around for quite some time now, measured in software engineering time, and have gained a lot of ground the last couple of years. Traditionally, the methodology is described as having 12 practices, but I feel confident to say that a 13th practice is already being used by millions of people on a daily basis.

Before we continue, let's have a look at the word methodology for a moment. Merriam-Webster defines the word the following way:

1 : a body of methods, rules, and postulates employed by a discipline : a particular procedure or set of procedures
2 : the analysis of the principles or procedures of inquiry in a particular field
Keep this in the back of your head as you continue to read on.

If you've ever spent time reading programming related blogs, and chances are that you have since you've found your way to this blog, then you are bound to have seen the following phenomena take place enough times to not discard it as a random occurrence.

  • The author of a blog published an entry containing a piece of source code, either to parade his masterpiece in public or to get some help to solve a problem
  • One or more readers replies (either in the comments section or in his own blog) to the entry with some advice or observations on the source code. This could be to point out a flaw or to suggest an improvement
  • The author picks up the comments and engages in a discussion with the readers and makes adaptations to his original source code to accommodate the suggested improvements
  • The cycle of commenting and improving repeats it self and along the way new readers may enter the discussion with even more thoughts

After a period of time, ranging from minutes to days, the outcome of this is a piece of source code that's stood the test of the readers and (more than likely) have come out on the other side much more robust.

Isn't this the most extreme version of pair programming that you can engage in? Working with the entire community of developers to help improve the quality of your source code.

Phil Haack, senior program manager of the ASP.NET MVC team at Microsoft, recently spoke at the PDC 2008 in L.A and he mentioned that he believed that their high degree of transparency, thanks to blogging and by frequently publishing the source code iterations, were helping them them to produce a high-quality framework.

Phil mentioned Community Driven Development and that's exactly what I would like to call the 13th practice of the Extreme Programming methodology.

What's your thoughts and experience with this? You don't have to look a long way back in time for when Microsoft was as transparent as a piece of concreate and look at it now. Thanks to pioneers such as Robert Scoble (whom is no longer at Microsoft) we now see a Microsoft that has a great big window into its world.

But you don't have to take a multi-billion company as an example. Look towards yourself. When was the last time you found a solution to a problem on a blog? These days I know I find more interesting solutions and discussions on blogs than on old giants such as the http://www.asp.net/ forum and the newly emerged Community Driven stackoverflow.com has borrowed more than one concept from the blogosphere and I like it! A lot!