Changing How I Work: Touch-it-Once and Always be Closing

Recently, I’ve been working on multiple projects of varying levels of complexity. Unavoidably, this leads to many open loops and slow progress across many projects. That… is frustrating.

Not only do I not get the satisfaction of ‘closing’ projects out, I’m also distracted from working on other things when something from a previous project resurfaces & needs my attention.

This materializes in many ways: if you ever write/own fragile code, you know it is prone to breaking. More fragile code = more likely it will resurface asking for maintenance after you thought it was ‘done’. Another example: if you don’t read specs/documentation with a keen eye, you will need to come back to it later to process it properly again.

Problems that resurface this way have been a big time suck and source of frustration for me recently. I want to make a change in how I work day-to-day to avoid this. It’s a new approach!


The Mentality and Approach

I want to focus on doing good quality work that I ruthlessly push to completion. In other words, focus on:

  1. Touching-it-once:

    1. Do things right. This is going to require more attention and focus, but reduces the need to come back to it later. You touch it once, and then you’re done. No need to come back.

  2. Completion centric planning:

    1. Ruthlessly close open loops. Finish and complete things on a day-to-day basis. Always be closing! (Casey video)

This is how this would translate:

  • Write cleaner code to ensure reliable systems

  • Comb through documentation and specs and process them properly so you only do it once. There should be no need for constant revisits.

Here’s some other benefits I’m hoping to see:

  1. Better estimates: less unexpected problems popping up = more reliable estimates on what I’m currently working on.

  2. Easier planning: I don’t need to worry about lingering things from other projects. Just get them out of the way so yo need to plan for lesser variables!

  3. Less open loops: just feels better. Open loops eat up my attention from other things. OPEN LOOPS ARE POISONOUS!


How do I enforce this thinking?

  1. Reduce planning overhead and have a bias to action.

  2. Have ‘deliverables’ each day - clear, tangible things that need to be complete at the end of a day. Adjust scope of the tasks themselves if you don’t think it is realistic to finish them in a day.

Let’s see how it goes!


Next
Next

Refactoring and Clean Code