Is Co-located team the right one for my software development project or a Remotely working team? The short answer is, there is no “ideal” working model. It depends on your project requirements and the maturity of the team members.
There was a time, when remote software teams were virtually non-existent. Software development was in a phased manner and the output of one phase was the input to the next phase. This step-wise working involved a lot of dependency among the teams. Also, the technology and tools were also not mature enough to support remote teams. This more or less mandated co-located teams as the efficiency and productivity of the teams were dependent on the physical proximity between the team members.
However, modern software development methodologies and the available technologies allow teams to work remotely with little impact on productivity or the quality of work.
Let us examine some of the Pros and Cons of each model.
Co-located Software Teams:
- Project Management is easier
- Software development is more than just coding and the technical aspects. It involves inter-personal issues, resolving conflicts and so on which is much better handled in co-located teams. Going out for lunches or having a drink to celebrate a successful release creates a camaraderie that promotes mutual trust and respect between team members which in turn improves the productivity of the team.
- Less Communication Issues
- With co-located teams one can walk up to one’s colleague or pull them into a meeting room and brainstorm ideas or clarify the doubts. This is particularly relevant during the initial stages of the project when the scope and design discussions are held. White-boarding and spontaneous coffee table discussions are crucial in ironing out the differences in understanding during this phase of the project. It’s quite common for teams to have many ad hoc sessions throughout the day that lead to new ideas. The teams are able to arrive at decisions faster than communicating virtually or waiting for mails from their other team member located on the other side of the globe.
- Lower Operational Costs
- Costs incurred due to installation of high-speed telephone lines, video conferencing devices and other infrastructure that are required for remote teams can be avoided in co-located teams.
- Reduced Access to Talent
- The biggest disadvantage of co-located software development teams is that one might not always be able to on-board the best person for the job. You can at best hire the best person available at your location or the one who is willing to relocate. As people get more experienced and consequently more valuable, they are not willing to accept the challenges of relocation, long commutes to work or reduced flexibility in handling personal things like picking up the kids from school etc. These talents might not be available to teams that insist on co-located working.
Remote Software Teams:
As Martin Flower says in this article “Remoteness varies by degree. It’s often been observed that just splitting a team across two floors of the same building is enough to break the feel of co-location. Adding more distance and time-zones increases that remoteness, but many argue that the biggest difference occurs when you’re no longer a short walk away from your collaborators. The key point is the point where you find it easier to send an email than walk over to talk.”
- Access to Talent
- High quality software engineers are difficult to find and retain, so limiting the talent pool to one geographic area can be restrictive. With the flexibility of remote working, one can hire the person best suited for the job without having to worry about their location or commute constraints.
- Increased Coverage
- In teams that span the time zones, there could be different teams working on the same project 24*7, so when one team sleeps there can be another one who would start work where the former had left. This shortens the software development time and improve response times to meet the demands of both global and local markets.
- Lack of Trust
- Absence of non-verbal cues, which is so intrinsic in face-to-face interactions, can pose communication challenges among team members. This is particularly true for teams that are culturally different. For example, while an American would write a no-nonsense email describing a bad situation, this would be perceived as impolite by a Japanese team member. Such situations can lead to can lead to “me” versus “them” mindset and potential conflicts/mistrust which can derail the project.
- In cases where the team members work from home, the organization might have little control over proprietary information that would be in the team’s possession. How securely they handle the data or documents (leaving print-outs inadvertently on the printer), whether they ensure that they are not heard by others while discussing sensitive project matters etc can be a cause of concern for some organizations.
Regardless of their disadvantages, remote teams are here to stay. There is no disputing that fact. Organizations that overcome the drawbacks through technology, trainings, greater role clarity and effective communication strategies stand to gain.