Tuesday, February 10, 2009

Poll - Short Iterations, The Benefits

Short iterations are the practice of breaking up a release into 1-4 week development cycles that each produce a shippable increment of work. Some of the benefits of short iterations include working software that you can show to people in order to get their feedback and having nothing in progress at the end of the iteration so you can change your plans to take into account market changes, feedback from customers, or information you discovered while implementing that iteration. Also, all of the tests for the functionality implemented during the iteration have been written and run and you have a well known starting point for the next iteration.

There are some assumptions hiding in this practice. It assumes that you believe that incremental design is possible and that you believe that any refactoring you have to do in subsequent iterations is worth the benefits as described above.

So, if you were starting a company with your own hard-earned cash, would you use short iterations or wouldn't you?

Next: Poll - Whole Teams, The Benefits


bstpierre said...

This is a no brainer, especially on a new project when there's no cruft yet and it's still really easy to add new features quickly.

Do I have skin in the game? Yes: I'm releasing new features to http://nutriaproject.com/ a couple of times a week. Not a ton of features yet, but each iteration adds a little bit.

David said...

I think short term iterations are generally possible for most projects. The obvious major advantage of such iterations would be the customer feedback. Before you have invested the man hours and finances into a large scale development, you are gaining ongoing active feedback from the customers, to ensure you are actually developing the project in line with their needs; which of course could be changing as the project progresses.

Iterations will of course save you much grief, and generally time and money too.