newelliscool

Command Palette

Search for a command to run...

### Waterfall in disguise

The 1980s.

A decade in which software still lived on disks.

image

As a result, software was expensive to produce and impossible to iterate on once released. To make software in any way economically viable we were forced to work in long development cycles with no time for course correction throughout the process.

Waterfall development was a necessity.

…

Today.

We’re afforded the luxury of being able to make changes in minutes. We have shorter development cycles and ways of delaying costly decisions until the they become blockers. It’s fair to say that waterfall has fallen out of fashion, rightly so.

image

But that’s not to say that it’s gone away.

Waterfall isn’t defined by a projects timeframe but its sequential nature to product development. Each step informs the next, and decisions made in earlier steps make changes in the current step prohibitively expensive.

While we mightn’t be Niagra fallin’ anymore it’s possible still to produce products in a waterfall like fashion.

The key benefit of shifting to agile style processes wasn’t actually that development cycles got shorter but its by-product; that feedback cycles were reduced and thus assumptions were validated sooner.

If the starting line is a concept and the finish line is a release, you shouldn’t optimise for getting from A to B in the exactly allotted time frame but rather you should focus on getting from A to B as many times as possible in the time allowed. There’ll be trade-offs and scoping decisions to be made each time you go from A to B, but force yourself to get through the loops quicker each time by chewing on either end:

Scope uncomfortably tightly, release uncomfortably early.

Worried about it missing critical bells and whistles? Chances are you don’t need them in the first place, and even if you do they will be added during the next loop, if time allows it and they’re important enough.

What you end up with at the end of the project will be different than what you expected you would have built at the very start, but embrace that excitement. No one enjoys a movie when they’ve already written the script. It’s better to make things up as you go.