A previous version was published in PragPub magazine #122, August 2019 by Mark Kilby and Johanna Rothman
Does everyone on your team have equal access to all the team’s tools? By “equal access”, we mean licenses, permissions and training. We’ve seen too many teams—especially distributed teams—where not everyone has equal access to all the tools.
That unequal access doesn’t just challenge collaboration—it makes collaboration impossible.
Even if your team is collocated, if only some people can kick off the build or kick off tests or reserve meeting space, your team’s collaboration is at substantial risk. For distributed teams, it’s a disaster.
Why are we so focused on equal access for collaboration? Because agile approaches demand a collaborative team. If the tools prevent people from collaborating, the tools prevent an effective agile approach.
This is the fourth of a series of articles on how to provide a successful environment for your distributed agile teams. Previously, we discussed hours of overlap, communications technology, and serendipitous communication.
Licensed to Collaborate?
Unlike James Bond with his license to kill, agile team members each require tool licenses to collaborate and deliver value.
We see this problem most often with far-removed team members. And, we’ve seen this license problem occur when team members start to work out of their homes, even if they are not far-removed and in the same time zone.
Back in Article 1, Distributed Team Workspaces Start with Hours of Overlap, we explained how one team, all based in the Eastern US time zone, had to shift some of their working hours to succeed as a team.
That team had started as a collocated team and only moved to a distributed team after one team member moved to New Hampshire, and the organization hired Polly in Indiana. Back when the team was collocated, management had only bought floating licenses for some of the tools. Management was concerned that the team spent “too much” money on tools. Management wanted people to share access to the tools.
Management had calculated the cost of sharing licenses with concurrent licenses. Across all the tools, the difference per person for the team was $2,000 per year vs. $7,000 per year. Management realized that with 20 teams, the difference in cost was $40,000 vs $140,000.
Note: This is the same problem as the conference room problem with collocated teams. Imagine there are 100 people on one floor (as in many large companies) and three conference rooms. No one can book a conference room because the rooms are always taken. No team has a regular place for a standup or a problem solving meeting. The cost of insufficient meeting spaces increases over time.
When the team was collocated, they had a few instances of people forgetting to relinquish their license, but when they could yell across the room, it wasn’t so bad. Now that they were distributed, the license problem became obvious but not as easily solved. Yelling across time zones was not an option.
One day, one tester used the only floating license for the test automation tool. He was called away for a personal situation. His child had fallen on the playground and appeared to have a broken bone. He did not remember to relinquish anything on his machine. He left immediately.
Several hours later, when other people wanted to use the test automation tool, they couldn’t. While he had texted the team to tell them why he was out—and everyone wished their family the best—the team was stuck. They could not continue with the tests until the tester physically returned to his machine.
You might wonder why the admin didn’t reset the license. The tester was the admin.
For lack of a concurrent license, the entire team came to a stop for several hours that day. The tester felt terrible, but he was not the source of the problem.
The concurrent license cost for this specific tool was an addition $2,000 per year. When management decided to save $2,000 a year on licenses for this team, they incurred the cost of 7 people for six hours that day. Assuming a loaded labor cost of only $75/hour, the team cost for not being able to work was 7 (people) * $75(per hour) * 6 (hours) = $3,150.
The team would have recouped the additional cost for just this particular tool on that one day. Because of the cost to the _team_, the team would have recouped the entire cost of all the tools if they had just one more problem like this over the course of the year.
Too many managers don’t see the value of the tools to the team, just the cost of the individual licenses. When team members have equal access to all the tools, they have the ability to not just work as a team, but to support each other in the team.
Once people have licenses to collaborate, they need access to collaborate.
Permission to Collaborate?
Once every person on the team has a license, it matters how the people can use the tools, the roles for the tools. Many of the tools we use on a regular basis require various permission levels. Many people can _use_ the tools—only certain people can create, start, or stop the processes.
For example, many distributed teams use meeting tools. Does everyone on the team have the ability to start and stop a meeting? How about recording a meeting? If only one person has administrative privileges, that one person creates a bottleneck for the team. Mark encountered this recently in a meeting rotated between his fellow coaches. He forgot to switch to his account with the other coaches account and could not record the meeting. This left out participants whose available hours did not overlap with the meeting.
Review the tools your team uses every day. Which tools require “extra” permissions? While we are not fond of branching in version control, can anyone on the team create a branch? Can anyone on the team start and record a meeting? Can anyone on the team run the build and any other necessary tests?
Understand how to Collaborate?
Does everyone on your team understand why the team has these tools? Does everyone understand how to use them?
In one recent meeting, Mark rotated facilitation of the meeting with two other coaches. He forgot to change the meeting link to his account. The meeting was set to start without the host, but it meant that Mark could not record the meeting. Since this was a demo of what many teams had done for a hackathon, the coaches expected that many people would watch the video later.
One team member realized the importance of the recording and was able to capture video and audio from the meeting using open source video streaming software. The video helped spread the knowledge across the organization—exactly what the coaches had expected and planned.
In this case, team members understood the importance of demonstrating their solutions and having their software ready. Other team members realized the importance of recording the meeting so that sales engineers and support engineers who may not be available for the live meeting could view the recording later.
Everyone understood how and why to use the tools at hand.
In your teams, do you provide different ways to learn about the tools available for development and collaboration?
In some cases, this could be more formal training. If the software is sufficiently complex, it may require several team members to attend a course. In other instances, it could be allowing one team member to dive deep into a new tool and provide training or “how-to” guides for their fellow team mates.
If you choose to create guides, we suggest you encourage all team members to update the guides as they learn more about the tool. That helps the entire team sharea their knowledge as fast as possible, and helps the team to maximize their use of the tool.
Finally, one of the most efficient ways to learn new tools is through pairing or mobbing. In these situations, the keyboard passes from team member to team member on a regular basis. In a distributed team, you might have to literally say something such as, “I’m passing the keyboard.” When someone new to the tool gets keyboard control, other team members can guide them on how to accomplish the task.
The key is to allow time for learning regardless of the form the learning occurs. We find it’s best to have the team determine how they best learn. As a leader, it’s your responsibility to make sure time for learning occurs and that each team member shares their learning.
Equal Access for the Entire Team
Even when time and space separate team members, ensuring each team member has equal access to all the team’s tools will save you time, aggravation, and money on the team. Equal access makes collaboration possible. It includes licenses to collaborate through the tools, permissions to use the tools, and an understanding of how and why to use the tools.
And, that’s one way your distributed agile team can succeed.