Recent Posts

Archives

Meta


« | Main | »

If programmers built planes

By RickMeasham | November 9, 2007

I just stumbled across this video on YouTube that’s supposed to be an advertisement for some business management rubbish but, ignoring that, is a great analogy of modern programming (lack of) principles:

Most of today’s online development work is build-it-as-you-fly. Even with passengers on board.

In the early days when the plane is just flyable but has no seats, windows or walls you stick up a sign that says ‘Beta’ and welcome people on board. If you’re nice, you only invite your friends and called it a ‘Closed Beta’.

Then once you have the seats, windows and walls you call it ‘gamma’ or ‘release 1.0′ and welcome the public. There’s no flight attendants and certainly no parachutes yet, but it initially feels like it’s all done.

The problem is that at about this time, someone notices that the windows could do with shutters, but that means replacing them. So that’s where development priorities go: back to the windows, while we’re still flying, and while we still don’t have flight attendants or parachutes.

This all works rather well, and (thankfully!) people are now so used to it that you hardly even need to apologize when something goes wrong. But we really need to change this. Rapid prototyping should just be that: it should never get outside the company. Once it does, the sales and marketing types will start to sell it as finished-or-nearly-finished.

Instead we need to take our rapid prototypes as being as useful to the final product as a scrawl on a whiteboard. They’re a proof of concept, or something you can show your VC partners at the same time you show them your napkin sketches.

Just because our programs won’t kill people if they’re not finished properly when we invite passengers aboard doesn’t mean we shouldn’t treat is just as seriously.

Topics: Programming | No Comments »

Comments

If you want an avatar next to your comment, sign up for a Gravatar and use the same email address here. You can do it any time, even after you comment here.