navigation
tech talk

code snippets

all reads

portfolio

cv (out of date)

 

about me

i'm the principal software engineer @ airadvice inc and have been performing the craft of software development for a decade.

 

what i use

textmate (code)
mantis (bugs)
dokuwiki (docs)
omni* (organization)
khronos (timekeeping)

 

find me

twitter
upcoming
delicious

 

disclaimers

© andrew ettinger

design by Smallpark

 

Anticipate, Plan, Execute

posted Tue May 08 16:57:11 +0000 2007 - permalink


One issue we always seem to face in software development is our own fantasy about The Phantom Specification. This usually involves one or more of the following symptoms: claims of being unable to proceed without the specification, an inability to foresee any changes to the codebase, nervous laughter, and/or trying to hide out in a corner of the office away from everyone else (at least more than normal).


Specifications are generally hard to come by and are tough to lock down. I've heard ideas on obtaining and locking down specs from getting all stakeholders to sign a spec (mostly, I believe, in order to get them to read it), to spending several months attempting to nitpick every last detail via committee. There's the opposite idea as well in the agile software movement's Matrix-style believe that there is no spec. While the agile software movement has a lot of cache, in my experience somewhere in the middle lies the truth.


Which brings me to the point. Senior developers on any team need to be consistently anticipating, planning, and executing to fill in the gaps left by Phantom Specifications. Anticipate company changes, and begin planning early to meet those changes so that you can effectively set priorities. Currently, I'm working without a specification. But I have been able to anticipate and plan around our new products, allowing us to make the proper codebase overhauls to support three new products. By the time I receive the three specifications, we'll be all set to cross our t's and dot the i's so that with any luck we'll be able to deliver on time.