Have a look at our new Handbook: "Transitioning from Monolith to Microservices"!  Discover →

    11 Jan 2023 · Culture

    6 Tips for Improving Dev Team Communication and Collaboration

    10 min read
    Contents

    About 86% of business failure is caused by poor communication, whether you’re in software or any other business. But in software you’re communicating about very complex subject matter, and often in a hybrid or fully-remote environment. This means that it’s critical that everyone in the dev team to improve communication.

    Whether you’re having problems between design and development, or you’re thinking about how to improve collaboration between developers and testers, let’s go over why great communication is essential for dev teams and six tips to help improve it.

    Screen filled with code and an IDE

    What is dev team communication and why is it important?

    In a business context, improving the dev team communication means improving the flow of information. That might be anything from what CCaaS is doing to help improve customer interactions, to getting a digital signature free and fast. 

    It’s not all about checking in with your colleagues or making small talk in the cafeteria, though that can be important too. Thinking about best-practices for communication and making them a part of the company’s culture will help you work more effectively and make fewer errors on collaborative projects.

    One study found that:

    • 73% of employers think that communication skills are “very important”.
    • But only 27% of employees have had any kind of communications training.
    • 39% of employees feel that their company doesn’t collaborate well enough. 
    • And only 27% say they feel confident about communicating at work.

    When working as a dev team, our “soft skills” can be just as important as our technical skills. To work efficiently, we need to be able to report our progress, discuss issues, review code, reach out to other team members, ask for help, collaborate, and plan our project. All of this requires good team communication skills.

    Communication training can help as a company-wide solution, but many developers want practical tips that they can use right away to improve their dev team’s communication. In this article, we’re going to cover six ways to sharpen your soft skills and make collaboration easy for your team. 

    Woman in front of a desktop and laptop computer. Code is being show in the screens

    1. Use meetings to your advantage

    We now use a vast range of mainly text-based collaboration and communication tools like Jira, Teams, Discord, Github, etc. that have vastly improved our collaboration and communication. However, sometimes a good old fashioned meeting or call is needed at the start of a sprint. It helps get everyone on board and ensures that everyone understands their roles.

    Regular meetings can help keep a project on track and open up discussion about any hurdles or issues. However, it’s important to have meetings with a clear plan, not just for the sake of being seen in the workplace. How many times have you been in a meeting and thought “This could have been an email”? That’s why each meeting should involve only the necessary members and have a structured agenda.

    Once you’ve established a format for meetings, make sure that you make the most of them. This means actively listening and participating. “Active listening” is a skill that will help you have more effective meetings and calls. Everyone will take in more information, and fewer mistakes will be made in the work that results from those meetings.

    Meetings offer your team a chance to discuss possible solutions and open avenues for 1-on-1 collaborations. It’s important for every member to get the full potential out of every meeting and there’s a few simple tips to do this:

    • Take notes: Not only does this help you focus on what’s been said, you’ll have something to refer to if you forget any key points
    • Ask questions: If there’s anything you’re unsure of, now is the best time to ask. There’s a high chance that others in the meeting have similar concerns and you’ll be helping to clarify things for the whole team. Questions show that you’re actively listening and can open up discussions that can help the project proceed efficiently.
    • Discuss timelines: There should be an open channel of discussion between the dev team and managers. Kick-off meetings give everyone a chance to come up with a detailed estimation.
    • Engage: This can be as simple as making eye contact or acknowledging a point with a nod. It makes whoever is presenting feel listened to and part of the team. Speaking to a room of bored faces will only discourage future participation.
    • Summarize: When you feel that you have a clear grasp of your upcoming tasks, repeat it back to your team. This will ensure everyone is on the same page and reduce the potential for errors or delays. 
    • Wrap-Up: Meetings should end with a repetition of the tasks for each member of the team and the goals for the sprint. Everyone should walk away ready to jump into their next task. 

    Sometimes it’s easy to zone out in a meeting, but active listening will help you be more present and engaged. It’ll also demonstrate to your colleagues that you’re interested in what’s being said and make yourself more “visible” in the wider company.

    Team meeting. 6 people are round a table, each with a laptop. They are smiling and talking. The dev team has good communication.

    2. Asking better questions

    Good developers are often very precise thinkers who want to get straight to the point. It’s often useful to ask pointed, direct questions when working out a problem. However, open-ended questions without “yes” or “no” answers can prompt more useful discussions. In the early design stages of a project, you want people to be able to explore the possibilities, and feel free to ask “stupid questions” or suggest unconventional ideas.

    These sorts of questions can also be useful in reviews. Rather than bluntly asking “can you make this more efficient?”, ask “why did you do it this way, and not this other way?” You might initially disagree with what’s been done when you first read the code, but there might have been a compelling reason for it.

    In remote work when you’re communicating over text, it’s easy for a very terse, pointed question to come across as blunt or even aggressive. If that’s the way you have to write to get a code review in on time, just make sure that the person on the other end knows that it’s nothing personal.

    A woman and a man in front of a laptop. She seems to be helping him with some code. The dev team has good communication.

    3. Planning more effectively

    Planning is very important to software development, and it can’t happen without good communication. Whether you’re just mind mapping new features or prioritizing GitHub issues, good communication means that everyone can offer ideas and provide input.

    It’s important for your team to communicate about their timelines. This means more than just a set-in-stone deadline. Timelines should be set with both big and small milestones. This way your team can easily communicate what stage of the process they are in. 

    Estimations will come in handy here. Your team members should be able to provide estimates for each step of their tasks. This can be done with tools like Jira or SprintGround. However, this doesn’t mean that there’s no wiggle room. If something is taking longer than expected, estimations can be revised. Having regular “check-ins” to see how each member is doing with their estimations can help the team spot potential delays ahead of time and adjust to any potential issues.

    Good documentation also plays a role in this. By writing and maintaining documentation that clearly explains overall architecture, API endpoints, and important classes, developers can help each other navigate the codebase and think about how to plan new work.

    A table with 5 developers, each with their laptop. They are working on code. The dev team has good communication.

    4. Keeping agile remotely

    As software companies have quickly adopted remote working, they’ve had to adapt everything from stand-up meetings to the best CI/CD practices to stay on top of things. If you want to stay agile (or Agile) while working remotely, communication is essential.

    Agile is only possible when everyone has a high ambient awareness of what’s going on with other colleagues and teams. The daily stand-up can keep everyone in the office in touch with what’s happening, and a public Slack channel can keep employees around the world informed. But remote communication requires more effort than communication in the office.

    You have to make room for people to “overhear” conversations that are happening online. That means deciding which conversations should happen in a private email, and which should happen in the chat channel, where the rest of the team, or another team’s manager, can see what’s going on.

    A laptop with a zoom meeting. Next to the computer, a green cup sits. The dev team has good communication.

    Detailed discussion on code should happen in GitHub, where you can do long-form communication and code highlighting. But ambient, informal chat about a design idea you’ve just had or a blog post on a development process you might implement should go in the public chat where other stakeholders have an opportunity to chip in.

    “The medium is the message.” The tool or platform you use determines the kind of conversation that happens. And being intentional about what sort of communication happens, and where, can keep your team close even if you’re scattered all over the world, whether you are using an .au or .com domain name.

    5. Better code reviews

    Whether you’re doing code reviews over GitHub or VoIP systems, there are lots of ways you can use better communication to collaborate more effectively.

    • Welcome reviews as early as you feel is reasonable. It is far more challenging and discouraging to discuss and fix changes if a reviewer submits fifty points of criticism all at once. It is much easier to resolve issues if reviewers are given smaller portions of code to examine.
    • To prepare for the reviewer’s comments, provide some documentation and comments on your own PRs to clarify any areas that might look peculiar. The review will be much easier for the reviewer if they know why you did what you did. Make sure to add unambiguous ticket/bug IDs so the reviewer can see why the work was carried out. To make the reviewers more aware of particular restrictions and your general ideas, add TODOs to highlight areas that might not be ready for a full critique yet. This is also a chance to ask for advice or an outside opinion if you’re stuck on something. 

    6. Improving remote work

    As more software is built by and for remote software teams, it’ll get easier to collaborate effectively no matter where your colleagues are in the world.

    Though remote work has brought its own challenges to collaboration, McKinsey heard from 80% of employees surveyed that they would have better relationships with more frequent team communication. According to their findings, 84% of respondents said that challenges at work had dragged on for days, where they might have been hashed out in an afternoon in-person.

    Good dev team communication is needed because it is crucial for teams to overcome these challenges. The skills that help in-person – active listening, open-ended questions, good reviews and testing – carry over well into remote environments.

    Woman in front of a laptop. She appears to be having a meeting in progress as she's waving to the screen and using headphones. The dev team has good communication.

    Working more effectively with good dev team communication

    Collaboration is impossible without good communication skills. Putting these tips into practice will help your dev team use its time efficiently and improve communication in a way that benefits the whole team. Focus on actively listening and providing any necessary information others on your team might need. You’ll notice the difference almost immediately!

    Hybrid and remote working has helped many find a good work-life balance. Communication can help us maintain productivity wherever we are. Soft skills require work, but if you invest in them, you’ll reap the rewards for years to come.

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    Avatar for Jenna Bunnell
    Writen by:
    Jenna Bunnell is the Senior Manager for Content Marketing at Dialpad, an AI-incorporated cloud-hosted unified communications system and computer softphone app that provides valuable call details for business owners and sales representatives. She is driven and passionate about communicating a brand’s design sensibility and visualizing how content can be presented in creative and comprehensive ways. Jenna has also written for other domains such as WebSitePulse and Freelance Writing Gigs.
    Avatar for Jenna Bunnell
    Reviewed by:
    I picked up most of my soft/hardware troubleshooting skills in the US Army. A decade of Java development drove me to operations, scaling infrastructure to cope with the thundering herd. Engineering coach and CTO of Teleclinic.