Making Work Visible
Tags: productivity, learning, management, culture
Published: 2023-05-15 15:10:08

Ever wondered why a work item that seems small takes so long to complete? Often the work itself doesn't, but there are competing priorities, or too much work in progress for anything to actually get done. To really understand where your time sinks are, you first need to #makeWorkVisible! 

A few years ago I read _Making Work Visible: Exposing Time Theft to Optimize Work & Flow_ by Dominica DeGrandis. When I picked up the book, I didn't realize the impact it would have on my teams and the way we work. If you're looking to improve flow and expose your time thieves, I highly recommend reading a copy! Meanwhile, here's what I've learned from trying to apply DeGrandis' thinking with the teams I've worked with over the past 3 or 4 years. 

## Celebrate the small stuff

Technical debt is a huge problem which we all face. In my estimation, it's the sneakiest of DeGrandis' time thieves. How many times have you caught yourself thinking, "Oh I might as well fix that too while I'm in here," then gone down a rabbit hole like Alice in Wonderland? Suddenly your day is gone, and you've fixed a few other things but haven't accomplished your original task for the day. While those other fixes might have been good and necessary, according to your Kanban board you haven't accomplished anything! 

We've all said to ourselves: "But it's such a simple task. It would take more time to make a ticket than it would to do the work!" So often a small or simple task snowballs into something larger. Or, we're asked to context switch and do something else. In time this can make us feel overloaded and under-appreciated, and cause us to burn out quite quickly. 

Making work visible allows others to see what you're working on, which helps them make priority calls when another request comes in. It also enables your teammates to pick up work you might have had to abandon during a context switch. For many people, completing small incremental tasks can be much more rewarding than being stuck on one large task for many weeks. Celebrate the "small" stuff! Some of those small tasks are the biggest wins! 

## Save the context

![kanban board with idea, todo, doing, and done columns](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bun32n4lfq9zi6r7bo55.jpg)

I used to be in the habit of writing down "to do's" on sticky notes so I didn't lose track of them. If only there was a system for that! When I went to make tickets for all of my sticky notes I found that some had already been done (yay!) While others I couldn't remember writing down or didn't think 
were as important anymore. Now, when I come across a piece of technical debt or I have a bright idea, I pause to take a step back and look at the larger picture. 

- Do we need to do this _right_ now? 
- Do _I_ need to be the one to do this? 

Most of the time the answer to both of those questions is "no" and creating a ticket takes just as long as finding my stack of sticky notes and writing down my idea. Usually, there's a lot more context in a ticket which can help your team remember what it was and why you thought it was important. You can only fit so much on a sticky note! Later, all that context can help your team decide if a task is worth doing. 

## Create a blameless culture

"Oops! Maybe I can fix this before anyone else notices!" 

To put it simply, creating a blameless culture enables teams to work together to solve problems more effectively without fearing failure. Without blame, teammates are more inclined to seek help, ask questions, and discover diverse solutions to their problems. 

Making work visible requires just that – for the work to be visible! If teammates are fearful or worried that they might be blamed for an issue, they may be more inclined to fix it quietly. Instead, celebrate mistakes and learn from them as a team! My teams started talking about our "oops" moments at the end of each week. We share our mistakes, large and small. We celebrate them, and foster a culture of trust and collaboration. 

## Label your work

DeGrandis identifies different types of work in her book to help identify time thieves. We took a very literal approach to this concept and started tagging each of our tickets with one of "Debt," "Risk," "Feature," "Defect," or "Incident." We used these tags to create metrics and see where the team was spending most of its time. 

We were able to see when the whole team dropped everything to work on an incident, or when we started a new project. Best of all, we could see how much work in progress we had over time. This allowed us to identify thresholds above which we were overloaded, and below which we were under utilized. Eventually, we even added metrics to see how thinly the team was spread across different projects. 

Having these metrics helped us to correlate how we were feeling and the work we were doing. It also gave us data to use when other teams and managers came with requests for features or other work. We were not only able to identify if the team had capacity to take on more work, but also how long a request might have to wait in the queue. With this data we could talk about priorities and determine the best course of action. 

## Communicate with your team

![Team fistbumping](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sm4ncng90nwiin12a1mr.jpg)

Having metrics allowed us to set expectations about the priority of tasks, but it didn't help when it came to navigating why some tasks were taking longer than expected. 

Our team tried posting in Slack to communicate our daily goals. After a while, we realized that we had fallen into a rut of saying "did X, plan to do Y" and not really sharing what we were blocked on or what we needed help with, which was the whole point of the post! Switching up the questions we asked helped us re-focus and made these posts way more valuable! Some of the questions we tried were:

- What would make today a success?
- What are you currently blocked by?
- How could the team help you achieve your goals?

We also discovered that setting our status in Slack was a great way to communicate when we were heads-down working, poring over a code review, or in meetings. Most of all, setting our status enabled us to communicate when we'd be available again to reply to messages, so people weren't waiting for an immediate response from someone who was out grabbing a coffee. 

Sharing what you're working on, where you might need help, and setting expectations for when you'll be available to help others has become super important to the way we work, especially when collaborating with remote colleagues! 

## Be open to continuous learning

Over the course of the past few years my teams have tried many different things to find what works best for us. As our teams, projects and goals changed, so did our ways of working. Be open to continuous improvement and learning as you go. 

> "Learning is not compulsory... neither is survival.” – W. Edwards Deming