In today’s global village, it is common to have teams spread across geographies. When this happens, it’s a real test of skills for the management team to make sure that the distributed model works. It’s even a bigger challenge when Agile is the execution methodology because agile demands high degree of collaboration. I am sharing my experiences how I managed Agile deliveries when multiple teams were sitting miles away yet have common goal. Such an engagement should be managed at two levels. First, at process level where everybody must agree and adhere to certain disciplines. Second, at leadership level where top management must embrace this challenge and do certain things.
At Process and Agile discipline Level:
Frequent co-location of international team members – across teams and also between Product owner (PO) and teams – must allocate some budget at the beginning of the project to take care of travel expenses.
- Daily distributed stand up meeting.
Daily status mails sent to every member with this format what we did today, plan for tomorrow and impediments, the status can also be updated on shared platform e.g. wiki instead of mail – idea here is to record the status somewhere.
- Enforce distributed pair programming – when and with whom – this should be chosen carefully, here role of mature scrum master becomes really important: Distributed pair programming between developers across teams separated geographically Distributed pair programming across skills e.g. tester and
developer, developer and UI designer, tester and UI
- Mature tester – tester is the eyes of the product owner:
The tester(s) must take ownership of the entire product and not
the just the pieces being developed in the same sprint
It is highly recommended to have good developer to tester ration e.g. 2: 1
- All international team members must have shared vision, shared responsibility and collective ownership.
Take help of advance technology for distributed stuff e.g. technical discussions, pair programming, demo, planning etc. use screen sharing and have best quality of audio and video.
Enforce discipline – Agile meetings e.g. planning meeting, demo, retrospectives must be participated by every member unless there are serious and unavoidable reasons, and when someone misses any of these important meetings, someone in the team must update the absentee ASAP.
- Maintain electronic dashboard to track status anytime anywhere e.g. Jira with GreenHopper.
Product owner must be available to all teams across geographies, if he is too busy he should appoint proxy product owner but team must always get full support from this role of PO.
- Have scrum of scrums at regular frequency.
At Leadership Level:
Leadership must accept this as challenge, believe in this philosophy of global teams and committed for the success of this. In such a large and distributed set up, leadership plays a very important role for the success of this model, can’t leave up to the core scrum team only.
Must gather knowledge of cross culture and find ways to groom teams with each other’s sensitive quotient, emotional quotient, choice of words etc. to ensure absolute harmony.
Identify strengths and skills of each team, each member and allocate tasks accordingly, it needs due diligence, visionary outlook and experienced.
- Take away any hidden emotions such as: fear of job security
feeling of running away with all the credit
- Inculcate highest collaboration and team spirit:a. Total team work, one team feeling – individual heroism is second to none
b. Your problem is my problem too
c. Every team member brings certain competency, his skills are precious and his suggestions are valuable
d. It’s always about “WE” and never about you and I
e. Compassion and cooperation with fellow colleagues is the key to success
Agile and specially distributed agile cannot work with just raw developers – team must have a basic minimum level of maturity, professionalism and hence smartness.
Resolve dependencies quickly – leadership must develop an informal model to first discover dependencies (usually hidden) quickly and then resolve ASAP without impacting the sprint goals.
- Strong Emphasis on the following and must facilitate it: Less documentation, more communication
Less process, more trust and relations
Shared responsibility and collective ownership
Celebrating success together: It has been observed that when it comes to celebrations – teams does it locally within closed circle. It’s but natural for teams to go this way but Leadership must ensure the fruits of celebrations reach every corner of the global teams.
No complacency: This is an ongoing process that never stops. A slight laid back attitude here would impact the global collaboration adversely. Think it like an active volcano which can explode any time. Leadership must watch out this volcano and must keep it quiet. Although it is natural human behavior to camp with local colleagues but over the period of time, it may result into invisible ganging where team in one location starts dominating over others. It’s very dangerous for the interest of the project and defeats the purpose of having global international teams. Leadership must watch this carefully, guard against building up of local lobbies, act upon immediately on slight discovery of such notions and nip the evil in the bud. To address this, leaders should demonstrate artistic touch to have a healthy blend of soft skills (motivation, cultural incubation) and slight flavor of authority as and when needed.
- Set expectations right away: Define roadmap to success of the project in the beginning; set team objectives clearly and deduce individual performance criteria from these bigger goals. Now ‘the highest team collaboration’ must be in the appraisal feedback parameters of every team member and must have significant weight assigned to this parameter. This ensures that if anyone does not understand the language of collaboration (either intentionally or lack of awareness) – s/he must learn it quickly otherwise it will hit his appraisal thereby adversely impacting salary hike and promotion.