Wednesday, January 26, 2005

More iterative or more waterfall?

I often ask my clients about their current process when helping them transition to the RUP. One question I like to ask is this one: “Is your process more iterative or more waterfall like?” Some don’t know what waterfall means, so I explain it and they realize that they did know what a waterfall project is, but they just didn’t call it that.

Anyway a large portion of my clients say “we are more iterative.” When I hear this I like to follow up with these questions: “Do you do gather and detail all of your requirements at the beginning of the project, or do you gather and detail the requirements each iteration?” The usual answer is “well the requirements we do at the beginning or else we really couldn’t scope the project.”

The second question I like to ask is “do you do your system test on an actual executable product at the end of the project or during each iteration?” The usual answer is “well we do unit test each iteration, but you can’t do system test until the system is built at the end of the project.”

So they do their requirements at the beginning of their project, they do the system test at the end of their project, but they claim their process is more iterative than waterfall. What are they doing iteratively? Don’t confuse having builds with iterative development. It is not enough just to do the design and coding in iterations, it is the whole lifecycle that needs to be iterative.

A question that often comes up here is “if we don’t do all of our requirements up front, how can we manage the scope of our projects?” I’ll answer that question in a separate post.

0 Comments:

Post a Comment

<< Home