The Developer & The Toy Store – Part 1

I'm a big fan of analogies.  Analogies are the Swiss Army knife of the brain (note: I'm also a fan of recursion).  A good analogy gives you a clear mental model of something complicated.  This is the first in a series of posts that was inspired by a walk through a toy store where I saw some of my favorite childhood games and for each one thought, "Wow, that game is just like . . . " about some facet of my job.

Jenga

Jenga is a game where you start with a bunch of rectangular blocks stacked in an orderly manner into a tower.  The game progresses by each player pulling a block out of the structure and stacking it on top.  In this way the tower becomes taller and less stable over time.  Sound like any systems you know?

By day I specialize in brownfield development which is like walking into a Jenga game near the end.  Actually, it's like walking into a game where most, if not all, of the original players have left because no one wanted to touch the unstable mess in front of them.  In Jenga, the one who knocks the tower over loses.  There are 2 ways to knock the tower over: by pulling out the wrong piece or by putting the piece in the wrong place.  In other words you can lose by removing the wrong thing or adding the wrong thing.

So how do you play well?

To be a good Jenga player you need 2 things: An understanding of the tower's current state and a steady hand.  If you ever have the chance to play against a mechanical engineer, civil engineer, or architect (the real kind) then realize that you will most likely be playing on the basis of your steady hand.  These folks will look at the structure, see some crazy Beautiful Mind type equations floating around, and pull a piece that you'd never touch.  In the same vein, the more you understand about how your current system is built, the better off you'll be when it comes time to remove sections of it.

The steady hand in Jenga is analogous to the work habits of a solid developer.  If you're focused, consistent, and just a bit fearful, then you'll probably do better than someone who just adds stuff in willy-nilly.

To take the analogy beyond game play itself, if you do knock the tower over then what you do next is very important.  If you quickly reset the game to play again, chances are you get to play again.  If you look at the mess, say, "Sucks to be you!", and walk away then it's likely that no one will want to play with you ever again.  Also bad: losing a piece.  

In short: You can win by taking the time to understand things well, being careful, and cleaning up quickly when things fall apart.