I struggle with analysis paralysis, procrastination, and distraction. For me the best way to force progress is to challenge myself to prove my progress on a regular cadence. I don’t necessarily show it to someone every day (I try to most days), but I almost always have something I could show. Hopefully it’s submitted code, but it might be code for review, or a prototype for early feedback, or just some rough notes on my plan.
The deceptively simple goal of having something to show for my day, every day, drives better habits in unexpected ways.
I’m breaking down tasks
The expected consequence is that I’m forced to take small-friendly bites out of big-scary projects and get past analysis paralysis. I can’t constantly stop myself out of fear that I’ll do something wrong or head in the wrong direction. With only a day to spend I have to do something and pick some direction. It’s not too scary because I know that if it really was the wrong thing I’ve only wasted a day. I strive for an iterative approach to my projects and the daily cycle keeps me honest.
I’m writing more stuff down
When the progress I’ve made is only analysis of my options it’s at least concrete. A shareable doc where I’ve written down the pros and cons of some approach is infinitely more valuable than vague pondering or not knowing where to start.
The visibility of my progress is critical. Regardless of whether anyone actually looks at it, it is still worth writing down. Writing is thinking. Writing has a way of forcing clarity in my thoughts and solving problems that seem intractable. Writing project notes, especially those which someone other than me could possibly understand, is the ultimate form of rubber duck problem solving.
Only when one writes do the gaps appear and the inconsistencies protrude. The act of writing turns out to require hundreds of mini-decisions, and it is the existence of these that distinguishes clear, exact policies from fuzzy ones.
– Fred Brooks
I have a better sense of my productivity
Rather than reflecting on my performance project by project I have a 24 hour feedback cycle to practice and measure myself. I can’t fool myself into thinking that the time I spent on some tangent was actually worthwhile if I wouldn’t show off the result of that tangent.
I’m getting feedback earlier
My biggest hurdle has been a fear of letting anyone see my work before it’s perfect. The fear leads to a vicious cycle of wasting time, feeling further behind on the project, then being even less willing to let people see the state of the work. I waste time tackling problems that others could easily help me solve, waste time polishing work that has fundamental flaws, and waste time waffling between approaches instead of getting validation that I’m on the right track. By producing something shareable daily, and actually sharing it often, I get frequent feedback. I might get negative feedback and avoid wasting my time backtracking, or I might get positive feedback and feel more confident and move quicker the next day. Either way, looping in peers early and often has never been as painful of an experience as my fear would have me believe, and I get higher quality work done faster.