Let’s take a closer look at software development communication in distributed teams. The most successful software projects consist of one motivated developer. The reason being that there is no hand-off or communication issues. However, this is not practical due to the size and time constraints of most projects. The second best option would be to have the whole team in one location, making it easier to sit at your desk and quickly ask a question, or take a coffee break to discuss something.
Software Development Communication
Our projects have grown so complex due to technological advancements, that trying to build a team that is co-located can become a challenge. There are many reasons for this, including skills that are not always readily available, cost constraints, short term scaling requirements and many others. So, there is an increasing trend to work with geographically distributed resources and teams. Alternative means of communication then becomes crucial and finding ways to facilitate and improving communication is a big factor in assuring success.
After lots of experimentation and evaluation we decided to use Slack to facilitate and consolidate all our communications. It became the glue of our projects, tying together all the different tools and information needed for running a successful project. Due to its ease of use and intuitive interface we found no resistance to adoption of the new tool.
Software developers are not known for their communicative abilities, so having an easy to use non-invasive chat tool has made a big difference. They don’t feel bad to message another developer or a product owner because there is no expectation for an immediate response. This solves the problem of context switching which can be one of the biggest enemies of productivity.
Slack allows you to chat to individuals, groups, or everyone in a project. There is a record of all communication which can be used as a searchable knowledge base. Finding relevant information in most organisations can be a frustrating endeavour, so having a central location for all communication and references to documentation reduces the need for excessive low value communication.
In every project there will be times when face-to-face communication is needed. Daily stand ups, planning, reviews, which become tricky when you have some people onsite and others remote or in different locations. By using Slack’s video conferencing capabilities, we get everyone to dial in from their own computers. Everybody can hear and see each other clearly, which is not always the case when you have half the team in a meeting room while others dial in from somewhere else.
Collaborative Problem Solving
One of the best ways of solving problems collaboratively is to get together around a whiteboard which allows everyone to express their ideas more clearly. You can achieve this with Slack third-party apps, which allows everyone to dial in, collaboratively sketch out their ideas and solutions, and then have it automatically saved after the session. It becomes part of the knowledge base and can be referenced from other documents, like business requirements specifications. It gets even easier when you start using a stylus pen or drawing pad.
Slack has had a significant impact on the success of our projects, but tools alone can’t always solve problems. It is important for everybody on the team to buy into the benefits of a tool, or approach for it to be successful. In our case, we work with software development suppliers and clients all over the world and need to make sure all the parties buy into the approach. It makes it even more difficult when each party already has an entrenched way of doing things. Luckily Slack compliments existing systems and tools, and we generally don’t find too much push back to using it.
Software development communication is sometimes considered a soft issue, but not so soft in it’s impact. So, to improve your chances of success, make sure to remove any obstacles hindering seamless team interaction.
By Leon Coetzer, Co-Founder getDeveloper
Leon has more than 20 years in the software development industry, successfully delivering both enterprise and greenfield software projects. Responsible for strategy and operations, Leon brings a unique blend of technical and business knowledge to getDeveloper. You can connect with him on LinkedIn.