Evolving Software


Jon Udell's latest column at InfoWorld is a scary story that's all too common: fork-lift upgrades of Web-based software that leaves users worse-off than before.

I've been consulting with a company that's developing a Web-based product for the last five or six months. The back-end is, realistically, quite complex and involves a fair amount of ontological work. I've suggested a release strategy that gets a timely and useful piece of the product out soon and then adds functionality little-by-little, every week or so, over the coming months.

You'd be surprise by the amount of resistance that sort of idea attracts. Not by management either--they seem all too ready to take an incremental approach. Interestingly, most of the resistance comes from programmers in the trenches. I'm not sure why.

Still, as Jon suggests, the steady accretion of small, incremental changes combined with continuous evaluation of the effects of those changes is the key to systems that evolve and is the strategy most likely to win.