A New Theme for an Old Theme

09/09/2010

Anyone who has struck up a conversation with me about release engineering1 will tell you I make a lot references and analogies to aviation and the operational characteristics of the national airspace system.

Most people have had the experience of flying2 and I find it an easy, familiar way to explain, using concrete terms, my professional aesthetic of software engineering3.

Reactions run the gamut: head shaking in bemusement4 to confusion5 to awe-inspiring6 to disbelief.

That last one—disbelief—is an attitude I’ve never understood.

The counterargument I hear most often is “That’s aviation and flying! This is software. And since we’re not building medical lasers or nuclear power plant controls, no one is gonna die. So don’t waste time and energy thinking about it that way.”

The aspect those dismissing out of hand the analogy miss is that for a software company, customers are your “passengers”, and software your “plane.”

The release-vehicle—the infrastructure, support, and processes—by which your customers board that plane obtain your software and fly to their destination use it is just as important to any software development organization, as it is to any airline.

Or… at least it should be.

Discounting a model that prompts a context for thinking of your customers as passengers and your products as aircraft can easily leads to a sense of complacency7, sloppiness, and unnecessary risk taking.

Over time, these invariably lead to bits that were never meant to see the light of day getting into the hands of some customer(s).

In the best case, your teams will have a messy, but fixable, fire-drilled release to get out, one that causes customer confusion8 and lost sleep9 for your engineering and supporting teams.

In the worst case, you get some free advertising in the tech media, but probably not of the kind the marketing department is looking for.

On the other hand, using a model that by its very nature prompts consideration of customers, and their (hopeful!) reliance on your products helps to set a tone for guiding discussions of tough tradeoffs, analyzing risk, and responding to quickly evolving solutions in a safe, reasoned manner, with repeatably successful outcomes.

But don’t take my word for it.

Other industries, including the healthcare industry, manufacturing, and first responders are adapting techniques from an industry that has seen explosive growth in the last 50 years, yet has gotten safe during that time.

50,00010 planes landing safely every day is a hard statistic to ignore.

***

I’m often asked what the background image on this blog is.

It’s a tweaked image of the terminal IFR chart for San Francisco International. It also has various build logs pasted into it.

Given the above explanation, hopefully it now makes some sense.

When I originally moved my blog, it was my first experience with WordPress and theming and such; my initial attempt… wasn’t great.

I need to give a shout out to Travis Forden, CSS Wizard Extraordinaire, who gutted all of of my CSS hackery11 and table-based layouts and replaced it with the cool, sleek design you see.

I guess that’s two new themes for an old theme.

Thanks Travis!

_______________
1 n. masochist.
2 Some, even, with me!
3 A phrase I coined as an young, pre-collegiate whippersnapper, when asked “Why do you like being on the build team?”
4 “What a nerd!”
5 “How is pushing bits to an FTP site like a plane?”
6 “I really never thought of it that way; tell me more!”
7 “We’ve released this software how many times before?”
8 Especially if you did a big press push about how that release was an end-of-life release…
9 Or, if you prefer, totally wasted effort
10 Yes, you read that right.
11 I totally admit: I never really grokked CSS