October 17, 2018
Software and application development is a team effort that involves multiple iterations and frequent deadlines. Whether you follow an agile, waterfall, or any other development methodology, seamless communication among all stakeholders is key to completing a successful build.
Communicating within in-house teams that share the same language and culture is already challenging. Add distributed remote software engineers into the mix, and it can become even more complicated.
When development projects get delayed, change scope, or go over budget, one of the key contributing factors to project failure is poor communication.
This is evidenced in the Project Management Institute’s 2017 Pulse of the Profession report. According to the findings, 19% of project management professionals surveyed stated that poor communication was a significant factor that directly contributed to failure.
At CodeFirst, we are highly experienced in managing product development teams and here’s what we’ve learned about tackling the team communication problem.
Embrace Open Channels of Communication
Throughout this whole process (planning, development, and deployment), it’s imperative to embrace open channels of communication. All parties should also strive to work closely together to ensure that ideas and requirements are clearly communicated.
It’s essential to create an environment where all team members can speak freely with each other while working on the same project without the fear of reprisal. When problems occur (and they will), encourage your developers to speak up so that it can be resolved sooner rather than later.
It’s also important to provide channels for feedback and ideas. Keeping open channels for your team to give their input and ideas will lead to not only better software and mobile apps, but also a healthy work environment.
Feedback channels can take the form of forums, whiteboards, or designated business chat software. When you fail to do this, you risk missing out on brilliant ideas and helpful criticism that can help not only the team but the company as a whole.
Leverage Communication and Collaboration Technologies
Whether you’re working with an on-premise, distributed, or hybrid development team, leverage technologies that make communication and collaboration simple and straightforward. However, it’s important to limit the number of communication tools as it can quickly get confusing and counterproductive.
For example, if you allow the team to choose their communication tools based on individual preferences, important messages can quickly get lost in the mix. The best approach here is to research and identify the right tools (these are typically the ones that easily integrate and compliment other project management and collaboration tools) and leverage them to fill in the gaps.
Leading communication and collaboration tools are as follows:
Meet Often and Build Rapport
Throughout the software development cycle, it’s imperative to meet weekly to help build rapport among team members (and to stay on task). If you’re working with a distributed team of developers, make an effort to engage in weekly virtual meetings.
Building rapport helps improve communication and helps the team develop a sense of ownership and commitment to the project. It can also help boost employee morale. However, this will take time as people won’t feel comfortable with each other overnight.
If there are some interpersonal gaps, the product manager should address it before it becomes a problem. However, it’s important that the tech lead knows how to influence without authority.
Meetings should also be introspective and retrospective. During these intro-retrospective meetings, the team should concentrate on everything that went right and (more importantly) what went wrong. Rather than creating a hostile situation, this should be approached as an opportunity to be productive rather than a time to assign blame (for what went wrong).
Encourage Cross-Departmental Communication and Collaboration
To enhance internal communication and collaboration, you’ll have to encourage your employees to learn from one another. To achieve this, you’ll have to arrange some cross-departmental activities.
These activities can take the form of cross-departmental training workshops, Q&A sessions, and special meetings to collaborate and share insights.
This approach can help your development team come up with different communication strategies when communicating ideas with non-technical people within the organization. Furthermore, it can also help eliminate social silos that pop up within companies.
Share Performance Data Often
One way to boost performance is to quantify and share data whenever possible. If you can do this visually, that’ll be even better.
Metrics will help the team understand their past and present performance, current performance trends, product development team goals, and the progress made toward those goals. This information can be communicated through digital signage within the department or within the tools used to manage the project and workflow.
Encourage Questions and Mistakes
It makes perfect sense to encourage your team to ask questions, but mistakes? Yes, it’s vital to encourage mistakes because some developers on your team may not be familiar with your project management methodology or maybe not have experience with the development tools used by your organization.
When mistakes are encouraged and openly discussed, it will help individuals learn faster, become better, and grow with every iteration. The way the team handles these mistakes will also help them bond and trust each other more.
If you’re following the agile approach to application development, you’ll find that a lot of small errors can be fixed within minutes. When people are afraid of making mistakes and hide them, these little mistakes can turn into a nightmare that delays the product release by weeks or even months.
Getting back to encouraging questions, whenever someone asks a question, it shouldn’t be dismissed. Furthermore, no one should be made to feel small or inadequate for asking a question.
Asking questions is healthy and can lead to clarifications and process improvements. Whenever there isn’t an answer, the whole team should jump right in and find one.
Improving communication among product development teams will be an ongoing process that will evolve and change during the development cycle.
The tactics that you employ to enhance communication in one team may not work in another. As a result, it’s important to consider the dynamics of the project, the business, and the individuals involved.
Graham is the founder & MD of UK software development company CodeFirst.