Implementing agile with distributed teams
Tags: agile offshore, customer concerns, distributed agile, outsourced agile
Agile works well with small and co-located teams. Does this mean that agile cannot be used for larger enterprises that requires scaling, and in outsourcing engagements? It certainly isn’t the case as distributed teams are deriving value from agile development. Practicing agile in distributed environment is more complex than practicing agile in co-located teams, and it requires a lot of efforts to make this work.
In our experience, when we started making modifications in agile to make it work in distributed environment, we realized that it did offer a lot of benefits. In fact, we have used agile methods even in our professional services engagements with our customers, and it worked famously well. Let me explain the subtle changes that we made to the process and the inherent benefits of this change.
We moved agile artifacts like post-it notes, and whiteboards into a collaborative environment; we supplemented face-to-face scrum meetings with IMs, VoIP, and videoconferencing; we maintained all the burn-down charts in wikis; we were an extension of our customer’s internal team and were a part of their scrum meetings – we also had a scrum master internally in our team to make this work better.
Lack of visibility on project status, delay in feedback cycle, loss of business and technical contexts, higher documentation overhead are some of the concerns that our customers normally express, which we have been addressing through various means. We knew agile would remove all these concerns due to its short iterations, frequent team meetings, continuous test and integration cycles, and test driven development.
Once we made changes to agile to make it work in distributed environment, most of these customer concerns just vanished.