Thursday, July 1, 2010

Routine freak-out

There's an ulterior motive for this post. Maybe--just maaaaaybe--if I write this out, the project management lesson will stick with me (for good) this time.

For background, when you change a software system, the basic phases run something like:
  1. Define
  2. Design
  3. Code
  4. Test
  5. Roll-out
  6. Post-mortem
What's missing from the conventional wisdom is Phase 5.1: Freak-out.

Now. I don't mean to imply that users are necessarily hysterical, although roll-outs are excellent for learning which members of your team are easily-spooked. (And I'll readily admit to having nerves of tin-foil, m'self.) But the bottom line is that, to many folks, the equation is simple: Change I can't control = Danger. That's just the way the cookie crumbles: Get used to it...and use a spoon to fish it out of your of coffee/milk.

So the upshot is, that--regardless of whether the roll-out went flawlessly or had some hiccups--there will be a window of time in which every single last tiny anomaly--real or perceived--will be considered a direct result--or, "the fault," if you will--of changes just rolled out. At which point, your Magic Programmer Hat(TM) doesn't work anymore. You are no longer the High Priest(ess) typing arcane incantations to coax benevolence from the magic pixies living inside the computer. Rather, you are something akin the Sorcerer's Apprentice from Fantasia.

At that point, you need to grab your (Muggle) Desktop Support Hat. And if you don't have one because you've never worked directly with the customer before, you are in Very Serious Trouble. It's times such as these when anything I know about programming computers means bupkis to my customers (until any real problems are debugged and fixed in five minutes or less). What truly matters is good old fashioned bedside manner (the result of two years of support work). And, occassionally, the ability to write explicit instructions for fixing things I can't fix remotely (the result of two-plus years as a technical writer). For someone who suddenly can't get their work done in the way they're used to doing it, that's where the rubber hits the road.

The takeaway is: Don't fool yourself into thinking that there will be no freak-out, even when the roll-out is boringly flawless. But, above all, do not-Not-NOT crash the freak-out, no matter what. That being said, do not try to know everything--even when you're Five Nines Certain you have the gremlin dead to rights. So far as your peeps are concerned, you don't. (Otherwise, things would seem normal, right?). That's where phrases like, "I'm not 100% positive, but my gut feeling is..." come in handy.

Then again, it's not like I'm exactly in a position to be (cough!) "mentoring" (cough!) the next generation of programmers, given that I can't seem to remember to budget time nor emotional capacity for a project's "freak-out" phase. But, hey, at least a negative example is still an example, right? Note to self (and everyone else): Next project, don't be me.