How to Take the Stress Out of Managing Multiple Teams
— Learn how to manage complex development projects and teams successfully with these great insights.
Successful technology companies are growing rapidly, resulting in the need for multiple teams to work across a variety of projects simultaneously. At Arrow, we’ve especially experienced this kind of growth in recent years as we’ve expanded our development team globally. The challenge to keep projects running smoothly requires a unique balance of teamwork and a lot of resolve on my part as a leader of development.
In this blog post, I’m going to share some things I’ve learned and techniques I use to manage multiple projects and multiple development teams.
Whether you’re leading projects or working within them, I believe these tips can help take the stress out of management and improve project efficiency as a result.
Tips for Managing Multiple Projects
With multiple projects, one can quickly become overwhelmed, stretched thin, and stressed. Most of the measures I take are to ensure smooth sailing on our projects. Ensuring that things run as smooth as possible starts from the onset of the project with understanding your client.
Understand Your Client
It may sound simple, but understanding your client well is critical to project success. By understanding your client, I mean following their business model, capturing the requirements for the project, and knowing what success looks like to your client beyond the factors of timeline and economics.
During initial project meetings, I try to understand how the project fits into the client’s business model. I pay attention to detail so that I don’t miss the nuances in what the client is telling me. I genuinely want to understand what I have to deliver to my client and how the application will make his or her job better.
Understand Client Processes
All organizations have their unique processes. We’re no different here at Arrow. We have systems and processes in place to help track time, project status, and allocation. Very early on in projects, I work hard to understand our client’s processes. To do this, I’ll set up a meeting where the client explains their style or way of working.
Every client has a way or some processes that are important to them; I work to find out what those are.
One way to ensure project success is to be constantly engaged with each project. Being engaged doesn’t mean that I have to write each line of code, but it does mean that I’m aware of what’s going on. I carve out dedicated time so that each project gets the correct amount of attention. I want to be in touch with every project we have going on. Depending on the team lead for the project, I may have more or less weekly meetings. For some projects where I’m involved at the execution level, I have meetings every day. These types of projects are typically higher-level, complex projects where I’m the lead architect. On other projects, I may only be involved at an oversight level. Regardless of my level of involvement, I ensure I’m engaged with the project’s status, team lead, goals, and strategies.
At any moment a client may contact me, and I need to know what’s going on. It's also our methodologies and standardized processes that allow me to be constantly engaged so that I can not only ensure a successful project, but also convey to the client that I’m present and on top of their project.
With multiple projects going on I have to be very disciplined in managing my calendar. As basic as it sounds, in practice, it’s not that simple. Being disciplined with my time ensures that I’m placing the correct amount of focus and time on projects.
One tactic I use is to build in a “buffer” into my calendar to account for unknown demand. Sometimes projects require additional attention when something goes wrong. Time spent handling these emergencies can make things difficult regarding time management. This is exactly why I build in some margin for these type of scenarios.
And yes, sometimes two projects have emergencies at the same time. In these scenarios, I do feel overwhelmed, but that’s what makes a partnership excellent, there’s help available. This is when it’s important to rely on your team and your partners. With the consistent adoption of standard processes and methodologies, other team members can step in and quickly contribute to the situation at hand.
One important task I take on regarding managing multiple projects is to prioritize projects. This does not mean that any project is more important or better than another. I do this in preparation for the emergency scenario. In case there is an emergency, having project prioritized helps me make good decisions about which projects takes precedence. Many factors come into play such as the projects deadlines and resources needed to assist with the project or the emergency at hand.
With so much going on I have to be ultra-focused on whatever the task at hand is. I don’t want to split my attention. To do this, I try to minimize interruptions and distractions during meetings by putting my phone on do not disturb. I also ignore any distraction during a meeting; I want to be focused. Often I’ll print things out on paper because nothing can “pop-up” on a sheet of paper during a meeting and get my attention. Sometimes this frustrates my teammates in scenarios when they need my assistance, but the clients feel pleased because they know they received 100% of my attention.
Tips for Managing Multiple Dev Teams
Having multiple projects naturally means having multiple teams. As the leader of our development efforts, it’s important that we can be efficient and fruitful in delivering multiple projects across multiple teams.
Standardize Internal Processes
To make managing multiple teams easier, we’ve tried to standardize processes as much as possible. As aforementioned, our client’s processes often take precedence over ours, but we do have standardized ways of doing things in the absence of a client process.
Know Your Team
Knowing your team sounds simple on the surface, yet takes persistence to live out. I strive to understand each developer’s capabilities and skillsets on my teams. Having an in-depth knowledge of our collective, internal skill sets helps me know what projects are good fits for specific individuals and us as an organization.
Beyond knowing our team members’ skill sets, I also work to understand the roles they will have on each project. In some cases, I can recognize that a junior developer may need mentoring from a senior developer during a project, and when that happens we plan ahead for it. Also, some of our development managers require more leadership presence where others don’t. Depending on who the manager is, the project at hand, and the deadline provided, I may have to provide more strategic leadership.
Create an Environment of Diminishing Leadership
As the development leader, my goal is to make our team work well together. If we’re working well together, we're most likely successful. One goal I try to accomplish is that of diminishing leadership. By that, I mean that my direction and oversight should be decreasing as the team matures and functions like a well-oiled machine. The less the team relies on me, the more they are working better together. To have leadership diminish over time, a leader must trust his or her team. This process is critical to how we run the development side of our business. We put right people in right places and trust they do a good job.
Value Connecting In-Person
Over the years of leading several teams and projects I’ve found that bringing our teams together is invaluable. Our teams are geographically dispersed, and I try to bring the various locations together maybe once a month or once every other month. This effort allows them to spend physical time together which I think makes them more efficient.
For example, recently we kicked off a massive development project, so we had one of the development leads, based in Europe, come to our US headquarters for a few weeks. His time in the US ensured that we were all on the same page regarding our vision and strategy for the project. Some of our offices are further away and for those developers, we try to get them over once or twice a year. When team members from other offices visit, we meet not only with one another but also with the client. Making the most of our time together helps us to make connections and gain insight that would otherwise be difficult to attain.
Find Your Rhythm
In closing, I would say that it’s important for a leader who manages multiple projects and teams to find your rhythm. And that pace will be different for everyone. There's no right or wrong way because we all have different leadership styles. For me, my rhythm is that I tend to be detail oriented and do things in blocks of time each day and sometimes each week. I also get weekly updates from each of my team leads.
These are the techniques and tactics I use to help manage clients, projects, teams, and expectations across the board. They may not be perfect, but they have proven successful for us. I hope something in this article has benefited you and I would love to hear how you go about managing teams.