"What is Agile?", Katie one of our product managers at Cars.com asked me on Tuesday. Here is my answer.
It is better way of building software. It delivers features faster, in weeks not months. It enables you (the product owner) to adapt to changing business needs and tell us what you want every few weeks. It enables us (the IT team) to be more efficient at doing what we love to do - write code, design user interfaces and deliver great software.
See the picture above? Good, the boxes on the left (Product Backlog) are the things you want us to build.
You tell us what you want, no detailed requirements just express them in terms of the value they will deliver to your users and customers. We will tell you our estimate of how much effort each piece will take and how much effort we can expend in a fixed amount time (let's say 2 weeks).
You choose which of the pieces are the most important to you and we can get started. Hang around to answer any detailed questions we may have as we break these into development tasks (Sprint Backlog).
We will deliver something in 2 weeks - guaranteed – hopefully all your features, we may even be ready to publish it to the site, at the very least you will have a working prototype to play with.
I know it is different to our current way of defining everything the product team wants in detailed requirements documents. Our existing way is called a waterfall approach, an agile approach is different.
Agile approaches prefers that you and I and our teams collaborate and communicate more instead of relying on approval processes and large documents, it is also less concerned about creating an detailed plan valuing more the ability to respond to change. These principles behind agile methods were first written down over seven years ago in the Agile Manifesto.
The image is from a great presentation where you can learn more about agile: Getting Agile with Scrum. I saw Mike Cohn from Mountain Goat Software present this last week at Better Software 2008.

1 comment:
You know if I boil the agile philosophy down to its core I'm left with ...
The idea that we as an industry are simultaneously too poor at software development to fully design a solution without getting our hands dirty; and sufficiently talented at software development to design software in increments without being left with an incoherent pile of randomly collected features, screens, etc.
(jake)
Post a Comment