drio

Hidden costs

I recently came across this article where the author talks about techniques to stay in the flow. Flow being this state required to make substantial progress in projects. Specifically, I want to talk about the first technique:

Leave work slightly unfinished for easier flow the next day.

To achieve this, the author suggests a few techniques. The first one is "stop before you hit a sticking point". A sticking point is a task that is part of a project where we know the next steps but we do not know the hidden costs. To use a practical example (borrowed from the article), imagine you have to deploy a new ML model and HTTP server in a dev machine. You may encounter deployment errors, auth errors or resource constrains.

Sticking points

This concept of "sticking point" is something we should keep very present when going over our daily tasks. We have a limited amount of energy for the day. We have to be wise how we use that energy to avoid entering in a state of frustration. If we keep making progress, at some point we will drain our energy and it will be more likely to get stuck in a tasks that it'd be easy to solve if we had the necessary energy.

It can be useful to stop after completing a task and consider our current amount of energy (and for how long we have been working). Are there sticking points in this next task? If so, we may want to take a break or just stop for the day.

I had been thinking about this for a while but I hadn't been able to verbalize it so I was very happy to see someone else did. That's why I am echoing this concept.

Writing next steps very clearly

If you make a stop, write down clearly what are the next steps to make progress. This will make regain context much easier and will help with flow.