January 13, 2013
I get stuck a lot.
Bouncing between half a dozen active development projects as well as the other stuff I do at work, not to mention at home, creates a kind of multi-tasking hell. The constant context switches during an already interruption-filled day makes it challenging to eke out even a little forward motion. Projects are routinely left ignored for days or weeks.
Restarting these fallow projects becomes progressively more difficult the longer they are left untouched. In software development we have an expression for this: bit rot. As code is left untouched while its surrounding environment changes, and as the original developers leave the organization or move on to other things, the code becomes increasingly difficult to pick up again and improve or even fix.
That happens to my projects. The longer I haven't touched something the tougher it is to pick up again and move forward. I may have forgotten some important detail, forgotten what the next step was, forgotten what got me so excited about it in the first place. It takes a surprising amount of effort to page in the requisite mental state to make forward progress.
Just the thought of coming back to a large, ambiguous, difficult project becomes a barrier. Looking back on my notes and seeing the next step is no help: the next step is often big, hairy and loosely defined1.
So I have adopted a mental trick. When I consider coming back to a project that has been sitting for a while I force myself to only tackle a tiny, trivial, embarassingly easy element of that project. I might fix a typo or an itty bitty visual glitch, delete some previously commented out code, rename a poorly named method or two, whatever. Really, really low hanging fruit.
What is the smallest, easiest, fastest, least risky thing you could do to move this thing forward? Even just a fraction?
And 5 minutes later I am back into the project. The mindset I had when I was last working on it has seeped back into my subconscious and I can start planning my next move.
Until the next interruption.
1. Jeffrey Windsor and Ernest Hemingway both wrote about how they dealt with this in their work. Merlin Mann published a nice summary on his old productivity blog.