How can remote software development teams operate as though they are based in one office when they are often located in different countries? Geographical distribution doesn’t have to be an issue – in fact, it can be an asset. Increasingly UK organisations are choosing to open development centres abroad in order to tap into the skills available but must keep their teams efficient, collaborative and scalable across any geographical divides. This requires the deployment of a number of tools of the trade. We spoke to our developers and here we highlight the top five tips!
1. SCRUM Methodology
The SCRUM software development approach can be used regardless of where each of the team players is physically based. It provides an overall general picture of where the team is at any given time and there is often a shared Jira backlog between an in-house team and a nearshored partner/offshore development centre. What SCRUM delivers is the ability to develop and deliver small pieces of a ‘product’ every two weeks so that customers can see real progress across the team with new functions going live consistently.
2. Video Conferencing
Video conferencing provides the means by which remote software development teams can have daily ‘stand-ups’ where the teams speak face to face for 15 minutes every morning to discuss the development tasks the connected team is working on that day. Everything from catch up meetings to account reviews take place over the video conferencing facilities. Collaboration is easier when the team can see each other, can read each other’s body language and can talk face to face.
Meeting etiquette also changes as participants can see and be seen – the distance between them is removed instantly. There is no multi-tasking – such as checking emails as they may on an audio call. The result is superior levels of engagement and a very close working relationship where everyone is engaged in the task. Even in a digital world where we interact digitally most of the time, there is little substitute for face to face communications in many situations.
3. Live Demos
All teams are invited to join demo sessions to make sure that everybody is aware of what the rest of the team is doing. Demonstrating what the software can do at any point in time and being able to see that first hand gives an overview to the whole team of the status of the project at any given point in time.
4. Shared Source Control Systems
Systems such as GitLab provide a way for distributed teams to share source code – so that every member of the team is singing from the same source code sheet! GitLab is one of the most well-known systems among developers and is the first single application built from the ground up for all stages of the DevOps lifecycle for product, development, QA, security and operations teams to work concurrently on the same project – despite being distributed.
The benefits to a remote software development team are many – they are able to collaborate and work from a single conversation instead of managing multiple threads across disparate tools. There is one data store, one user interface and one permission model across the lifecycle delivering advanced collaboration and reducing cycle time so that versions of the software can be released much faster and more accurately.
5. Business Trips
The power of face to face contact can never be underestimated – and still plays a part in the overall strategy of distributed teams. However, we can split contact into two distinct areas – remote contact and direct, face-to-face contact. With business tools at our disposal to work together remotely, much of the remote contact is tactical to move the projects along. It delivers the ‘where we are at’ and ‘where we need to be at next’. Face to face contact brings about the more strategic tasks such as planning, decision making and the more strategic trouble-shooting if it’s required. Camaraderie and team building are much more prevalent in face-to-face contact too – and the benefits of that cannot and should never be underestimated.
If you’d like to know more about how Godel’s team models work, visit http://www.godeltech.com/our-services/