At the heart of all successful software development projects is good, streamlined communication. It's almost a truism to say that good communication is key to business success – but such things are cliche for a reason. When a team doesn't have sufficient communication pathways in place, problems are almost bound to occur. In the world of development especially, when there are many individuals – and a number of separate teams – all working on different aspects of an application, the regular reporting and conveyance of information to one another is absolutely critical.
Teams will encounter problems, bugs, delays – all of this is inevitable. But, when one team relies on another, when the progress of one aspect or iteration relies on the completion of another in a separate team's hands, being absolutely crystal clear as to what's happening at all ends of the spectrum is imperative to prevent disasters from happening. If we now throw in the complication of these separate teams all working in distant locations, perhaps even in completely different time zones, we can see how a defined, regular and reliable communication process is vital.
Outsourcing remote teams
It's practically an inevitability that a company will at some point be hiring in a remote team to work on a business project. Whether it's a brand new app for the company, or a whole bespoke-built software suite to improve productivity, there will come a time when the company will be considering the possibilities of outsourcing a remote team.
This is of course a wise decision. Offshoring development to a location like Russia will save you thousands – but it's natural to have concerns about how workflows will be managed and how adequate communication will be accomplished.
Here at EDISON Software Development Centre, we've been providing remote team working for many years, and in that time have learnt exactly what it takes to keep communications streamlined between teams and our end clients to ensure all individuals are kept 100% in the loop about all aspects of the project. From daily updates to weekly calls and a plethora of productivity and team management apps, here's how we streamline communication between development teams and clients all around the world.
How to streamline communication between remote teams
|01||The project manager (PM)||In the first instance, it's essential that each remote team be assigned a PM who will be responsible for ensuring that each team is kept in the loop as to what's happening, when and where, and also that the client knows who he/she will be in primary contact with as the development progresses.|
|02||Daily updates||Daily updates are essential for communication management. At the end of each day, the PM should be putting together a report that details the project's progress and send it on to other remote teams and the client. It's a simple process, but essential to keep everyone up to date. What is more, the update when sent in the evening will give everyone a chance to review and ask any questions before work commences once more the following day.|
|03||Weekly calls||Although asynchronous communication is sometimes necessary – especially when teams and the client are working in different time zones – it's just as important to ensure that real-time communication opportunities are organised regularly. Weekly calls are one simple but essential solution. The PM will make time once a week to talk on the phone or on Skype to the client and other remote team PMs to ensure that work is going smoothly and everyone is on the same page. Following the call, the PM will write a summary of what was discussed and pass it on to other team members.|
Slack has got to be one of the most valuable communication tools for development teams. Here is an app that really does have it all – and it's so much more than just an instant messenger (IM).
One of Slack's strongest and most attractive features is the enormous catalogue of integrations that it supports. From GitHub to Jira to Trello to Google Drive, no matter what other productivity apps are utilised, Slack forms the hub where they can all be managed from one single powerful communication dashboard.
Slack allows developers to set reminders (for themselves and for others), to format content as code, set advanced notifications (such as Highlighted Words, where a notification will be sent to the user as soon as other team members start discussing certain topics), and a whole lot more. If a topic needs to be discussed with just a few team members, then it's as simple as setting up a new Slack channel connected to a specific task. Members can share files, send videos, screencasts, images, rich links. In short, it doesn't matter how far apart development teams are geographically, with Slack it's like everyone's in the same room.
Project management platforms are ten-a-penny. But, for a simple, clean, visual-based platform with one of the best user interfaces (UIs) that you could hope for, then Trello has to be one of the top applications out there.
Trello's beauty lies in its simplicity. Teams all have access to boards. On these boards are lists, and on these lists are cards. Each card contains a task, which is filled with notes, team chats, attachments and links. As one team member completes their part of the task, they then move the card onto the next list, which is assigned to another team member. The card can then move along the production chain of lists, being passed from one remote team member to another, until completion.
What's so great about Trello is that each project board is viewable and accessible to all team members, so everyone can track the process of everyone else. It really is a dream come true for remote team project management, and it integrates with Slack, and is available on the web and mobile to boot.
Spreadsheets, documents, to-do lists and calendars. The great thing with the Google Apps suite is that it's designed for collaboration. Document creators can invite other remote team members to view and edit everything that's created, ensuring that all are absolutely aware of what is being proposed and what's happening.
iDoneThis is a simple but brilliant tool for keeping track of what all team members are doing and their individual progress.
At the end of each working day, each team member is automatically sent an email asking them what they have achieved. Team members then just take a few minutes outlining their reply, send it off, and the following morning, everyone has a summary of all team members' progress right in their inbox. The client can even be included in this chain, too.
Relying solely on emails is a sure fire way to lose information. When teams are working in distant locations and just sending a whole bunch of emails every day, all containing a ridiculous amount of links and attachments, key information is inevitably lost beneath the barrage.
Cloud storage and file sharing is the solution. As highlighted above, Slack, Trello and Google Drive are great tools for overcoming this problem. Provided that the PM takes time to manage all the files effectively, nothing should be lost. Slack has great search functionality, as does Trello and of course Google Drive. In addition, an application like Dropbox is very useful – not least because the client will be familiar with it and how it works.
With appropriate access granted to all concerned remote team members, all of these tools make the process of working with people situated all over the globe seamless and effortless, and, with daily updates and weekly calls on the agenda, there really is no problem when it comes to remote team working.