Author: Şahap DAYIBAŞ, Technical Team Leader – Embedded Systems
The core principles in the Agile Manifesto were originally considered for co-located teams and this was thought to be the most efficient method of spreading information via face-to-face communication to get work done. However, most of the companies and projects today have several distributed agile teams and this topic started to be a norm rather than a trend since the business world does not always enable setting up co-located teams for several reasons.
On the other hand, companies also do not want to miss the advantage of agility because of being in geographically different locations. The main advantages of having remote teams are that companies can have more access to global markets and resources, skills and talents without considering location restriction.
At this point, it is obvious that the benefits of distributed agile teams are not without trade-offs and this is a critical and challenging process that needs to be addressed carefully in order to adapt the agile principles.
Team structures, building trust and harmony, collaborating among different development cultures, time zone and cultural differences can be considered as the most important challenges that arise for distributed agile teams, but these topics can be addressed and managed effectively via putting the work in by all the individuals. Let’s start posting with how we should structure distributed agile teams in order to mitigate potential issues.
How to structure distributed agile teams?
In order to achieve success with distributed teams; the qualified employees having high motivation and required skill set with an agile mindset should be recruited as the first step. In the case of lack of knowledge; companies should enforce agile practices and educate the team members about the necessary skills. It is also important that the team members should be encouraged to be open to communication, be transparent and accountable in order to work with harmony and achieve success.
Distributed teams should be built up like a well-structured software. This means that remote teams should be self-sufficient enough in order to develop a part of a project which minimizes collaboration dependency between teams.
Teams can communicate via either video conferencing or messaging in case of dependency situation and agree on integration points. Scaled scrum approaches such as Nexus or SAFe can help remote teams to simplify collaboration by preventing possible conflicts and focusing on integrated product increment.
The reality of today’s business world often requires working in such distributed team environments which bring many challenging issues. These are not unsolvable issues but need attention of all contributors to get positive results. We will focus on other issues together with addressing possible preventive actions in upcoming blog posts.