consistent and reliable data across teams. To do this, we suggest ... real time. To ensure that teams are able to work e
wipro.com
Making Distributed Agile Work: Staying True To Foundational Principles
B
uilding world class software is a major challenge. For practical reasons, development teams today are located in different parts of the world. This appears in direct conflict with the increasingly popular Agile methodology where one of the principles in the Agile Manifesto state that “The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.” Of the four values in the Agile Manifesto, two place strong emphasis on collaboration. The first is, "Individuals and interactions over processes and tools," and the second is, "Customer collaboration over contract negotiation." Agile is built on the foundation of collaboration and quick resolution of problems. So how can Agile work when teams are apart?
Development teams want to work in an environment where ideas and information can be shared easily, miscommunication can be minimized, questions can be answered instantly, and relationships between developers can thrive on a foundation of trust and respect. Everyone knows it helps to have the entire team under one roof – not only in the same city, but also in the same building, floor, wing and corner. However, that’s utopian. The economics of business and skill availability often don’t permit it. This is why distributed development – or the Global Delivery Model – has become so popular and is here to stay. Is there a framework that recognizes the reality of distributed development and yet adheres to the Agile philosophy?
1
Understanding Distributed Agile
The first step is to understand how the Scrum team is distributed. We have studied the three ways of standing up a Scrum team (see Figure 1: Distributed Agile – 3 Types of Centricity): Regardless of the type of “centricity”, our recommendation is to have the entire team work together for two to four sprints (usually
01 02 03
at the client location which is onshore), along with the Product Owner (PO), before returning to off shore or near shore locations. At Wipro, we looked at the team structures, identified the challenges associated with each, and have developed through experience, best practices that make Distributed Agile successful.
Onshore centric: The majority of the team is in one core onsite location along with the Scrum Master and Product Owner (PO), with 1 or 2 people at the remote location (usually offshore)
Nearshore centric: The entire team along with the Scrum Master is in a location within the same time zone as the PO, but not in the same office
Offshore centric: The majority of the team is in an offshore location along with the Scrum Master, with 1 or 2 people onshore with the PO
Figure 1: Distributed Agile – 3 Types of Centricity
2
Challenge 1: Lack of a one-team approach
The appeal of Scrum lies in the fact that problems are addressed as soon as they occur due to the team collaborating as one. Distributed Agile disrupts the collaborative environment required for this type of almost-instant problem solving. To ensure collaboration, the majority of the team should work from the same location. Any distribution should be limited to 2 locations and/or 2 time zones. The team also needs to identify hours of overlap (core hours) when all team members are available to each other. The team should hold all key ceremonies during this time and participation from all team members should be mandatory for planning, daily standups and retrospections. We have often seen distributed teams shift their work timings to enable a successful overlap.
Challenge 2: Unavailability of the Product Owner
The availability of the Product Owner (usually called the PO) is particularly important for Distributed Agile. Unfortunately, POs often have other charters to take care of and their unavailability can become an impediment. Making an overworked person a PO is not recommended. It is an even bigger challenge for distributed teams. Ideally, POs should be available to the teams during core hours to answer questions which the team might have. He/ she should also participate without fail
Team workshops, that help understand the cultural and communication aspects of collaboration, should be organized. Since the team misses out on visual cues available during in-person communication, understanding how different cultures communicate becomes key. For example, it is not uncommon for some team members to stay quiet despite having doubts. Finally, there must be persistence in teams. Change in the team can be detrimental to success. It is also important, in case of outsourcing, to create a team with members from one partner instead of numerous partners for development, testing, etc., to enhance collaboration within the team.
in the grooming sessions where stories, backlog and development details can be discussed/ refined. To build a greater trust amongst the team and the PO (apart from collocating in the initial part of the project), we recommend that the PO travel to the team location(s) on a periodic basis, to share information and stimulate progress. We recommend teams plan early for such travels, especially when budgets could be under pressure.
3
Challenge 3: Non-synchronized way of working
Challenge 4: Technology
When a project has multiple Scrum teams across different locations, it is easy for teams to fall into ways of working that don’t “match”. Although Agile is a light weight non-rigid process, it has clear rules. Adherence to the rules makes Distributed Agile effective. Some of these include establishing well-defined, documented and common processes for Scrum teams across locations to follow. Often organizations invest in Agile coaches to mentor teams across locations who should share information and insights between themselves before coaching their teams, to ensure a common way of working. A strong issues resolution process – especially when the PO is not in the same location as the majority of the team – is helpful in bringing about a
common way of working.
Technology plays an important role in the success of Distributed Agile. The right technology ensures smooth collaboration along with the availability of consistent and reliable data across teams. To do this, we suggest using Agile planning/ tracking tools (ALM tools) that ensure everyone works with a single version of the truth. The tool should be made available to all team members, whether near or remote. Collaboration and communication tools like webcams
video calls and instant messaging also help teams to communicate better, not only visually but also in real time.
Another approach is to create a common understanding between teams through definitions of “Done” and “Ready” for every story and backlog. Establishing a Wall of Reference also helps a team speak the common language When multiple Scrum teams work from a common product backlog across locations, we recommend using tools like Dependency Structure Matrix to enable effective Story Distribution and Story Sequencing and reduce dependencies between teams. For such teams effective vertical slicing of stories and backlog grooming sessions across locations ensure that each can work independently.
To ensure that teams are able to work efficiently, investment into high speed connectivity and bandwidth (150 MBPS/100 users) that allows teams to quickly and easily access data stored in different locations and have access to the same development environment is also key
4
Staying true to Agile principles
While we have touched upon some of the big challenges, there are, of course, other specific challenges that the teams can face. Following the principles of “Inspect and Adapt” helps teams to find a “Way of Working” that is appropriate for their context. Upfront planning to address these challenges goes a long way to hit the ground running and seed the right environment and behavior to succeed with Distributed Agile. The principles of Agile bind things together. In Distributed Agile too, every effort must be made to stay true to those foundational principles. Agile works because of a clearly defined and articulated vision, complete synchronization between developers, quick feedback and frequent communication between people without formal reporting method.
5
About the authors
Rituparna Ghosh General Manager, Head – Continuous Improvement With over 16 years of experience, Rituparna (Ritu) Ghosh, is a General Manager with Wipro. In her 15 years with Wipro, she has held multiple roles both internal and customer facing. She currently heads the Continuous Improvement initiatives in Wipro. As a part of this, she leads the Lean, Six Sigma and Agile transformation initiatives across the organization. Ritu has been responsible for the re-launch of Lean, Six Sigma and Agile. She designed and implemented a bottom-up strategy, based on continuous improvement to drive a cultural change within the organization and deliver measurable benefit to the projects. She and her team works closely with accounts to drive Agile transformation and works closely with various functions like CHRD, Training to drive the organizational change around Agile. Ritu is an MBA in Marketing and Strategy with graduation in Economics. She is a certified Black Belt in DMAIC and trained in Lean, CMM™, CMMI™, ITIL™ and Agile. Ritu previously held a business role in Wipro and was responsible for driving the Process consulting business with a team of 550+ consultants. She has several white papers in her name which have been published in industry bodies like SEI and ANQ.
About Wipro
© Wipro LTD 2016
Wipro Limited (NYSE: WIT, BSE: 507685, NSE: WIPRO) is a leading information technology, consulting and business process services company that delivers solutions to enable its clients do business better. Wipro delivers winning business outcomes through its deep industry experience and a 360 degree view of “Business through Technology.” By combining digital strategy, customer centric design, advanced analytics and product engineering approach, Wipro helps its clients create successful and adaptive businesses. A company recognized globally for its comprehensive portfolio of services, strong commitment to sustainability and good corporate citizenship, Wipro has a dedicated workforce of over 170,000, serving clients across 6 continents. For more information, please visit wipro.com or write to us at
[email protected]
IND/B&T/JAN-DEC2016
6
DO BUSINESS BETTER
CON S U LTIN G | SY STEM IN TEG RATION | BU S IN ES S P ROCES S SE RVICE S
WIPRO TECHNOLOGIES, DODDAKANNELLI, SARJAPUR ROAD, BANGALORE - 560 035, INDIA. TEL : +91 (80) 2844 0011, FAX : +91 (80) 2844 0256 © Wipro LTD 2016
IND/B&T/JAN-DEC2016
“No part of this booklet may be reproduced in any form by any electronic or mechanical means (including photocopying, recording and printing) without permission in writing from the publisher, except for reading and browsing via the world wide web. Users are not permitted to mount this booklet on any network server.”