We’ve all experienced periods in our work life where it feels like juggling between different tasks becomes too much. Work projects keep piling up and it feels like while you’re completing one of them, a dozen of others get magically added to your to-do list.
Unfortunately, there’s no quick and easy way out of this state. Still, there are certain strategies that can help you move through your to-do list more gracefully, if not faster.
Here’s where the concept of work in progress (WiP) comes in handy.
Work in progress is all the work that you've started, but not finished yet. Got that email you know you have to reply to? Until you do, it's your WIP. Wrote that code but didn't test it? Not done, meaning WIP as well.
If it's not done, it doesn't provide value, it's just sitting somewhere in your queue. The more you have in your queue, the harder it is to see what's important. A lot of WiP also means more context switching, consequently slowing you down even more. Eventually, you just drown in tasks that just keep coming and you see no end of it. Not a good story.
In the next section, I’ll show you some of the tools that may be useful for dealing with excessive WiP.
So, what strategies and framework could you use when tackling your WiP?
You may have heard of or used Kanban. It was first created in the 1950s by Taiichi Ohno who then worked as an engineer at Toyota. He grew more and more frustrated with the car production flow and how line managers were pulling parts that they didn’t need ‘just in case’. Kanban (Japanese for ‘sign’) was initially introduced to indicate that one part of the flow was now done and the next phase of it can start.
Gradually, this ‘just in time’ concept was applied company-wide as a means for making sure that everyone what others are working on, where work happens, and then take over once it moves their way.
In Kanban, the first step then is visualizing your work. The visibility will help you see things in perspective.
Once you have it all laid down (be it using post-its as your cards or using an online tool such as Trello), you can start optimizing the flow. Pay particular attention to places where you get stuck and things you repeat multiple time. Would you be able to automate these things at some point?
Another important element of managing your work in progress is knowing how to prioritize your tasks. Here’s where another method comes in handy.
The Eisenhower Matrix is one of the most effective methods deciding on which of your responsibilities to take care of first and which ones can wait. Managing your work in progress is not only about visualizing and moving your tasks around. It’s also about removing some of them of your plate so you can focus on the most important things.
How does it work then?
As you can see, there are four ways of categorizing your tasks. These are:
- Urgent and important
- Important but not urgent
- Urgent but not important
- Neither urgent nor important
Putting your tasks into each box of this diagram is the quickest way to prioritize them. Once you've got them sorted into these four categories, you'll know what you should do with them.
If you’d like to know more about the Eisenhower Matrix, I recommend this article by James Clear, the author of ‘Atomic Habits’.
Once you’ve automated, delegated and deleted a significant portion of your tasks, you may be wondering where to stop.
Limiting your work in progress too much you may cause you to face the situation where you’ll be only dealing with the most urgent tasks. Keep in mind that it’s virtually impossible to spend your days fighting fires and repelling dragons exclusively. That would take a huge toll on your energy levels - to read more about it, you can check my recent article about energy management.
Now, let’s take a look at the strategies for ensuring everyone on your team increases their ability to manage their work in progress.
If you’re working as a part of a team, it’s important to not only manage your own WiP but also find ways to incorporate some of these techniques on a wider scale.
There are long-term practices you can implement to how you work with others in your crew. This way, you should be able to manage your tasks more consistently. Here are some of the strategies that worked for the teams I’ve collaborated with:
- Avoid context switching on a team level. To do that, focus on working on one story/feature/task at a time whenever possible.
- Limit your WiP in a tool you’re using. Most task management tools have the option to limit the number of cards that can be placed on any of the boards.
- Make your work cycles shorter. Aiming for week-long ones could help you and your team tackle the work in progress.
What are your best practices when managing your work in progress? Please share them with us on Reddit: r/TechLeader!
One critical skill to have as a more senior developer is to be able to view potential problems as a series of patterns that have already been solved somewhere else. Let's take a bit of a dive into some of them!