World is becoming a global village especially in form of communication and the dissemination of information. In context of current economic turmoil and lack of enough trained software professionals locally, distributed Agile is becoming a norm for software project execution.
Earlier, most of the times, entire distributed software project used to be executed completely at offshore because of time-zone differences and communication issues. Now because of communication revolution, you see a new trend where software companies like to extend their teams (augmented Agile teams) with different vendors. Recently while working in such a project from a distributed location, we realized the need of local retrospective.
As part of retrospective (Scrum practice), at the end of a sprint (iteration), entire team sit together and discusses the good points and points of improvement. At the end of it, entire team converges to vote on the most important “points of improvements” which could be implemented in the next sprint.
During one of such retrospectives we realized that sometimes, some points of improvements are local in nature. For instance, team in US may feel strongly about some issues for which Indian team may not feel with the same intensity and vice-versa.
It leads to situations where issues are lost somewhere because of lack of consensus between distributed teams. Sometimes there can be cases in which because of some political and management reasons, the local (vendor) team may not want to discuss some local issues with other part (customer) of team.
In such cases, there used to be some informal discussions on problems within the team but most of the times without any solutions (action points) and action owners. Also those discussions used to be one-on-one discussions but not with entire local team. Not taken seriously, it created even bigger problems for the team in long run.
Finally we realized that we need a formal forum in which entire team sits together, discusses local points of improvements, identify action items and action-owner. Also it’s important to identify somebody on alternate basis to track the actions taken.
As part of the Agile philosophy of keeping information radiator always visible, these retrospective action items should also be visible on Scrum board.
We realized that having local retrospective helped the team a lot as we could focus on many local points of improvements like “how to gain domain knowledge quickly, how to improve on pair switching etc” which otherwise wouldn’t have been possible and could have lost somewhere.