Thrashing

I’ve been feeling overwhelmed by my project backlog lately. I have so many in-progress projects that are stuck in wait states that I’m having a hard time making any progress on anything. When I look at the list (and especially when I look at the lab) it’s a bit crippling and hard to imagine how to wrangle it all.

I get myself into this situation because of two interlocked problems. The first problem is that I take-on some projects that are too ambitious to finish in a short period of time. Often these have external or internal dependencies that can take a long time to resolve, and often leave the project “blocked” until I’m able to muster the resources to move-on to the next step.

The second problem is that I get bored during these “blocked” periods and take-on smaller projects to fill the gaps.

When the secont type become the first type, I get really stuck.

Right now I have a list of projects that are in this state, enough that when I try to enumerate the dependencies in my mind it exceeds the capacity of my call stack.

After some thought and feedback from friends on Mastodon I decided the best way to tackle this is to serialize the work and commit to working on only one project at a time until I can find a way to avoid these deadlocks. Then it’s just a matter of ordering the list and for this I’m choosing to order the list by dependency, with the objective of prioritizing work that will unblock the most other projects.

That being the case, the highest-priority project is getting the laser cutter online.

k40 laser unboxed

Several of my other projects either rely on or could be greatly-accelerated by lasercut parts, so getting the cutter into production should provide the most leverage in terms of getting other things done. Unfortunately this is also one of the more complex projects, primarily due to the infrastructure involved.

So it’s tempting to choose something else, but I’m going to try and be disciplined about this and not take the easy way out.