Menu background


Process Management 101

Dorottya CsikaiDorottya Csikai

Receive our best content two weeks before anyone else! Join 5000+ tech leaders and managers.

Process Management 101: The Secrets of Efficient and Engaging Processes - Interview with Rod Garcia (VP of Engineering, Slack)

Efficient processes play a valuable role in achieving business goals. 

However, leaders might fall into the trap of having too many processes for the wrong reasons, and they lose the focus of their teams as a result.

How can you create efficient yet engaging processes?

Rod Garcia, VP of Engineering at Slack, shares his approach to process management. He talks about the importance of understanding the big picture before implementing processes, shares the steps he uses to determine if a process needs improvement, and tells stories of process management from previous projects and from his current workplace.

This blog post was written based on episode 74 of the Level-up Engineering podcast hosted by Karolina Toth

This post covers:

What is process management? 

There are different approaches to process management depending on leadership styles. In my definition, process management starts with the leaders; they need to listen to their team and understand their everyday tasks and goals. Then they can introduce a number of processes that enable their teams to do their best work.

How can you make processes more engaging? 

Processes need to aim at the objectives and key results of the business. If all teammates see the bigger picture, then they understand why certain processes are created, and they become more engaged. 

It’s just as important for leaders to focus on the bigger picture. You might feel tempted to come up with new ideas for managing processes, but before you jump into action, ask yourself: “How does this process help the business and the objectives of the team?” If you don’t have a clear answer, then take a step back and reflect on why you want to introduce the new process.

How do you make sure your processes are working?

1. Listening

One of my favorite parts of my job is holding one-on-one sessions. I like to see the challenges and opportunities of my team. I listen to them carefully, and when I recognize recurring problems during these sessions, I start creating better processes to solve them.

2. Identifying metrics

It’s important to find ways to establish the right success metrics within teams, so that they’re able to track their progress. Each team is a universe in itself, so it’s important to identify their unique success metrics. That way, you’ll be able to get early signs whether the processes are working or not.

3. Delivering

If the team gets close to their goal, but for some reason they fall out of track, start over with the first step, talk to them, and understand what their pain points are.

I use this step-by-step approach to make sure my team’s processes enable them to work efficiently. I learned from the book Lean Software Development that systems have multiple layers, and in order to understand the improvement opportunities, it’s important to peel off these layers and examine them one by one. 

What are some of the common mistakes in process management?

Early optimization

Leaders tend to fall into the temptation of optimizing a process early. The problem with this approach is that there’s no context, so you won’t be able to determine if the optimization worked. 

Fixing behaviors with processes

The same applies to processes. We often feel the need to balance every confusing behavior with a process. The outcome isn’t great because a process doesn’t improve human behavior. Instead of processes, behavior problems can be solved by coaching conversations or retrospective team meetings. 

Processes enable us to collaborate much easier, but it’s the trust among teammates that powers the process. These two aspects have a snowball effect: when the challenges in behavior continue despite having a process in place, the team gets frustrated, which causes even more problems, so they introduce additional processes. It becomes a slippery slope, and it doesn’t help teams to do their work effectively. 

What’s Slack’s approach to automating processes? 

Make it simple

Automation is everywhere: lights switch on and off when we enter and leave a room, water starts running from the tap when it detects our hands, and our calendars decline meetings when we’re on holiday.

When it comes to work automation, our mission at Slack is to make work more simple, more pleasant, and more productive. We’re all remote, and all the work is happening on Slack. It became an engagement layer where teammates could collaborate. We’re providing our employees the tools to build their own solutions to automating processes.

Remote interaction points

Our remote environment is great in terms of flexibility, but we needed some features to help us set the right work-life balance while working in different time zones. In an office, you can see when someone isn’t available because they aren’t at their desk. In a virtual environment, it’s more difficult since you don’t have those interaction points. We needed to discover how we could signal whether we’re working or not.

To solve this issue, we have a feature called Workflow Builder: when I’m stepping out of work, I execute the workflow, I set my status and turn off my notifications so everybody can see that I am not available. 

All context in one place

We also wanted to make sure that all the context to do our work is in one place, and we don’t have to switch between multiple platforms back and forth. Our teams and projects have their own channels on Slack, so they don’t need an external communication platform to collaborate. When they’re on a Slack call, their status changes to “in a huddle” so other colleagues can see they’re busy.

Do you have a story of creating more efficient and engaging processes at work?

A few years before Slack, I was supporting a team that was responsible for a set of core services for their business. When I joined the organization, I recognized that the team had constant interruptions. They were trying to execute the roadmap, but different teams would ask different questions, and their workflow was interrupted as they were trying to provide an answer for all of them.

Determining the problems

I talked to the team members to see how each of them perceived their current state. I discovered some patterns:

  • The team didn’t have the space to “productize” their systems, and documentation wasn’t great. 
  • The code itself needed more documentation to help others understand how it would work.
  • The team was under pressure because they were responsible for a set of core services without which the other teams couldn’t start building.

Finding the main constraint

When I recognized these three problems, I proposed a process to the team based on the theory of constraints, which I learned from the book The Goal by Eliyahu M. Goldratt. This theory suggests that every organization has constraints. They limit our impact and the amount of value we can deliver to an organization.

In this particular team’s context, the constraint was the time of the teammates. They also had a limited number of teammates, but even if they had more people, the questions and interruptions would have still continued. The main constraint was that the teammates had very limited time to complete lots of tasks.

Solving each pain point

The team and I determined the cost of the constant interruptions they had. Initially, the entire team had to pay the cost of these questions, because all of them lost a certain number of hours a week to deal with them. We decided to define a rotation: each week, a different teammate was available to answer any questions from others, so the rest of the team could concentrate on the project at hand.

Then we started building the documentation that enables others to use the core APIs to build services. Our final step was to connect these two solutions: when folks approached the team with a question, they sent all the documentation to them and asked if the answer was there. If it wasn’t, the team added that extra information to the documentation. 

With each question, we kept amplifying the documentation. In the beginning, it was challenging because people were used to getting a quick answer. But this is where the reasons behind processes became so important.

Bonus advice on process management

Never stop improving

Always look for areas to improve within your processes. Have honest, engaging conversations with your team, because they are the ones using the processes on a daily basis; they are the best-equipped to tell you how to make them better.

Understand the needs of the business, and invest enough time in understanding your team’s needs. If you can find a way to connect these two worlds with success, then your processes are definitely in place.

About Rod Garcia

Rod helps teams to build up their best products while becoming a community. As several companies are shifting towards a remote-first mindset, Rod is passionate about finding ways to navigate this transition and to enable everyone to do their best job from wherever they want to.

He’s been working at Slack for over three years, most recently as VP of Engineering. 

Let's build awesome things together 🚀

At Apex Lab, we're experts in end-to-end digital product development. Our remote-first company operates with a flexible schedule, allowing us to help clients tackle difficult challenges worldwide.

Want us to build your next idea or upgrade your existing product? Our experts cannot wait to work with you. Get in touch with us and let's make this happen. 💡🚀