Enhancing Communication in Distributed Development
6 August, 2021
I am managing a development team that was started in San Francisco and soon spread to the East Coast and Canada. From the very beginning, our QA was located in Vietnam, which is a 13 hours time zone difference. But that was not all. Not many people on the QA team spoke good English, which made video chats tiresome. Moreover, not everyone on the QA team felt comfortable speaking, so one or two people were speaking on behalf of the entire team.
Not long after I joined, I found myself staying late nights going over bugs in Excel spreadsheets and discussing with the team how to solve those. I was trying hard not to fall asleep: it would already be too late, and I couldn’t understand half of what they were saying. I was still onboarding myself and didn’t fully understand all the details, so the meetings were anything but efficient. We relied on video chats mainly because no one seemed to use tools like Jira and Confluence or even Slack or any tool that would require written input. As a result, many things that were shared in a meeting would remain undocumented.
I knew from the start that using collaborative tools was critical to improving communication. Therefore, I was all set to make the team use those tools, but I knew I had to simplify the existing processes. For example, people felt that Jira was too complicated to use and hence moved to Excel spreadsheets. That signaled that I have to simplify Jira much more if I wanted them to use it. In a nutshell, all processes had to be simple, straightforward, and easily accessible if people were to adopt them.
Then I decided to centralize the process of collecting and storing information. Too often, different pieces of information were scattered over various documents without sufficient context or regular updates. Links to product requirements and design or relevant development information would frequently be missing, which was impeding communication. I decided to create one collaborative document per feature where all information would be added. This document would be regularly updated throughout the development lifecycle and structured to enhance communication. Once I put in place those documents, I couldn’t care less if developers were in different time zones or were discussing problems in Zoom and Slack. Once the decision was made, they would be required to use the existing template to document relevant information.
My efforts to centralize information didn’t end there. Since we were doing development for iOS and Android while also having some back-end components, all information was scattered across different stories. I would have all those stories collected in that one Confluence page, making it easy to sync up between different platforms. To do that, apart from simplifying the Jira process, I also made sure that linking between Jira and the feature page in Confluence was aligned, which made the navigation easy.
Taking away verbal communication eliminated late-night meetings. We cut down time spent on communication to 10 to 15 percent of what we were spending just months before. Enforcing written communication and encouraging documentation also made everyone more comfortable because people in Vietnam didn’t have a good command of spoken English but communicated well in writing.
- Simplify communication. Centralize communication. If you manage to make your processes simple and adjust them to your team dynamics, that will directly translate into improved communication.
- While written communication is a must, sometimes you need to hop on a call. If you start your communication on Slack and end up with more than 15 messages, it’s time to jump on a video chat. Also, when a new person joins the discussion, it’s hard to follow extensive Slack communication, so quick video chats that will clarify context sound reasonable.
- Centralization has its own limits. When people try to add comments on a single Jira ticket, something usually gets lost in translation. I would strongly recommend creating a new ticket for any new bug instead of adding a comment to the original one.Keep things simple. For example, submitting five straightforward Jira tickets would be much better than one with 40 comments on it
Scale your coaching effort for your engineering and product teams
Develop yourself to become a stronger engineering / product leader
Mrunal Kapade, an Engineering leader, based in Silicon Valley, shares tips that helped reduce attrition in the remote engineering teams while leading multiple teams from startups to Fortune 500 companies.
Director of Engineering at Inspire Energy
Jonathan Ducharme, Engineering Manager at AlleyCorp Nord, encourages the importance of a workplace environment that cultivates mental wellness.
Engineering Manager at AlleyCorp Nord
A proposal for how to create an org structure that will deliver software systems that you want, not ones you get stuck with.
Principal / Founder at id8 inc
Muhammad Hamada, Engineering Manager at HelloFresh, addresses the uncertainties brought on by the pandemic, how these have affected our work environments, and how we can adapt.
Engineering Manager at HelloFresh
Roland Fiala, Senior Vice President of Engineering at Productsup, raises an interesting issue about autonomy in teams: does it hinder collaboration opportunities that lead to better problem-solving? He shares his system for promoting teamwork in engineering departments.
Senior Vice President of Engineering at Usergems