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.
3. 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
5. 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
6. Problem #1 Project not suitable for Agile
Offshore Agile Assessment
Assesses based on
Business objectives
Project Classification
Technology /Domain
Technical Complexity
Stakeholder commitment
Communication & Infrastructure
Skills
7. Problem #2: Project Tracking
Use of Agile Tools
Pendi Hours Burndown with Cumulative Flow
Workitem Cumulative Flow
ng
250
200 Pendin
Number of Work Items
g
Workitem Hours
150
In
100 Progres
s
50 Comple
te
0
Sprint Days Sprint Days
9. Problems #3: Communication and Collaboration
Value in team knowledge sharing
Travels
Wiki
Mailing
list/forum
Video Conf. email
Phone
chat
Usage frequency
• 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
10. Problem #4 Project Health unknown until delivery
Continuous Integration – Stable build at all times
The set of files
and revision
numbers
modified for this
Code build
Metrics
Code Find
Unit Test
Coverag Bugs
Code Reports
e Reports
Style
Reports
Reports
The
Build
Log
Version
Control
Reports
11. Problem #5 Handling Adhoc Support items
No support items Support request
ScrumTeam Scrum Team
Pick items from Pick items from
Items planned for
Items planned for
current sprint Address support
current sprint
issue
Product Backlog Product Backlog
12. Problem #6 Team entirely new to Agile
Step 1 -- ilearn modules , self e-learning on the basics
Step 2 – 1 day workshop on Scrum
Step 3 – Followed by real time assessment leading to Scrum Sprinter certification
Step 4 – Post workshop evaluation and HCL processes walkthrough
14. Problem #7 User Story Estimation
Story Point Estimation Guidelines
15. Problem #8 Handling Risks
Burn down and Risk Management
Overall Priority Overall Estimates Risk
Critical Low
7%
Non- 7% High
Essential 29%
29%
Essential Medium
64%
64%
16. Problem #9 Sign offs from POs
X
Formal review process
Joint walkthroughs
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
17. Problem #10 Participation in Scrum Ceremonies
Ensure participation in some form rather than exemptions
Record Play and Observe
Onsite team with PO and Offshore team with
other stakeholders scrum master
18. 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)
19. #1 Case Study on Flight test system
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.
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
20. #1 Case Study on Flight test system
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
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
21. #1 Case Study on Flight test system
Challenge Mitigation
Sprint 0 - planned for 2-5 days depending upon the project size and used to perform KT,
KT to offshore team. 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 Customer and Stakeholders should be well informed about their pro-active role for the
customers and success of Agile projects.
stakeholders 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
Train the resources in Agile before the project kickoff and make them understand about the
Adapting to Agile Agile concepts and the way of working in Agile. Conducting Stand-up meetings &
culture Retrospection.
Time zones Work in shifts /overlapping hours, so that the clarification / discussion can take place.
Update the changes and update the revision history. Decide on the Documentation
No Documentation. requirements during project initiation. Baseline the requirements before construction.
22. #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 globally
distributed 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
23. #2 Case Study on Voicemail application
Onsite Challenges
Initially lack of support for offshore team
No onsite coordinator Best Practices
Proper Communication channels was not Resource dedicated to
established communication
Twelve-hour turn-around time for questions Multiple communication channels
Little visibility into what offshore team was Cultural and time zone awareness
doing Common code base / document
Lack of trust repository
Site visits / rotation
Offshore Challenges Partners must be flexible
Initially No/limited Remote Access to Servers & Allow time for processes to mature
Code Repository Open, honest communication
Information Flow / Lean Documentation
Communication Difficult
Round-the-Clock Productivity
Low Visibility
No Shared Vision
24. #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
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
25. #3 Case Study on Lifecycle management flagship product
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