January 1, 2010
When the subject of Agile Methods and Extreme Programming come up in conversation, I find a lot of people tend to dismiss it as some sort of "new fad". I'm on the XP mailing list (on Yahoo! Groups) and someone just posted today that the first message was posted ten years ago (December 31st, 1999). Kent Beck's book "Extreme Programming Explained" was published in October 1999 after he had been refining the XP techniques for three years (on the Chrysler Comprehensive Compensation payroll system). Many of the techniques in XP predate that substantially: test first development - commonly referred to as TDD (Test-Driven Development) - can be traced to NASA's "Project Mercury" in the early 1960's; refactoring, incremental designs, and other techniques that are considered part of XP were documented in a book published in 1984 ("Thinking Forth" by Leo Brodie).
No, XP is nothing new, it's just become increasingly popular as more people try it and find benefit in its practices.
Over the last three or four years I've been adopting a variety of Agile Methods on projects to see whether they help with some of the typical problems we all run into these days: tight deadlines, vague and changing requirements, poor estimates, lack of visibility into progress. I've been pretty pleased with the results. Agile Methods aren't a panacea: being agile doesn't make you a better developer (or project manager) overnight but it does help give you a better handle on the status of a project, it lets you maintain measurable forward movement, the focus on testing increases your confidence in "completion" as well as providing a safety net while you're making improvements in the code structure.
So perhaps before dismissing XP and Agile as "some new fad", you might make it one of your resolutions for 2010 to try these decade(s) old approaches?
BTW, some of those other "new fads" that you think are challenging the CF establishment... you know, new fangled stuff like Ruby and Python? Just remember those languages pre-date CFML! Happy New Year! :)
Comments
I would like to think Agile was some sort of fad. However, when you consider the alternative(s) and how wasteful they can be, Agile looks even more promising.
Posted By Mark Lapasa / Posted At
1/1/10 2:04 AM
Good points, Sean. I've been using some agile/xp techniques for years and have been interested in learning more about what the more successful "official" techniques are. There are tons of books out there on the subject. Are there any that you'd particularly recommend?
Posted By Bob Silverberg / Posted At
1/1/10 11:11 AM
Good post Sean. I remember researching XP well over 8 years ago, and got some good feedback from a couple Java teams on the process.
I agree with your thoughts on Agile. Agile is a process, and regardless of which flavor you choose, the success is dependent upon following the process. I've seen far too many people say they were doing Agile when, in reality, what they do is waterfall project management with more meetings. TO be successful there are definitely things that need to be followed to see the gains offered by any Agile process.
I've found a decent tool for planning that I am messing around with, TargetProcess. There's a free community edition that supports 5 users that will get you started. The downside is that it requires IIS/.NET. They do have as hosted version, but aside from the trial it is not free. http://www.targetprocess.com
Posted By TJ Downes / Posted At
1/2/10 11:05 AM
@Bob asks:
"Are there any [books] that you'd particularly recommend?"
I am a little ashamed to admit that I'm not really much of a book reader. I pick up most stuff from either general online reading or from teams I work with over the years.
Posted By Sean Corfield / Posted At
1/3/10 7:34 PM
Nice job pointing out the fact that XP really isn't a new thing - personally, I'm not a big XP fan but I do like to have an agile methodology. I thought I'd point out that ColdFusion went public about 5 months prior to Ruby in 1995... technically you're correct in stating that Ruby predates CFML since in 1995, CF was using DBML (CFML's predecessor)... but I think it's a little misleading to say that Ruby predates CF - I'd put them both at the same "ripe old age" of 14, give or take.
Posted By Simon Horwith / Posted At
1/3/10 11:07 PM
@Simon, true, Cold Fusion 1.0 was released in July 1995 whereas Ruby 0.9.5 went public in December 1995 but Ruby was conceived in early 1993 and I'll hazard a guess that Ruby was a much more complete language by mid-1995 than Cold Fusion was even after its 1.0 release...
Posted By Sean Corfield / Posted At
1/4/10 2:30 AM
For Agile I recommend Mike Cohns book on Agile Estimating and Planning. is a classic
Posted By Matt b / Posted At
1/4/10 6:35 AM
Post Your Comments
Hosting provided by