offshore agile challenges
DESCRIPTION
Operating a delivery model of 90:10 (90% - offshore and 10% onsite) or 80:10 implementing the agile practices could be very challenging. The aim of this presentation would be to bring out challenges faced by offshore agile teams. The presentation will be complemented with couple of case studies.TRANSCRIPT
Offshore Agile
Challenges and Mitigation Strategies
Sowmya Karunakaran
Agile COE
HCL Technologies
Agile
Agile has crossed the Chasm
Expanding on Geoffrey Moore
Geoffrey Moore's classic suggests :
After the early adopters there tends to be a period of lull due to the
evaluation and adoption times for the mainstream.
In case of Agile,
Early adopters seemed to have sent signals to the mainstream and
they are now keen on applying Agile.
Example:
Microsoft, Yahoo
Challenges could be diverse
Source: 3rd Annual Agile Survey – Version One
Top 10 problems we faced
Project not suitable for agile
Project Tracking
Communication and Collaboration
Project Health unknown until delivery
Handling adhoc support items
Team entirely new to agile
User Story estimation
Handling risks
Sign off from Pos
Participating in scrum ceremonies
Problem #1 Project not suitable for Agile
Assesses based on
Business objectives
Project Classification
Technology /Domain
Technical Complexity
Stakeholder commitment
Communication & Infrastructure
Skills
Offshore Agile Assessment
0
50
100
150
200
250
Wo
rkit
em
Ho
urs
Sprint Days
Hours Burndown with Cumulative Flow
Pending
In Progress
Complete
Nu
mb
er
of
Wo
rk Ite
ms
Sprint Days
Workitem Cumulative Flow Pending
Use of Agile Tools
Problem #2: Project Tracking
Problem #2: Project Tracking
In house Agile Tool
Problems #3: Communication and Collaboration
Valu
e in t
eam
kno
wle
dge
sha
ring
Usage frequency
Travels
Video Conf.
Wiki
Phone
Mailing
list/forum
chat
• Travels ( rotation of members in onshore and offshore teams)
• Phone: atleast 3 calls per week
• Wiki: 1 topic modified per day
• Email: several times per day
• Through builds: every 2 hours or check in based
• Chat: continuously
Problem #4 Project Health unknown until delivery
Unit Test
Reports
Code
Coverag
e
Reports
Code
Style
Reports
Code
Metrics
Version
Control
Reports
The
Build
Log
The set of files
and revision
numbers
modified for this
build
Find
Bugs
Reports
Continuous Integration – Stable build at all times
Product Backlog
Problem #5 Handling Adhoc Support items
No support items Support request
Pick items from
Items planned for
current sprint
Product Backlog
Pick items from
Items planned for
current sprint Address support
issue
ScrumTeam Scrum Team
Problem #6 Team entirely new to Agile
Step 1 -- ilearn modules , self e-learning on the basics Step 2 – 1 day workshop on ScrumStep 3 – Followed by real time assessment leading to Scrum Sprinter certificationStep 4 – Post workshop evaluation and HCL processes walkthrough
Problem #6 Team entirely new to Agile
Agile community
Problem #7 User Story Estimation
Story Point Estimation Guidelines
Critical7%
Essential64%
Non-Essential
29%
Overall Priority
High29%
Medium64%
Low
7%
Overall Estimates Risk
Burn down and Risk Management
Problem #8 Handling Risks
Problem #9 Sign offs from POs
Joint walkthroughs Formal review process X
Instead of formal review process a Joint walkthrough / meeting is
planned and the consensus reached is treated as signoff
Customer is informed about this practice in the beginning of the project
itself
Problem #10 Participation in Scrum Ceremonies
Ensure participation in some form rather than exemptions
Onsite team with PO and
other stakeholders
Record Play and Observe
Offshore team with
scrum master
Case Studies
#1 Case Study on Flight test system
(for one of the largest flight manufacturers)
#2 Case Study on Voicemail application
(for a Fortune 5 product company)
#3 Case Study on Lifecycle management flagship product
( for a global leader in ALM)
A thick client application which enable users to generate Test
Information Planning sheets, manage their workflow, organize Test
conditions data and generate operations documents aiding engineers
to prepare for and perform flight tests.
#1 Case Study on Flight test system
Execution Model:
Agile Development framework with XP model to benefit from collaborative
development and deliver quick deliverables
Business Challenges:
Need to fine tune processes of an existing application
Deploy the application in production in 2 months
Update multiple user stories in parallel
Control changes effectively
Lay foundation for future phases
Value to Customer
Application delivered to user in 2.2 months
Addressed immediate requirement of program
Modified existing code base to suit the needs of IDS
Parallel requirements definition of modules
Features burn down chart
Standardization of test planning
Onsite Challenges
Set up of Development Environment in given time frame
Evolution of scope leading to possible slippage in schedule
Educating developers with complete functionality
Ensuring the requirements, documentation & code update is in sync with the Offshore team
Frequent travel between multiple onsite location
Offshore Challenges
Complete understanding of functionality not available for all team members
Have to implement 91 requirements/changes in a short period of time
Ensuring the requirements, documentation & code update is in sync with the Onsite team
#1 Case Study on Flight test system
Challenge Mitigation
KT to offshore team.
Sprint 0 - planned for 2-5 days depending upon the project size and used to perform KT,
analysis and clarification related activities
Requirement stability Plan a freeze for requirements for every sprint during sprint planning phase. Further changes
updated in the product backlog and will be taken up during next sprint based on priority..
Signoff from
customers and
stakeholders
Customer and Stakeholders should be well informed about their pro-active role for the
success of Agile projects.
Joint walkthrough/ meetings be planned and the same treated as signoff
Lack of focus on
Application
performance Get non-functional requirements in the beginning and set-up a bench mark of performance.
Effort, schedule and
cost over-run. Re-estimate and re-plan the sprints / schedule
Adapting to Agile
culture
Train the resources in Agile before the project kickoff and make them understand about the
Agile concepts and the way of working in Agile. Conducting Stand-up meetings &
Retrospection.
Time zones Work in shifts /overlapping hours, so that the clarification / discussion can take place.
No Documentation.
Update the changes and update the revision history. Decide on the Documentation
requirements during project initiation. Baseline the requirements before construction.
#1 Case Study on Flight test system
#2 Case Study on Voicemail application
This application offered consumers the ability to have select carriers (Network Operators ) voicemail forwarded to their mail account and accessible via vendor applications or services.
Execution Model: Scrum was used for project execution among the globallydistributed teams.
Business Challenges:
Enhance the end-consumer satisfaction level Increase the productivity in terms of time A better, faster, simplified way of testing To create a repository of independent, self sufficient, maintainable tests scripts
that can be scheduled and executed remotely or locally Effort spent in developing test script development to be made re-usable Risks of “unfinished” testing Keeping up the morale of the individual and the team
Onsite Challenges Initially lack of support for offshore team No onsite coordinator Proper Communication channels was not
established Twelve-hour turn-around time for questions Little visibility into what offshore team was
doing Lack of trust
Offshore Challenges Initially No/limited Remote Access to Servers &
Code Repository Information Flow / Lean Documentation Communication Difficult Round-the-Clock Productivity Low Visibility No Shared Vision
Best Practices Resource dedicated to
communication Multiple communication channels Cultural and time zone awareness Common code base / document
repository Site visits / rotation Partners must be flexible Allow time for processes to mature Open, honest communication
#2 Case Study on Voicemail application
Business Challenges:
Maximizing team efficiency
Trust and Collaborate to get the job done
Introduce automation wherever applicable
Share the knowledge through portal and single repository
Identify and deploy value-adds
Enhance product for multi platform support and 3rd party plug-in
#3 Case Study on Lifecycle management flagship product
For a Global Leader in application Lifecycle Management products
providing Maintenance and Sustenance support to two of their flagship
products
Best Practices• Those who do the actual work involved in effort estimation
• We prioritize to ensure we’re building the most valuable software for our
customer
• Keeping release plan visible helps remind people where we are going
• During the 15 minute daily standup meetings that happen every day, we
work on the iteration goals and commitments
• If it’s not going to add value, don’t do it!
• Acceptance criteria for user stories and tasks are well understood by all
participants
Tools & Technologies: Languages: Java, C++, VC++, C#, .NET, C , WebServices , Oracle , JavaScript;
Development IDE: VS2003, VS2005;
Bug Mgmt : Team Track;
Code Repository: PVCS , Dimensions CM;
Automation: Winrunner;
Document Repository : SharePoint, Wiki portal;
Product Backlog , Task Mgmt & Risk Plan: Custom Spread Sheet
#3 Case Study on Lifecycle management flagship product
Thank You
27