DEV Community

Cover image for Work Is Water: Beat Developer Infinity By Paying Attention to Flow
Steve Fenton
Steve Fenton

Posted on • Originally published at thenewstack.io

Work Is Water: Beat Developer Infinity By Paying Attention to Flow

This article is for everyone drowning in work. If your to-do list seems infinite and you’re feeling the burnout, you’ll find out how to think like a river and embrace a manageable flow.

The Flow of Work

We are busy removing dams, weirs, culverts, and sluices because we’ve learned that nature has a better way to manage water. Natural waterways slow the water’s course through the landscape, reducing peak water levels, reducing flooding risk and providing more preparation time when a flood cannot be prevented.

In contrast, human-made watercourses rush the water downstream, where it converges and creates dramatic flooding. If you think about it, this sounds exactly like how we manage work in software teams and beyond. To be productive as an individual, we crush our tasks and rush them downstream.

If we were a river, there would be constant flooding in the lowlands. But there’s a catch that makes it even worse. Our work resists gravity and flows in all directions. It often flows back to us, like when clear our emails only to trigger a new set of responses. That’s why we live knee-deep, waist-deep, or neck-deep in water all the time.

The wicked part of drowning in work is that our water never reaches the sea. The more we bail out, the deeper we get. When you start so much work, it takes forever to finish it. In fact, the more time you consume in switching tasks, rebuilding task context, and responding to the overheads of high work-in-process (WIP), the less time you spend completing stuff.

It’s time to reconnect with nature and discover that you must slow down to go fast.

Slow is Smooth, Smooth is Fast

I worked for a company in the financial industry on a software project with a fixed timeline set by regulators. With a long list of work to do, we summoned the developer hustle. We started early, worked through lunch, and stayed late, only to see our work move to the next stage and wait.

Developing changes faster made no difference to the timelines, and the more we rushed, the more frequently the work came back. Overall, we were making the project take longer.

Intention, mindfulness, and precision will always get you to your outcome faster than pure hustle. Pausing after a task to plan your next move feels like wasting time you could have spent on “real work”. But stumbling ever onward to complete a to-do list that is effectively infinite sounds like the worst kind of Sisyphean endeavor. And it is.

The moment of clarity in the modern workplace is when you accept that the queue of work can never be completed. We face infinite choices and the tasks that each decision may generate. You cannot possibly do it all. Ever.

Many people respond to massive demand by working extra hours, rushing individual tasks, or hiring additional help. This doesn’t work because doubling, tripling, or 10-x-ing your capacity makes no dent in infinity.

Instead, we need to set the rate at which infinity can enter our work system. We slow down the water, dry our feet, and establish a healthy flow of work.

Working is Drinking

When I get thirsty, I drink a cup of water. Admittedly, it’s often a less noble choice than water, but it’s still a single cup at a time. You can’t survive by drinking 90 liters once per month.

Planning is the same. We need to do it continuously because the need to choose between competing demands is ever-present. Planning after each task may be too much, but planning once a week is likely too little.

There are many ways to manage this. I use a combination of Pomodoro Technique, Personal Kanban and Getting Things Done. This helps me look at the work at different planning horizons and levels of detail. You don’t have to use these, but you need something that lets you continuously plan and work with intention.

When planning, the question isn’t how you do all the work. The crucial activity is deciding what you won’t work on. This is hard, as it contains most of this infinite list of options. It’s a law of nature that choosing to do one thing is choosing not to do something else. Don’t fight it.

When you perform continuous small-scale planning, it doesn’t take so much time. It also gives you a hook for crucial conversations with people trying to wash work downstream to you. There’s great power in asking, “Is this more important than these items I have planned?” You’ll often find it’s not.

How To Slow The Water

We slow the water by having courageous conversations. Sometimes, we must tell people we can’t accept a request because we’re already committed to other things. On other occasions, we collaborate with them to understand priorities.

When I ran software teams, I allowed stakeholders to re-prioritize the upcoming work as often as they liked. Once developers started a work item, we let them complete it. You may use a different default, but this prevents the waste caused by “half a feature”.

This doesn’t just apply to development. Imagine you had a plan to write a book, get it published, and then do promotional book tours, television chat shows, and social media posts to promote it.

Imagine you wrote the book, published it, and didn’t do the promotional work. You may have gotten distracted by your next book idea, so you’ve started writing it and don’t have time to promote the original book. You’ll end up with many books and no sales when it’s better to have one best-seller than many flops.

The Lean movement puts it this way: Stop starting and start finishing.

Be Intentional

Every single person in knowledge work has an infinite to-do list. Only by being intentional can we slow down the flow of work and have a greater impact. It’s easy to fall into a completionist mindset where you believe that applying more effort will somehow get you closer to the finish line, but this is a shared delusion.

You can’t ever be done, but you can choose to work where you can make the biggest impact.

Top comments (0)