Tuesday, November 4, 2008

Real World “Agile” Development

Those who know me know that I’ve been pushing for Agile development within my company for some time now. I’ve also been touting the Agile word in relation to database development at various conferences and user group meetings for several years. (I think my first Agile Database Development talk was at PASS in 2004)

Over the years I’ve been pretty successful at bringing Agile into our development model here at Configuresoft and have spent a fair amount of time working with various teams at Microsoft providing feedback and such around tooling and process. As part of this ongoing process, I’ve come to learn a couple of what I think are interesting facts:

  1. Agile is as much of a mindset as it is a process
  2. The very nature of Agile is adaptation

If you look at the Agile Manifesto (from www.agilemanifesto.org ) and really read what they are saying, you can see that they “Get It” when it comes to the 2 items above. It’s interesting to me though that there are what I will term, “Agile Purists”. These developers seem to glom onto a specific part of Agile and really drive it hard, sometimes to the extreme (No pun intended) and really miss the balance that Agile methodologies try to bring to the table. For example, I’ve worked with Agile Purists who feel that anytime a requirement is written down it’s a violation of Agile. I’ve also worked with Agile Purists who believe that Test Driven Development (TDD) is the only way to write software.

I think when you get right down to it, the true test of any Agile development plan is how well the finished product serves the needs of the customer. To get to this point though, you have to allow yourself to make mistakes and have to learn and adapt from those mistakes.

(Just some random thoughts for the day)

No comments: