09.13.07
Is This Agile?
I am a fairly recent convert to Agile software development. It all started about three years ago when I ran across the book, The Pragmatic Programmer, and the timing could not have been better. That book changed my attitude about my career in software development from “how do I get out of this mess?!” to “are people really going to PAY me to do this?!”
While the “PragProg” book is not specifically about Agile, it was definitely the spark that rekindled an “always learning” attitude toward my craft. Over the past few years I have consistently moved toward Agile and, much like the toddler in the back seat of the car, I keep asking “are we there yet?”
As is often the case, I find myself backing into discoveries. I have been so busy implementing Agile practices that I never really stopped to ask the question: “What is Agile?” And, while I am glad that I have plunged head-long into Agile, I still recognize the value in refining my understanding of this revolutionary approach to software development.
A long time ago (August of 2005 to be exact), the Agile Toolkit podcast’s Bob Payne interviewed Robert Martin (you can find the podcast here). It was a short but poignant interview and in it “Uncle Bob” outlines four core principles of Agile Development:
- Very short cycles
- An Open Office
- Test Driven Development
- The Planning Game
Much like the birth of a star requires the basics of fuel, proper mass, gravity and fusion, Agile requires these basic elements to jump-start the process. Once a star’s building blocks are in place and balanced, it’s nuclear furnace kicks on for the first time. In the same way, a successful Agile approach which begins with these four core principles in the proper balance lays a solid foundation on which all other Agile practices are built.
I know that using a snazzy analogy does not validate an assertion, so over the next several installments, I will be looking at each one of these four principles individually. My goal is threefold: to show that each of these are indeed core elements, to demonstrate how each of these fits into the four values of the Agile Manifesto, and to use this study as the springboard for this, my first crack at blogging.
The Agile process is a journey; one that I am enjoying immensely. I’m looking forward to continuing conversations and making new friends along the way. Oh… and no, we’re not there yet!