Integrating Agile Practices With a Global Delivery Model PDF Print E-mail
User Rating: / 16
PoorBest 
Written by Madu Ratnayake and Valarmathy Rangasamy   
Sunday, 05 October 2008
october-08-deliverybigAgile development is getting increased attention from IT professionals all over the world. Agile practices help to overcome many of the challenges in traditional approaches with its emphasis on lightweight processes, flexibility to deal with changing business priorities, short delivery cycles, higher team collaboration, and a host of other benefits. Agile offers a fresh approach to businesses seeking greater agility in their software projects.
 
At the same time, global delivery with offshoring has become a very cost effective approach for many companies to develop software. Enterprises today seek to derive the dual benefit of cost effectiveness of offshoring and high responsiveness of Agile practices at the same time. This requires the offshore services companies to revisit their development approach and integrate some of the Agile approaches to be competitive.

However, while Agile practices deliver significant advantages when applied in the right context, they also add significant risks and challenges when the practices are applied in the wrong context. According to a Gartner's research[1], applying Agile to unsuitable projects has been one of the key reasons for Agile project failures!

So, the key question is, will Agile work in a global delivery model? In this article we share our experience in implementing Agile in a global delivery context for a wide range of engagements.

If the question is "can Agile be applied in an offshore model", the answer is a definite YES! Agile is a concept bound by set of values and principles (Agile Manifesto). Provided you have a suitable environment, Agile practices can be applied irrespective of the location constraints. Offshore is no exception to this.

Integration of best practices requires a business-driven approach including multiple stakeholders.

We adopted a three step approach:
1. Identifying Agile practices that are aligned to business priorities.

2. Analyzing the business context of our organization.

3. Identifying challenges based on the business context and customizing Agile practices to address those challenges.

Identifying Agile practices that are aligned to business priorities
Identifying the engineering and business challenges and building a common agreement among the key stakeholders will assist in prioritizing which Agile practices would result in the highest benefits to the organization. For example, if there are challenges around product integration and quality, daily build and automated testing practices will result in better benefits compared to practices around requirements management.

Once the business priorities are defined, choose the Agile practices that are aligned to the priorities. Select few key practices to rollout in phases.

Analyzing business context of our organization
Most of the Agile methodologies like Scrum, XP etc. were born in a context of co-located teams with high degree of business availability, predominantly comprising of internal teams (not contractors), highly experienced and competent domain experts. In direct contrast, the context for a global delivery model has distributed teams with limited business availability and predominantly comprising of contractors.

We analyzed the context differences and derived a best-of-breed methodology instead of adopting an existing methodology or practices as-is. Let's look at each of the context differences and the probable solution for overcoming those. A base framework was defined based on the possible solutions taking corresponding assumptions into consideration.

Distributed vs. co-located teams
The team distribution can have a significant influence on the methodology used for the development. Not having co-located development and business teams is a challenge for any development methodology, but it is crucial for Agile since Agile practices focus more on people than process.

Distributed teams have a direct impact on the communication and collaboration. Practices like daily stand-up, release planning, iteration planning need special adaptation when used in the global delivery context. For example, for daily stand-ups, the teams can have a single stand-up over teleconference at a time that is convenient for all. If there are larger teams distributed, the scope can be logically split for the teams to work independently and a representative from each location can have a daily sync-up (scrum of scrums).

Limited business availability vs. high business availability
Availability of business stakeholders or the product owner as part of the engineering team is one other key assumption in Agile. In an offshore context, this is not possible even if the business is ready to be available 100% primarily due to the time zone differences. Also it becomes difficult for enterprises to dedicate 100% of Business time for a single project. This would mean requirement elaboration cannot be done as and when required and requirement clarifications would require some lead time.

One possible solution is to have a dedicated Business Analyst (BA) located at the client's site playing the role of a client-proxy. The BA will be in regular sync up with the business and act as the client for the development team. This person can also work in a different shift to have more time overlap with the development teams.

Also the requirement elaboration for a particular sprint can be done ahead of the sprint by the BA with inputs from Business. The more clarity of the requirement before the sprint begins, the more effective and productive the team can be.

Since the BA might need some lead time to clarify and confirm certain issues with the business, task allocation are done in such a way that each team member has at least 2-3 features to work on. While they wait on one, they can work on others.

Client and contracts-driven vs. associates and trust-driven[2]
Most of the offshore based projects are contract driven since it is usually executed with external vendors. This results in having equal emphasis on contract negotiation as much as customer collaboration.  When contracts are signed for fixed-price fixed-scope development, some of the benefits of Agile cannot be reaped. Agile is most effective when the project run with a fixed price and a variable scope. Also since there could be a low level of trust by the clients of vendors, flexible planning may not be possible.

Probable solution for fixed-scope, fixed-price projects is to do traditional planning and execute the project using Agile practices and validate against the original plan. Actions can be taken for any deviations. Scope creep can be negotiated with the client to see if any scope of equal size can be removed from the original scope.

Skills pyramid-based team vs. all-experienced, competent team members
Offshore teams are usually structured based on teams comprising of varied range of experience and skills with a defined hierarchy. This has an impact on the assumption that team members can work independently and be responsible for their deliverable. The teams cannot anticipate and work due to their level of experience. The teams are usually structured in a hierarchical fashion with 3 - 6 developers reporting to a lead. Every feature is owned by one or a few developers along with the lead. Typically, the leads spend most of their time guiding the developers and sometimes work on the critical features. So, in order to minimize the time spent with developers, the leads will have to ensure the requirements and design are detailed enough for the developers to work as independently as possible. The requirements will have to be very specific and detailed. Also the overhead of reviews cannot be exempted in an offshore scenario.

Probable solution is as mentioned earlier is to have the requirements elaborated in detail ahead of the sprint so that the team is very clear about the scope of work in a sprint. Also the architecture and high-level design with common components need to be developed upfront at the beginning of the project to eliminate ambiguities. Planning should take into consideration the overhead of reviews, independent testing etc. Also detailed progressive documentation of work to be done is necessary to provide the right guidance to the team. 

Domain generalists vs. deep domain experts
Typically the offshore development teams are domain generalists who learn just enough domain information required for the project.  This would prevent them from working based on anticipation. The client will have to do the due diligence and provide enough information upfront on the overall requirement. Also the requirements will have to be very specific and detailed with assumptions stated explicitly.

Probable solution is same as overcoming the earlier stated challenges like detailed requirements elaboration ahead of the sprint and progressive documentation for the work being done.

The above list is an indicative list of areas. Based on specific organization there may be other context concerns and differences that need to be addressed for successful adoption of Agile practices.

Define an Agile suitability assessment approach
The best of breed Agile approach defined after identifying and analyzing the context differences and arriving at a solution for each of the challenges posed will be a more suitable approach for a given environment than applying a methodology available as-is. 

Once a base Agile approach for the organization is developed, it is important to define a way to assess suitability of project context for Agile adoption. The suitability assessment approach is primarily required for assessing if a project satisfies the prerequisite assumptions made for the base Agile approach. The suitability assessment can be done for each of the business context dimensions identified. For example, level of business stakeholder availability, level of distribution of the team etc. A risk/benefit based ranking of each of the dimensions will help decide whether Agile practices would results in benefits or additional risks. 

Develop an Agile implementation strategy
Defining a structured Agile implementation approach plays a significant role in Agile success as much as identifying and defining the right Agile practices. We believe that Agile adoption success depends 60% having the right mindset and 40% on actual technicalities of Agile practices. For successful adoption, the organization must embrace an Agile mindset. For example, think of the vendor as a partner not a downstream contractor. It takes both parties to have a mature approach for Agile benefits to be realized.

Since Agile success depends on certain ground conditions and also requires the right mindset in people, a structured approach to Agile adoption along with suitability assessment is required to ensure success!

We follow a structured approach to Agile development in projects using our "Conceive - Transform - Optimize" model.  The following chart depicts our six-step methodology for Agile development, including how Agile Suitability Assessment fits into the approach:

mr1008-1

We help our clients Conceive the best use of Agile concepts by:
1. Leadership Alignment - Our approach embodies fundamentally different software development methods and also requires the right mindset. Agile means may things to many people, and requires standardization across all stakeholders. Executive understating of Agile concepts is the key for successful organization-wide adoption of Agile practices. This workshop helps in building a common understanding of Agile development among the management team

2. Suitability Assessment - The Agile Suitability Assessment framework is a systematic approach to understanding the "ground" conditions of a project, and to decide whether Agile development is the right approach to use. The tool assesses the risk associated with specific problems on the ground, and identifies ways to tailor Agile processes to address them. But, if the ground conditions are unfavorable, the use of Agile practices can harm both the players and the chances for a successful project. You cannot play ice hockey with bumpy ice! 
We help the teams Transform their development processes into Agile ones by:
3. Team training - To successfully adopt Agile practices in an engagement, all key stakeholders (users, developers and business sponsors) must have a sound understanding of Agile practices and principles. The Agile Workshop provides an in-depth understanding of Agile practices and principals to build common ground within an engagement team.

4. Process Tailoring - This is one of the most important steps. The base framework is tailored to the project needs based on the team's inputs and the risks identified by the suitability assessment. The team commits to the agreed process approach and agrees to refine it based on retrospective findings.
During project execution, we Optimize the Agile approach by:
5. Continuous Coaching - Providing continuous coaching, since practicing Agile techniques requires a major change in team member mindset. During the initial iterations of a new Agile project, teams typically face many challenges adjusting to the new way of working. The support of a hands-on coach is vital to smooth transition to an Agile approach, especially in a distributed team environment. We provide hands-on support and guidance for teams to quickly overcome hurdles and grow competence in Agile practices.

6. Implementation Review - A timely review of how the methodology and practices are helping the project is vital for the success of Agile adoption. We continuously evaluate and refine the approach based on project performance and feedback from the team and client.
Conclusion
While Agile practices deliver significant advantages in the right context, they also contribute to project failure when the practices are applied in the wrong context. Successful adoption of Agile practices depends on many factors. Large numbers of these factors are related to the ‘mind set' than specific process. We believe Agile adoption success depends 60% having the right supporting mindset and 40% on actual technicalities of Agile practices. Agile is a not a panacea for all challenges related to modern software delivery.

An organization which is looking to adopt Agile practices in a global delivery model must seriously consider a structured approach to define the Agile framework and adoption along with suitability assessment, which will assist in understanding risks and benefits of adopting Agile practices.


About the Authors
Madu Ratnayake heads Software Engineering Process Quality for Virtusa worldwide, and Virtusa's Advance Technology Center in Colombo, Sri Lanka. Madu has over 14 years of experience in global IT service delivery, quality processes and operations management. He has been a member of Virtusa's management team from its inception.

Madu holds a Bachelors Degree in Software Engineering from City University, London, and a Masters in Business Administration from the Post Graduate Institute of Management in Sri Lanka. While at City University he received the Addison-Wesley Prize in Computer Science in 1996, the Scott Prize in 1993 and the 1992 Robert Kitchin Award for performance. He is also a gold medalist in Management Research from the Post Graduate Institute of Management, Sri Lanka.

Valarmathy Rangasamy is the Lead Agile Champion for Virtusa, and leads the Virtusa Agile practice globally. She has over 11 years experience in the software development industry as a software engineer, analyst and project manager with a broad range of assignments for leading global clients.

Valar has a passion for Agile practices, and her interest lies in consulting for global engagement teams in leveraging Agile practices to improve quality, productivity and collaboration in distributed development settings. She holds a Bachelors Degree in Engineering from Madras University, India. She is a Certified Scrum Master and a Certified Project Management Professional (PMP).


[1] Agile Success Factors, Gartner Research, May 2007

[2] When associates/employees build the software, the level of trust business has of them them is very high when compared to the same of contractors.

Comments (4)add feed
Balaji OS: ...
Hi All
Thanks for the comments.
1.I appreciate the experiences shared on managing sprints.
2.Though it is understood that trainings are common for the organization to take up , the point I tried to convey was the level of importance to these skills are higher in agile compared to the other regukar way of execution. As in agile meetings, everyone is a active contributor rather a passive participant !

Thanks again..

-Balaji OS
http://osbalaji.blogspot.com
1

October 23, 2008
Peeyush: ...
Hi Balaji,
I totally agree with Valar and Madu response for the 1st point, I am a BA who is operating in Agile model, working in Agile model is bit different from working in traditional Waterfall model for a BA.
At any point of time I am interacting with my offshore development team for the ongoing sprint simultaneously I need to interact with the client to gather requirements for next sprint, so normally all requirements for a sprint are freezed before the offshore development team start to work on them.
2

October 23, 2008
Valar and Madu: ...
Hi Balaji,

Thanks a lot for your feedback. Given below are our thoughts to your question:

1. Usually in agile projects, the requirements are elaborated in detail on the start of the sprint. The sponsor or the product owner can change the requirement until the sprint starts. This would be very tough to implement in an offshore model. Hence we have introduced an approach of freezing the requirements ahead of one Sprint. We call this ‘sprint ahead’. The requirements are always done one sprint ahead. When the sprints are sufficiently small, this doesn’t take away too much flexibility. Also an added advantage is that this drives some level of thinking on the requirements ahead. Traditionally, you will not start a projects until the requirements are baselined, in agile you assume requirements can be changed anytime. Sprint Ahead is a middle ground approach which bring in best practices of both traditional and agile together. A BA who acts as the client-proxy would be responsible not only to understand and articulate the requirements to the development team, but also to prioritize and decide the scope for each iteration. He/she is not just an onsite coordinator but a pseudo-owner of the project! Hope this answers your question.

2. I guess everything is being considered to be under Agile umbrella.. Training on soft skills like communication, leadership, presentations etc.. are integral part of any organization. This is not specific to agile. Also it is a known fact that just training can never help an individual improve their soft skills. What really helps is when they practice. Agile would help teams to practice their soft skills since most of the agile practices are people oriented and communication intensive!
3

October 21, 2008
Balaji OS: ...
Dear Madu/Valarmathy
Its a well written article that articulates the pros and cons of agile in an offshore scenario.
1.While I appreciate the need for proper mindset and effective implmentation ,few points highlighted by you like : having a onsite BA to replace Product Owner ,clear requirements before every sprint are some common practices that are expected for any delivery approach.
What special flavour does agile bring in this context ?

2.Generally based on culture and organization climate , when Project Managers enjoy exercising control and authority ,would like to know how well the self organizing teams would work.Is not competency of resources a significant portion to roll out agile.Yout training and coaching more talks about training on agile techniques not on key skills like communication,leadership etc.Your framework looks bit passive on that aspect.

Would appreciate your feedback.

-Balaji OS
http://osbalaji.blogspot.com
4

October 09, 2008
Write comment


Write the displayed characters


busy
Tags:
Click to add your tags...,
 
< Prev   Next >






Lost Password?
No account yet? Register

Video News

 
Copyright © 2006 - 2008 CMC Media, Inc. All rights reserved. All marks are trademarks of CMC Media Reproduction in whole or in part in any form or medium without the express written permission of CMC Media, Inc. is prohibited  
 
 CM Yellow Pages | ALM Expo | CM Today | Configuration Management Journal | CM Crossroads