How to Create a Culture of Collaboration
Among the unique challenges that this year has presented, something we have all been navigating is how to stay connected even though we’re apart. A few weeks ago, we looked at how to get a team started in a remote environment. Once you’ve got a team up and running, how do you make sure people can collaborate effectively in spite of the distance? Earlier this week, we looked at what our developers are actually building. Now it’s time to examine the process that has made our progress possible.
A common method for collaboration in software development is pair programming, which usually involves two developers sitting at the same computer with one person coding while the other person talks through the logic and checks the code in real time. Of course, that process has looked rather different this summer, and the distinction between pair programming and general collaboration has begun to dissolve. In spite of considerable changes this summer, collaboration remains critical to our success as a team.
After talking to some of our developers, we found that communication was crucial for teamwork to thrive. For collaboration to become part of your team culture, you need to create a place where people can create authentic connections, where they benefit from each other’s expertise, and where they can tackle projects in whatever way they find works best.
Foster a friendly environment
An amiable atmosphere is foundational to good collaboration. People need to feel like their teammates want to help, that their questions are welcome, and that their success is everyone’s concern. John shared how other people’s receptiveness affected his own ability to seek support: “If they brush you off, then you don’t really ask more questions.” At the CATLab, however, John was struck by “everyone’s willingness to help” the happy, upbeat environment. “Even before I had questions to ask,” he said, “people came to me” to offer their support.
Kristen, another one of our developers, highlighted the advantage of “interacting as friends and as partners and collaborators,” and not merely individual programmers. And helping each other means more than simply being able to provide an answer immediately or identify the coding error at a glance. Even if bringing in another person isn’t an instant fix, it’s still valuable to have “someone to bounce ideas off of,” said Kristen. “You can help each other find the best, most efficient solution.”
When a team has a culture of collaboration, there’s a sense of fun and a feeling of solidarity in knowing that other people run into problems, too. Summing up her thoughts, Kristen said, “You’re free to make mistakes and have fun with it.”
Leverage expertise to build shared knowledge
Once people feel comfortable going to their teammates to help, meaningful collaboration still requires a certain openness and breadth of communication to transform individual expertise into something that can benefit the whole team.
An obvious way to promote shared knowledge is to pair junior and senior programmers together in a sort of mentorship program. For example, since John is one of our newer developers, he has been paired up with more experienced developers in many of his projects. Kristen noted that team leads put a fair amount of thought into who they pair up, trying to match people who “have different skill sets that could work well together in making one thing happen.”
Even when programmers are working on individual projects, it’s common for them to go to people who have had more experience with a language or type of project. As an added bonus, people on your team are more likely to understand your specific situation than a search engine or online forum would be able to. John noted that although Trailhead—Salesforce’s free online training program—is helpful for basics, he runs into “obscure” issues that may not have documented solutions. “Instead of browsing through thousands of posts on Google and reading a ton of documentation that may or may not have the answer or [be] outdated,” he said, “you can go and ask somebody who has experienced it.”
Finally, it’s not always the people who have been with the team longest who can be a resource to others. Although John regularly got help from other developers, he also developed his own area of expertise when he worked on implementing mobile paging for the application portal. That meant that when Nathan was having trouble making his transcript component render properly for mobile devices, he knew to ask John for help. Similarly, because James knew what problems Nathan had run into, he was able to approach Nathan for advice. This chain of collaboration is possible because we keep everyone in the loop by having daily check-ins and regular team updates.
Be creative with platforms and tools
Although it’s helpful to centralize team communications with platforms like Slack or Zoom, it’s also good to keep in mind that different tools are built for different tasks. Thus, we should be flexible in our technologies for collaborating. Our developers use Slack for chatting about ideas or problems, Zoom for sharing screens, and Git and Salesforce for reading each other’s code to see how specific features are implemented. Diversifying the ways in which we collaborate has the added bonus of preventing “Zoom fatigue” and other forms of exhaustion.
There were even some ways that these tools made collaboration easier than it would be in person. Instead of being “crowded around a laptop,” noted John, “we could just hop on a Zoom call and work together with the Share Screen.” Kristen, too, praised the “share screen” feature, saying she enjoyed the ability to “actually take control of someone’s screen or highlight certain fields right on the screen.”
John brought up a valuable insight when he encouraged us to remember that our repertoire of tools is not limited to digital technology. He shared how helpful it was to write things out in a physical planner or mapping out some logic on a whiteboard. While Zoom screen sharing is easy enough for looking at code and Salesforce, it’s harder for talking through abstract ideas. As John said, even with all the fancy apps and platforms available, “There’s something so simple about picking up a marker.” And sometimes, all you need to get unstuck is a conversation, whether that’s over the phone or with a roommate.
Creative collaboration reminds us that work can be fun—it’s much easier to tackle projects as a team if there’s rapport. So encourage your team to think of each other as not only coworkers, but as friends. Make sure that everyone’s in the loop so they can benefit from each other’s experience and expertise. And finally, don’t be afraid to mix things up and have fun. These are great first steps for changing the culture of your team or company to encourage quality collaboration.
For more content from the CATLab team, follow us on all our platforms!