What do you do for geographically distributed teams, if you want to move to agile?
First question: does the team want to move to agile? Or, does the management want to move to agile? I am serious.
I might take the same actions, but for different different reasons. In either case, the team needs to learn about what agile and lean means, and how to do agile. In both cases, the team needs help and protection from management.
Why Does a Geographically Distributed Team Need Help and Protection from Management?
Managers create geographically distributed teams for many reasons. Some reasons are that there are smart people all over the world. In that case, managers create feature teams.
When managers create dispersed teams, teams with one and two people in disparate locations in far-flung locations (more than 60 meters away), managers are under the impression that “experts” can perform jobs better than teams can.
When managers think that “experts” can perform jobs better, they create bottlenecks in the work. Bottlenecks prevent flow. Bottlenecks prevent agile or lean from working. It does not matter if you want agile or lean. You won't get either with a bottleneck. You have to overcome the bottleneck.
Can you make a geographically distributed team work in an agile way? Yes. Let's go back to the principles.
Our principles of agile or lean:
- You need to see all the work in progress.
- You want to flow work through the entire team.
- You want to see working software, sooner, rather than later.
If you, like me, don't care how we get there, we have options.
How Could a Team Take These Principles and Create Their Own Agile Approach?
Let's take one thing at a time.
Let's assume the team is not accustomed to working on small items of value. If you are like many of my clients, this is the case. What would it take for the team to start working on small features that deliver value?
Let's think about the product again:
What kind of potential for release frequency does the team have? That colors the team's thinking. The more potential for continuous deployment, the easier it is to work on small items of value.
This is where I like to introduce the notion of spikes and timeboxes. I ask the team to take their smallest feature, and work together on it. They don't always have any notion of “together,” either. They say things such as, “We need …” and list the impediments to their ability to work together.
Now we see the need for management support.
Project Management is Not a Dirty Word; Neither is Management
I know that some of you dislike the idea of agile project managers. I know some of you positively hate the idea of management in agile organizations. Let me suggest that for teams transitioning to agile, there is a place for management. That place is creating an environment in which the team learns how to self-manage.
There is no place for command-and-control project managers—never has been, never will be. Unless it's time for lunch. Sometimes, teams need people to say, “Lunch-time!” But even that isn't command-and-control. That's someone saying, “I'm taking care of my need to eat. Want to come along?”
It's the same thing for a team with a lot of risk and a lot of unknowns. A team where the normal, out-of-the-box agile solutions don't work. Why would you let a team like that flounder?
That team needs everyone to lead. And, it often, but not always, needs someone to represent that team to management. Why? Because management doesn't understand agile yet. That part might come now, and it might come later. But in an agile transition with many unknowns, it almost never happens at the beginning, even if management is saying, “Please go agile.”
A geographically distributed team needs management support. It does not need command-and-control. That team does need support.
That's when I ask the person working as the project manager to start removing impediments. The team creates their own visual board. (Yes, a distributed team almost always needs a tool. I like to start with cards on a wall first, take pictures of it. Once a team knows how they like to work, then they choose a tool.) The team decides what the length of their timebox is for this feature, if they want to use iterations. They decide how to spike it. They start making decisions.
That team especially needs to understand the problem of bottlenecks, experts, and how to stop needing experts.
After they practice this a couple of times, they have the confidence they need to do this more times on their project. They can call this agile, but it might not have a real name. It's a mishmash of timeboxes and kanban, but it works for them. Does it matter what it's called?
The Team Needs Management to Remove Obstacles
Teams might need management support. For example, I often discover geographically distributed teams don't have enough testers. Well, you say, that team flunks the “we have all the cross-functional roles to do the work” part of agile. Yes, and what if they don't know that? What if they want to try agile? What if they want to work through their obstacles and impediments? They need someone to represent them to their management, while they try to test as they proceed, right?
You could substitute “database admin” or “GUI designer” or whatever it is you need for tester in the above paragraph. Whenever you need someone to advocate on behalf of the team to management, you might want an agile project manager. Not someone to say, “When is the project going to be done?” Nope, not that kind of a PM. Someone to say, “What does the team need? I can help acquire that.”
PMs who provide servant leadership to the team, and represent what the team has accomplished to the rest of management can be invaluable. They can help the team understand its process and facilitate what the team can do if the team gets stuck. These are agile project management skills.
At this point, the team can try several approaches I suggested in these posts:
- Agile Lifecycles for Geographically Distributed Teams, Part 1 is for iterations and silo’d teams and a project manager.
- Agile Lifecycles for Geographically Distributed Teams, Part 2 is for kanban and silo’d teams and a project manager.
- Agile Lifecycles for Geographically Distributed Teams, Part 3 is for iterations and kanban and silo’d teams and a project manager.
You might have an even better alternative than the ones I suggested.
Do you need a project manager? No. Do you need a servant leader? In my experience, yes. Maybe in your experience, no. I would love to hear from you, if you have a geographically distributed team that does not have a servant leader.
How Does This Team Evolve?
That has allowed each team to transition from the Complex to the Complicated. They now have collocated agile or lean teams. They can design their agile projects, as in Part 1. They retain the value of smart people all over the world. They don't have the aggravation of trying to meet in different time zones for a project. They still have it for the program.
Some of my clients are still trying to make the dispersed teams work. It's really hard. You might want to read my paper about the common problems on these teams.
Where are we now?
In Design Your Agile Project, Part 1, we discussed a straight-on approach to using whatever approach to agile, because it was obvious where you were.
In Design Your Agile Project, Part 2, we discussed looking at your system of work, and thinking about your unknowns. You need to think about your risks, and consider what you need to experiment with, to design your own agile project.
This part, part 3, is a continuation of part 2. It matters because you might need a servant leader who might be called a project manager. The title matters, because especially on a geographically distributed team, you are bridging the gap and the culture between the old way of working and the new way of working. I still think it's Complex. Some of my clients think it's Chaotic because they have so many impediments.
Whatever it is, you need data to take your next step. Read Design Your Agile Project, Part 4.