Thursday, June 12, 2008

Let me Reiterate the Point

I had an interview with a company where the development manager used the word "Iterative" to describe the development model.



For those not in the know, software development typically falls into a workflow cycle, and this cycle can be described in many ways. "Iterative" implies that development begins, moves forward, and doesn't stop. Anything that modifies the development cycle along the way is held off and incorporated in the next iteration: "That's a nice add-on, but we're a bit too far down the road for that right now. Let's incorporate that into Phase 2." Everything is broken up into neat cycles.



What made this interview stand out was the constant re-use of the word "Iterative". It came up several times in the conversation until, when I was finally asked what development methodology I prefer, I'd have been incredibly stupid to say, "Waterfall." I pointed out why I liked the iterative model of development: it encapsulates the scope of each development cycle, it acknowledges the need for modifications along the way, and it provides them a place in the next iteration so that the project isn't constantly stopped and changed. Imagine the difference between changing your oil every 3,000 miles, versus driving with the hood open and the drain plug out and constantly pouring quarts as you head down the road. Obviously, when you wait to mess with things, you get somewhere.



The last time I heard "Iterative" in the conversation was thus:



"It's good that you can work in an iterative environment: a lot of developers get here and find that they can't work with it. They get frustrated because we are so iterative."



I get the feeling they don't quite understand what "Iterative" means...but it's the closest word someone has come up with to describe their crazy work environment, and because it's a buzzword, it sounds more reasonable. More businesslike. It calms everyone down: "It's okay; we're just being Iterative." I got the impression that their journey is more like the driver insisting the oil can't be changed yet...while a half-dozen user-demons are prying at the hood. And the backseat passengers (stakeholders) are telling the driver to just go ahead and pull the hood release so they can do what they want. Management would be passengering, trying to reach around and pop the hood for you because you're the only one with your eyes on the road.

No comments: