SlideShare a Scribd company logo
1 of 120
Download to read offline
Distributed Agile
   Issues & Challenges
Patterns and Anti-Patterns
          Naresh Jain
       Twitter: @nashjain
   http://blogs.agilefaqs.com
   Licensed Under Creative Commons by Naresh Jain
                                                    1
Why Distributed
 Development?

 Licensed Under Creative Commons by Naresh Jain
                                                  2
ā€œrightā€ people are distributed




                                 3
Global Economy




                 4
Business are distributed




                           5
Power Centers




                6
7
Decrease in Communication Bandwidth




                                  8
Lack of visibility into project status




                                         9
Lack of visibility into project status




                                         9
Lack of ā€œremoteā€ Control




                           10
11
Cultural Differences




                       12
Conļ¬guration Management




                          13
Coordination is difļ¬cult




                           14
Coordination is difļ¬cult




                           14
Me


     15
16
Mumbai
         17
Tech Talks!




              18
FitNesse      ProTest



DBFit     FitDecorator     ProFIT



   La"u       Patang   QWick



                                    19
20
21
22
23
24
25
26
Root Cause
My Observations



Licensed Under Creative Commons by Naresh Jain
                                                 27
Lack of Trust




                28
Loss of Context (biz & tech)




                               29
Delayed Feedback (distance & time)




                                     30
Duplication of Effort




                        31
Change is Inevitable




                       32
What does this lead to?


     Licensed Under Creative Commons by Naresh Jain
                                                      33
Heavyweight Process




                      34
More and more Upfront




                        35
Strict Change Control




                        36
Over-reliance on documentation




                                 37
Inability to React




                     38
Communication Gaps




                     39
Frustration




              40
Erosion of Trust




                   41
Distributed Agile?



  Licensed Under Creative Commons by Naresh Jain
                                                   42
Agile Manifesto

 ā€œWe are uncovering better ways of developing software by doing it and helping
          others do it. Through this work we have come to value:

 Individuals and Interactions OVER Processes and Tools.
Working Software OVER Comprehensive Documentation.
 Customer Collaboration OVER Contract Negotiation.
      Responding to Change OVER following a Plan.
That is, while there is value in the items on the right, we value the items on the
                                     left more.ā€



                                                                                     43
Case Studies



Licensed Under Creative Commons by Naresh Jain
                                                 44
Offshore Agile Maintenance Project

 Background
  EAI project for back ofļ¬ce data validation and billing system for a pay-per-
  view cable company in New York
  2 years later, lack of funds to maintain the app
  Decision to offshore the project
  Ended up with one year maintenance contract.




                                                                                 45
1 Account Manager
      1 PM
       1 BA
     2 Tester
     1DBA
                    1 Manager
                      1 BA
                      3 Dev
                    1Tester




                                46
We Faced Typical
Maintenance Project
    Challenges
   Licensed Under Creative Commons by Naresh Jain
                                                    47
Lack of Documentation




                        48
Lack of System Expert




                        49
Inexperienced Team Members




                             50
Lack of Test Safety Net




                          51
Legacy Code




              52
Fluctuating Workload




                       53
Lack of Trust




                54
Fear




       55
Uncertainty




              56
Frustration




              57
XP Practices we started of with

Planning game ā€“ 2 week iterations, story cards, Iteration
Planning Meetings
Small releases ā€“ 2 to 3 months
Collective code ownership
Continuous integration & Automated Release
Standup meetings
Coding standards



                                                            58
What we did not have/could not do?

 Onsite Client
 System Metaphor
 Simple Design
 Automated Testing
 User Stories (instead we had CR or Bugs)
 40 hour week / sustainable pace




                                            59
Evolved Agile Practices
Kanban - Priority Log
Micro releases ā€“ 2 to 3 days
Refactoring (completely changed the Architecture)
Pair Programming
Collective code ownership
Continuous integration & One click Release
Test Driven Development



                                                    60
Evolved Agile Practices...

Retrospectives
Daily client driven demo on Dev env
EOD Status mail
Cross functional Pairing
Demos and functional walk thru by Client
Automated Acceptance Test




                                           61
Results

Product performs 3 times faster than before
Huge increase in customer satisfaction
More interesting work with increase per hour rate
Great relationship and happy team
Great platform to experiment with new process ideas
Massive reduction in operating cost of the project




                                                      62
1 PM
1 Tester

             2 Dev
           1 Tester




                      63
Case Study 2



Licensed Under Creative Commons by Naresh Jain
                                                 64
Large Healthcare Enterprise System

 SAP like Healthcare suite for medium to large-scale hospitals
 and institutes
 Large Re-architecture effort (Across 3 different Product Lines)
  400+ team size across 3 different continents

 Multiple Organizations involved for Training and Coaching
 Teams




                                                                   65
Started Off with...


Pilot Project (1 Module of the entire application)
1 PM, 1 Scrum Master, 1 Architect/TL, 6 Dev, 1 BA and 1 Tester
100% Collocated Team
 Offshore members were onsite for 3 months (3 Sprints)




                                                                 66
Started off with Scrum/XP Practice
 2 Week Project Inception
 Prioritized Backlog with WAGs
 1 Month Sprints
 User Stories
 Stand-up Meetings
 Sprint Review and Retrospectives
 Automated Builds



                                     67
In the ļ¬rst 2 months
1 Month Sprint
User Stories
Automated Acceptance Tests
Test First Development
Collective Code Ownership
Continuous Integration
Sprint Review and Retrospectives



                                   68
End of 3 Months
2 Week Sprints
Distributed Teams
Evolutionary Design
TDD
Build Promotion and Single Click Release
Automated UI Tests
Brand Ambassadors/Cross Pollination



                                           69
Soon...Program Organization
                                   Program Management
                                          Scrum



           Scrum Master Scrum of Scrum                  Tech Lead Scrum of
                   of Scrums                             Scrum of Scrums


      App 1
                                               App 2                           Shared Services/
M1                   M2                                                        Arch/Infrastructure
      Scrum                         M1                          M2
      Master
     Scrum of                                  Scrum
     Scrums                                    Master
                                              Scrum of                         S1               S2
                     M4                       Scrums

M5                                 M6

     Tech Lead       M8                                                      Frameworks         S3
      Scrum of
      Scrums                                 Tech Lead
                                              Scrum of
                                              Scrums
                                                                 M4           S4           S5
M3                   M7            M3
      M6


                                                                                                     70
4 Module Teams
  Architecture Team
                        1 Conļ¬g Mgmt Team
3 Enterprise Products
                            1 IQA Team
  18 Module Teams
      1 DB Team
    1 IQA Team                              4 Module Teams
                                              1 IQA Team



                                              4 Module Teams




                                                               71
Key Challenges We Faced


     Licensed Under Creative Commons by Naresh Jain
                                                      72
Tools got in the Way




                       73
Death by Cross-Team Integration




                                  74
End-to-End Delivery came to Grinding Halt




                                        75
Confusion & Rework




                     76
Frustration




              77
Summary
How Agile can help?

   Licensed Under Creative Commons by Naresh Jain
                                                    78
Empowered Small Teams


Its the people Duh!
Build teams around motivated and passionate individuals
Build a team environment where people are not afraid to try
new things and fail (fail fast)
Make work a fun place.




                                                              79
Small Frequent Releases


Increase visibility and enable early feedback.
A weekly software showcase gives more conļ¬dence than a
weekly status report.
Fail fast, recover quickly and at lower cost




                                                         80
Puts the customer in the driving seat


   Customer does Feature prioritization
   Customer uses early feedback to elaborate on and develop the
   requirements. Eliminates the need to articulate requirements in
   detailed documentation
   Customer makes business decision and development team makes
   technical decisions in collaboration with each other.



                    Customer == Product Owner

                                                                     81
Adaptive Planning



Inspect and Adapt
Help responding to change
Teams communicate often, share information frequently




                                                        82
Feedback Driven
Testing centric
 Test early, Test often and Test continuously

Continuous integration
 Integrate with every checkin and avoid Integration Nightmares

Automated Acceptance Tests
 Let acceptance criteria drive your development

Team tastes success every time an iteration successfully
passes customerā€™s test.



                                                                 83
Practices that make a
     Difference

    Licensed Under Creative Commons by Naresh Jain
                                                     84
Continuous Integration

Constant integration,
building & testing of system
with each change
Set up a build promotion
process and reduces on-site
deployment risk.
ā€œThe last person doesnā€™t go home
until the build is cleanā€




                                   85
Test Driven Development

Reduces ambiguity around requirements by having executable
speciļ¬cations
 Acceptance Criteria per story
 Acceptance Tests are written before coding starts

Use Unit Tests to drive your design
Build a safety net to prevent regression bugs




                                                             86
Collective Ownership


Cross Functional Pairing and Pair Programming
Single shared code repository per project
Mutually agreed coding standards and guidelines (Automated
Check)
Code Walk-through




                                                             87
Other Practices


Stand Up Meetings/Daily Scrum
Dev Hurdles
Retrospectives
Planning Game




                                   88
Other Practices


Stand Up Meetings/Daily Scrum
Dev Hurdles
Retrospectives
Planning Game




                                   88
Distributed Agile
    Patterns

 Licensed Under Creative Commons by Naresh Jain
                                                  89
Shared Workload

Work split
 Divide work by functionality (stories), not by technical layers
 (horizontally). Otherwise, you create an interdependence that makes the
 dependent sub-team less productive

Collective Ownership
 Each team is capable of demonstrating end-to-end functionality

Capacity surpluses/shortages can be balanced through active
management of work load distribution



                                                                           90
Single Virtual Team
Everyone works on the same release/iteration cycle
drumbeats
Shared code base fosters collective ownership of the
source code
Shared build environments allow teams to collaborate
and integrate continuously
Developing in ā€œEnd-to-endā€ functional slices rather
than layers allows teams to build upon each otherā€™s work and
reduces dependencies between locations



                                                               91
Cross Pollination




                    92
Cross Pollination
Seeding Visits
 Start the project with a collocated team
 Knowledge Transfer ā€“ People as carriers of knowledge
 Build inter-personal relationships




                                                        92
Cross Pollination
Seeding Visits
 Start the project with a collocated team
 Knowledge Transfer ā€“ People as carriers of knowledge
 Build inter-personal relationships

ā€œMaintenanceā€ Visits
 Ongoing
 Bi-directional and multifunctional
 Cultural Ambassadors




                                                        92
Cross Pollination
Seeding Visits
 Start the project with a collocated team
 Knowledge Transfer ā€“ People as carriers of knowledge
 Build inter-personal relationships

ā€œMaintenanceā€ Visits
 Ongoing
 Bi-directional and multifunctional
 Cultural Ambassadors

Establish a Travel budget. Often it is a very small percentage of
total project cost.

                                                                    92
Cross Pollination - Offshore Model
                               Time




OnSite




Offshore

   - Offshore Team Member

   - Client-side Team Member          - Swap Members

                                                   93
Cross Pollination - Offshore Model
                               Time
             i 0 & i1



OnSite




Offshore

   - Offshore Team Member

   - Client-side Team Member          - Swap Members

                                                   93
Cross Pollination - Offshore Model
                                    Time
             i 0 & i1          i2



OnSite




Offshore

   - Offshore Team Member

   - Client-side Team Member               - Swap Members

                                                        93
Cross Pollination - Offshore Model
                                    Time
             i 0 & i1          i2          i3



OnSite




Offshore

   - Offshore Team Member

   - Client-side Team Member                    - Swap Members

                                                             93
Cross Pollination - Offshore Model
                                    Time
             i 0 & i1          i2          i3   i4



OnSite




Offshore

   - Offshore Team Member

   - Client-side Team Member                         - Swap Members

                                                                  93
Cross Pollination - Distributed Model
                               Time




OnSite




Offshore


   - Offshore Team Member

   - Client-side Team Member          - Swap Members

                                                   94
Cross Pollination - Distributed Model
                               Time
             i 0 & i1



OnSite




Offshore


   - Offshore Team Member

   - Client-side Team Member          - Swap Members

                                                   94
Cross Pollination - Distributed Model
                                    Time
             i 0 & i1          i2



OnSite




Offshore


   - Offshore Team Member

   - Client-side Team Member               - Swap Members

                                                        94
Cross Pollination - Distributed Model
                                    Time
             i 0 & i1          i2          i3



OnSite




Offshore


   - Offshore Team Member

   - Client-side Team Member                    - Swap Members

                                                             94
Cross Pollination - Distributed Model
                                    Time
             i 0 & i1          i2          i3   i4



OnSite




Offshore


   - Offshore Team Member

   - Client-side Team Member                         - Swap Members

                                                                  94
Simple Tools take you a long way

Physical Story walls with pictures on Wikis can be quite
powerful
Good version control system like SVN
Online collaboration tools like Google Docs, Card
Meeting, Forums, etc
5-10 min video recording using simple cameras




                                                           95
Source : ThoughtWorks

                        96
Massive over-communication
Infrastructure
 High availability, high speed networks
 High-quality speakerphones, webcams

Informative Workspaces and Information Radiators
Communications Plans
 Standing calls
 Overlapping hours

Instant Messaging,VoIP, NetMeeting, Webex etc.
Wikis
Team member photos on the wall

                                                   97
Local Standup meetings




     Source : ThoughtWorks
                             98
Anti-Patterns



Licensed Under Creative Commons by Naresh Jain
                                                 99
Communication Anti-Patterns

Single Point of Failure - Resist single person
communicating with the on-site team. Unless the team has
language barriers
Hide real issues - Embrace transparency, honesty and
openness
One liner emails - You need to set context in each mail.
Using Wikis to Dump information and not collaborate




                                                           100
Expectations Anti-Patterns

50% cost saving - Donā€™t sell Distributed Development
purely as a cost saving scheme
Unrealistic expectations about productivity - there
will be communication overhead, there will be rework and
there will be misunderstandings
Wrongly try to please the customer/onsite team - Learn to say
ā€œNoā€




                                                                101
Focus related Anti-patterns


Tool Driven - Donā€™t be a tool slave. Choose the right tool
for the right job.
Process OVER People - Donā€™t focus too much on a
consistent, well-deļ¬ned process across all locations. Instead let
people deļ¬ne what works for them in their location.




                                                                    102
Work Allocation Anti-Patterns


Slice work such that the two teams have to interact very little -
They will drift away.
Occasional involvement - You donā€™t swing a huge
requirement document and expect things to come back the
way you wanted them
Change Control Boards - Collaborate with the customer
to provide them competitive advantage



                                                                    103
Conclusion


Distributed Development is difļ¬cult in general!
                Agile can help.
Strong Development practices very important!



                                             104
References
Most of this is based on my 5 years of experience at
ThoughtWorks
Distributed Agile Development and the Death of Distance
 http://www.thoughtworks.com/press-releases/Distributed-Agile-Development-
 and-the-Death-of-Distance.html

Case Study: Distributed Agile Development
 http://www.pivolis.com/pdf/Distributed_Agile_V1.0.pdf

Distributed Agile
 http://www.agilealliance.com/articles/steindlchristophdistr/ļ¬le

Using an Agile Software Process with Offshore Development
 http://www.martinfowler.com/articles/agileOffshore.html
                                                                        105
Questions?



Thank you
  Distributed Agile

     Naresh Jain
naresh@agilefaqs.com

                       106

More Related Content

What's hot

Agile Maintenance
Agile MaintenanceAgile Maintenance
Agile MaintenanceNaresh Jain
Ā 
Agile Is the New Waterfall
Agile Is the New WaterfallAgile Is the New Waterfall
Agile Is the New WaterfallNaresh Jain
Ā 
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)Directi Group
Ā 
Continuous Deployment Demystified
Continuous Deployment DemystifiedContinuous Deployment Demystified
Continuous Deployment DemystifiedNaresh Jain
Ā 
Managing Iterations
Managing IterationsManaging Iterations
Managing IterationsNaresh Jain
Ā 
Essential Elements Of Distributed Agile
Essential Elements Of Distributed AgileEssential Elements Of Distributed Agile
Essential Elements Of Distributed AgileVernon Stinebaker
Ā 
Creating value using Agile Methods- Nanda Lankalapalli
Creating value using Agile Methods- Nanda LankalapalliCreating value using Agile Methods- Nanda Lankalapalli
Creating value using Agile Methods- Nanda LankalapalliIndia Scrum Enthusiasts Community
Ā 
Agile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureAgile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureWee Witthawaskul
Ā 
Software testing agile_environment_wp
Software testing agile_environment_wpSoftware testing agile_environment_wp
Software testing agile_environment_wpCristiano Caetano
Ā 
Agile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer PerspectiveAgile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer PerspectiveWee Witthawaskul
Ā 
How product designer work in agile scrum team
How product designer work in agile scrum teamHow product designer work in agile scrum team
How product designer work in agile scrum teamMike Li
Ā 
Amy.stapleton
Amy.stapletonAmy.stapleton
Amy.stapletonNASAPMC
Ā 
D.mathieson agile software_development_using_scrum
D.mathieson agile software_development_using_scrumD.mathieson agile software_development_using_scrum
D.mathieson agile software_development_using_scrumRamkumar Sundarakalatharan
Ā 
Agile tour 2011 ralph jocham - scrum primer
Agile tour 2011   ralph jocham - scrum primerAgile tour 2011   ralph jocham - scrum primer
Agile tour 2011 ralph jocham - scrum primerAgora Group
Ā 
Introduction to the Agile Methods
Introduction to the Agile MethodsIntroduction to the Agile Methods
Introduction to the Agile Methodssoftwareacademy
Ā 
Ralph jocham agile portfolio based release trains
Ralph jocham agile portfolio based release trainsRalph jocham agile portfolio based release trains
Ralph jocham agile portfolio based release trainsAgora Group
Ā 
OSSCube - Zend Webinar
OSSCube - Zend WebinarOSSCube - Zend Webinar
OSSCube - Zend WebinarOSSCube
Ā 
Redistributable introtoscrum
Redistributable introtoscrumRedistributable introtoscrum
Redistributable introtoscrumNguyen Quang
Ā 

What's hot (20)

Agile Maintenance
Agile MaintenanceAgile Maintenance
Agile Maintenance
Ā 
Agile Is the New Waterfall
Agile Is the New WaterfallAgile Is the New Waterfall
Agile Is the New Waterfall
Ā 
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)
Ā 
Continuous Deployment Demystified
Continuous Deployment DemystifiedContinuous Deployment Demystified
Continuous Deployment Demystified
Ā 
Managing Iterations
Managing IterationsManaging Iterations
Managing Iterations
Ā 
Essential Elements Of Distributed Agile
Essential Elements Of Distributed AgileEssential Elements Of Distributed Agile
Essential Elements Of Distributed Agile
Ā 
Iss 05
Iss 05Iss 05
Iss 05
Ā 
Creating value using Agile Methods- Nanda Lankalapalli
Creating value using Agile Methods- Nanda LankalapalliCreating value using Agile Methods- Nanda Lankalapalli
Creating value using Agile Methods- Nanda Lankalapalli
Ā 
Agile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureAgile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai Culture
Ā 
Software testing agile_environment_wp
Software testing agile_environment_wpSoftware testing agile_environment_wp
Software testing agile_environment_wp
Ā 
Agile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer PerspectiveAgile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer Perspective
Ā 
How product designer work in agile scrum team
How product designer work in agile scrum teamHow product designer work in agile scrum team
How product designer work in agile scrum team
Ā 
Amy.stapleton
Amy.stapletonAmy.stapleton
Amy.stapleton
Ā 
D.mathieson agile software_development_using_scrum
D.mathieson agile software_development_using_scrumD.mathieson agile software_development_using_scrum
D.mathieson agile software_development_using_scrum
Ā 
Agile tour 2011 ralph jocham - scrum primer
Agile tour 2011   ralph jocham - scrum primerAgile tour 2011   ralph jocham - scrum primer
Agile tour 2011 ralph jocham - scrum primer
Ā 
Introduction to the Agile Methods
Introduction to the Agile MethodsIntroduction to the Agile Methods
Introduction to the Agile Methods
Ā 
MVP Hacks
MVP HacksMVP Hacks
MVP Hacks
Ā 
Ralph jocham agile portfolio based release trains
Ralph jocham agile portfolio based release trainsRalph jocham agile portfolio based release trains
Ralph jocham agile portfolio based release trains
Ā 
OSSCube - Zend Webinar
OSSCube - Zend WebinarOSSCube - Zend Webinar
OSSCube - Zend Webinar
Ā 
Redistributable introtoscrum
Redistributable introtoscrumRedistributable introtoscrum
Redistributable introtoscrum
Ā 

Similar to Distributed Agile

From Waterfall to Agile - from predictive to adaptive methods
From Waterfall to Agile - from predictive to adaptive methodsFrom Waterfall to Agile - from predictive to adaptive methods
From Waterfall to Agile - from predictive to adaptive methodsBjƶrn JĆ³nsson
Ā 
Craig Larman - Scaling Lean & Agile Development
Craig Larman - Scaling Lean & Agile Development Craig Larman - Scaling Lean & Agile Development
Craig Larman - Scaling Lean & Agile Development Valtech
Ā 
Redistributable introtoscrum
Redistributable introtoscrumRedistributable introtoscrum
Redistributable introtoscrumCiklum Ukraine
Ā 
Zen of Scrum
Zen of ScrumZen of Scrum
Zen of ScrumMagnus Nord
Ā 
Jax Sql Saturday Scrum presentation #130
Jax Sql Saturday Scrum presentation #130Jax Sql Saturday Scrum presentation #130
Jax Sql Saturday Scrum presentation #130Christopher Daily
Ā 
Scrum managing through complexity
Scrum managing through complexityScrum managing through complexity
Scrum managing through complexityPierre E. NEIS
Ā 
ITCamp 2012 - Dan Nicola - Scrum v2
ITCamp 2012 - Dan Nicola - Scrum v2ITCamp 2012 - Dan Nicola - Scrum v2
ITCamp 2012 - Dan Nicola - Scrum v2ITCamp
Ā 
Lanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALMLanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALMDebora Di Piano
Ā 
My Journey So Far
My Journey So FarMy Journey So Far
My Journey So Farskipangel
Ā 
Information Development in an Agile Environment
Information Development in an Agile EnvironmentInformation Development in an Agile Environment
Information Development in an Agile EnvironmentNeeraj Bhatia
Ā 
Introduction to scrum
Introduction to scrumIntroduction to scrum
Introduction to scrumWilliam Simms
Ā 
Agile Requirements by Agile Analysts
Agile Requirements by Agile AnalystsAgile Requirements by Agile Analysts
Agile Requirements by Agile AnalystsKurt Solarte
Ā 
Project Management With Scrum
Project Management With ScrumProject Management With Scrum
Project Management With ScrumTommy Norman
Ā 
Darwin Agile and The Dinosaurs
Darwin Agile and The DinosaursDarwin Agile and The Dinosaurs
Darwin Agile and The DinosaursEndava
Ā 
Agile project management day 2
Agile project management day 2Agile project management day 2
Agile project management day 2Knowit_TM
Ā 
Devnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology
Ā 
Agile marries itil
Agile marries itilAgile marries itil
Agile marries itilMats Janemalm
Ā 

Similar to Distributed Agile (20)

From Waterfall to Agile - from predictive to adaptive methods
From Waterfall to Agile - from predictive to adaptive methodsFrom Waterfall to Agile - from predictive to adaptive methods
From Waterfall to Agile - from predictive to adaptive methods
Ā 
Craig Larman - Scaling Lean & Agile Development
Craig Larman - Scaling Lean & Agile Development Craig Larman - Scaling Lean & Agile Development
Craig Larman - Scaling Lean & Agile Development
Ā 
Redistributable introtoscrum
Redistributable introtoscrumRedistributable introtoscrum
Redistributable introtoscrum
Ā 
Scrum wall images by tobias mayer
Scrum wall images by tobias mayerScrum wall images by tobias mayer
Scrum wall images by tobias mayer
Ā 
Zen of Scrum
Zen of ScrumZen of Scrum
Zen of Scrum
Ā 
Jax Sql Saturday Scrum presentation #130
Jax Sql Saturday Scrum presentation #130Jax Sql Saturday Scrum presentation #130
Jax Sql Saturday Scrum presentation #130
Ā 
Scrum managing through complexity
Scrum managing through complexityScrum managing through complexity
Scrum managing through complexity
Ā 
ITCamp 2012 - Dan Nicola - Scrum v2
ITCamp 2012 - Dan Nicola - Scrum v2ITCamp 2012 - Dan Nicola - Scrum v2
ITCamp 2012 - Dan Nicola - Scrum v2
Ā 
Lanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALMLanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALM
Ā 
My Journey So Far
My Journey So FarMy Journey So Far
My Journey So Far
Ā 
Information Development in an Agile Environment
Information Development in an Agile EnvironmentInformation Development in an Agile Environment
Information Development in an Agile Environment
Ā 
Introduction to scrum
Introduction to scrumIntroduction to scrum
Introduction to scrum
Ā 
Agile Requirements by Agile Analysts
Agile Requirements by Agile AnalystsAgile Requirements by Agile Analysts
Agile Requirements by Agile Analysts
Ā 
Project Management With Scrum
Project Management With ScrumProject Management With Scrum
Project Management With Scrum
Ā 
Darwin Agile and The Dinosaurs
Darwin Agile and The DinosaursDarwin Agile and The Dinosaurs
Darwin Agile and The Dinosaurs
Ā 
Agile project management day 2
Agile project management day 2Agile project management day 2
Agile project management day 2
Ā 
Agile
AgileAgile
Agile
Ā 
Transforming your sw development to agile
Transforming your sw development to agileTransforming your sw development to agile
Transforming your sw development to agile
Ā 
Devnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology back toschool software reengineering
Devnology back toschool software reengineering
Ā 
Agile marries itil
Agile marries itilAgile marries itil
Agile marries itil
Ā 

More from Naresh Jain

Problem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignProblem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignNaresh Jain
Ā 
Agile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome NoteAgile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome NoteNaresh Jain
Ā 
Organizational Resilience
Organizational ResilienceOrganizational Resilience
Organizational ResilienceNaresh Jain
Ā 
Improving the Quality of Incoming Code
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming CodeNaresh Jain
Ā 
Agile India 2018 Conference Summary
Agile India 2018 Conference SummaryAgile India 2018 Conference Summary
Agile India 2018 Conference SummaryNaresh Jain
Ā 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 ConferenceNaresh Jain
Ā 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 ConferenceNaresh Jain
Ā 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 ConferenceNaresh Jain
Ā 
Pilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert VirdingPilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert VirdingNaresh Jain
Ā 
Concurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco CesariniConcurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco CesariniNaresh Jain
Ā 
Erlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco CesariniErlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco CesariniNaresh Jain
Ā 
Anatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur DatarAnatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur DatarNaresh Jain
Ā 
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppSetting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppNaresh Jain
Ā 
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to ProdTowards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to ProdNaresh Jain
Ā 
Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Naresh Jain
Ā 
No Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKennaNo Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKennaNaresh Jain
Ā 
Functional Programming Conference 2016
Functional Programming Conference 2016Functional Programming Conference 2016
Functional Programming Conference 2016Naresh Jain
Ā 
Agile India 2017 Conference
Agile India 2017 ConferenceAgile India 2017 Conference
Agile India 2017 ConferenceNaresh Jain
Ā 
The Eclipse Way
The Eclipse WayThe Eclipse Way
The Eclipse WayNaresh Jain
Ā 
Unleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDTUnleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDTNaresh Jain
Ā 

More from Naresh Jain (20)

Problem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignProblem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary Design
Ā 
Agile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome NoteAgile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome Note
Ā 
Organizational Resilience
Organizational ResilienceOrganizational Resilience
Organizational Resilience
Ā 
Improving the Quality of Incoming Code
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming Code
Ā 
Agile India 2018 Conference Summary
Agile India 2018 Conference SummaryAgile India 2018 Conference Summary
Agile India 2018 Conference Summary
Ā 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
Ā 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
Ā 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
Ā 
Pilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert VirdingPilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert Virding
Ā 
Concurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco CesariniConcurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco Cesarini
Ā 
Erlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco CesariniErlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco Cesarini
Ā 
Anatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur DatarAnatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur Datar
Ā 
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppSetting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Ā 
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to ProdTowards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
Ā 
Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas
Ā 
No Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKennaNo Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKenna
Ā 
Functional Programming Conference 2016
Functional Programming Conference 2016Functional Programming Conference 2016
Functional Programming Conference 2016
Ā 
Agile India 2017 Conference
Agile India 2017 ConferenceAgile India 2017 Conference
Agile India 2017 Conference
Ā 
The Eclipse Way
The Eclipse WayThe Eclipse Way
The Eclipse Way
Ā 
Unleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDTUnleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDT
Ā 

Recently uploaded

Russian Call Girls In Gtb Nagar (Delhi) 9711199012 šŸ’‹āœ”šŸ’•šŸ˜˜ Naughty Call Girls Se...
Russian Call Girls In Gtb Nagar (Delhi) 9711199012 šŸ’‹āœ”šŸ’•šŸ˜˜ Naughty Call Girls Se...Russian Call Girls In Gtb Nagar (Delhi) 9711199012 šŸ’‹āœ”šŸ’•šŸ˜˜ Naughty Call Girls Se...
Russian Call Girls In Gtb Nagar (Delhi) 9711199012 šŸ’‹āœ”šŸ’•šŸ˜˜ Naughty Call Girls Se...shivangimorya083
Ā 
The Economic History of the U.S. Lecture 30.pdf
The Economic History of the U.S. Lecture 30.pdfThe Economic History of the U.S. Lecture 30.pdf
The Economic History of the U.S. Lecture 30.pdfGale Pooley
Ā 
Dividend Policy and Dividend Decision Theories.pptx
Dividend Policy and Dividend Decision Theories.pptxDividend Policy and Dividend Decision Theories.pptx
Dividend Policy and Dividend Decision Theories.pptxanshikagoel52
Ā 
OAT_RI_Ep19 WeighingTheRisks_Apr24_TheYellowMetal.pptx
OAT_RI_Ep19 WeighingTheRisks_Apr24_TheYellowMetal.pptxOAT_RI_Ep19 WeighingTheRisks_Apr24_TheYellowMetal.pptx
OAT_RI_Ep19 WeighingTheRisks_Apr24_TheYellowMetal.pptxhiddenlevers
Ā 
VIP Call Girls Thane Sia 8617697112 Independent Escort Service Thane
VIP Call Girls Thane Sia 8617697112 Independent Escort Service ThaneVIP Call Girls Thane Sia 8617697112 Independent Escort Service Thane
VIP Call Girls Thane Sia 8617697112 Independent Escort Service ThaneCall girls in Ahmedabad High profile
Ā 
05_Annelore Lenoir_Docbyte_MeetupDora&Cybersecurity.pptx
05_Annelore Lenoir_Docbyte_MeetupDora&Cybersecurity.pptx05_Annelore Lenoir_Docbyte_MeetupDora&Cybersecurity.pptx
05_Annelore Lenoir_Docbyte_MeetupDora&Cybersecurity.pptxFinTech Belgium
Ā 
TEST BANK For Corporate Finance, 13th Edition By Stephen Ross, Randolph Weste...
TEST BANK For Corporate Finance, 13th Edition By Stephen Ross, Randolph Weste...TEST BANK For Corporate Finance, 13th Edition By Stephen Ross, Randolph Weste...
TEST BANK For Corporate Finance, 13th Edition By Stephen Ross, Randolph Weste...ssifa0344
Ā 
VIP Call Girls Service Dilsukhnagar Hyderabad Call +91-8250192130
VIP Call Girls Service Dilsukhnagar Hyderabad Call +91-8250192130VIP Call Girls Service Dilsukhnagar Hyderabad Call +91-8250192130
VIP Call Girls Service Dilsukhnagar Hyderabad Call +91-8250192130Suhani Kapoor
Ā 
02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx
02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx
02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptxFinTech Belgium
Ā 
VIP Call Girls LB Nagar ( Hyderabad ) Phone 8250192130 | ā‚¹5k To 25k With Room...
VIP Call Girls LB Nagar ( Hyderabad ) Phone 8250192130 | ā‚¹5k To 25k With Room...VIP Call Girls LB Nagar ( Hyderabad ) Phone 8250192130 | ā‚¹5k To 25k With Room...
VIP Call Girls LB Nagar ( Hyderabad ) Phone 8250192130 | ā‚¹5k To 25k With Room...Suhani Kapoor
Ā 
Vip B Aizawl Call Girls #9907093804 Contact Number Escorts Service Aizawl
Vip B Aizawl Call Girls #9907093804 Contact Number Escorts Service AizawlVip B Aizawl Call Girls #9907093804 Contact Number Escorts Service Aizawl
Vip B Aizawl Call Girls #9907093804 Contact Number Escorts Service Aizawlmakika9823
Ā 
00_Main ppt_MeetupDORA&CyberSecurity.pptx
00_Main ppt_MeetupDORA&CyberSecurity.pptx00_Main ppt_MeetupDORA&CyberSecurity.pptx
00_Main ppt_MeetupDORA&CyberSecurity.pptxFinTech Belgium
Ā 
Lundin Gold April 2024 Corporate Presentation v4.pdf
Lundin Gold April 2024 Corporate Presentation v4.pdfLundin Gold April 2024 Corporate Presentation v4.pdf
Lundin Gold April 2024 Corporate Presentation v4.pdfAdnet Communications
Ā 
VIP Kolkata Call Girl Jodhpur Park šŸ‘‰ 8250192130 Available With Room
VIP Kolkata Call Girl Jodhpur Park šŸ‘‰ 8250192130  Available With RoomVIP Kolkata Call Girl Jodhpur Park šŸ‘‰ 8250192130  Available With Room
VIP Kolkata Call Girl Jodhpur Park šŸ‘‰ 8250192130 Available With Roomdivyansh0kumar0
Ā 
The Economic History of the U.S. Lecture 19.pdf
The Economic History of the U.S. Lecture 19.pdfThe Economic History of the U.S. Lecture 19.pdf
The Economic History of the U.S. Lecture 19.pdfGale Pooley
Ā 
Solution Manual for Principles of Corporate Finance 14th Edition by Richard B...
Solution Manual for Principles of Corporate Finance 14th Edition by Richard B...Solution Manual for Principles of Corporate Finance 14th Edition by Richard B...
Solution Manual for Principles of Corporate Finance 14th Edition by Richard B...ssifa0344
Ā 
Log your LOA pain with Pension Lab's brilliant campaign
Log your LOA pain with Pension Lab's brilliant campaignLog your LOA pain with Pension Lab's brilliant campaign
Log your LOA pain with Pension Lab's brilliant campaignHenry Tapper
Ā 
Q3 2024 Earnings Conference Call and Webcast Slides
Q3 2024 Earnings Conference Call and Webcast SlidesQ3 2024 Earnings Conference Call and Webcast Slides
Q3 2024 Earnings Conference Call and Webcast SlidesMarketing847413
Ā 
Quarter 4- Module 3 Principles of Marketing
Quarter 4- Module 3 Principles of MarketingQuarter 4- Module 3 Principles of Marketing
Quarter 4- Module 3 Principles of MarketingMaristelaRamos12
Ā 

Recently uploaded (20)

Russian Call Girls In Gtb Nagar (Delhi) 9711199012 šŸ’‹āœ”šŸ’•šŸ˜˜ Naughty Call Girls Se...
Russian Call Girls In Gtb Nagar (Delhi) 9711199012 šŸ’‹āœ”šŸ’•šŸ˜˜ Naughty Call Girls Se...Russian Call Girls In Gtb Nagar (Delhi) 9711199012 šŸ’‹āœ”šŸ’•šŸ˜˜ Naughty Call Girls Se...
Russian Call Girls In Gtb Nagar (Delhi) 9711199012 šŸ’‹āœ”šŸ’•šŸ˜˜ Naughty Call Girls Se...
Ā 
The Economic History of the U.S. Lecture 30.pdf
The Economic History of the U.S. Lecture 30.pdfThe Economic History of the U.S. Lecture 30.pdf
The Economic History of the U.S. Lecture 30.pdf
Ā 
Dividend Policy and Dividend Decision Theories.pptx
Dividend Policy and Dividend Decision Theories.pptxDividend Policy and Dividend Decision Theories.pptx
Dividend Policy and Dividend Decision Theories.pptx
Ā 
OAT_RI_Ep19 WeighingTheRisks_Apr24_TheYellowMetal.pptx
OAT_RI_Ep19 WeighingTheRisks_Apr24_TheYellowMetal.pptxOAT_RI_Ep19 WeighingTheRisks_Apr24_TheYellowMetal.pptx
OAT_RI_Ep19 WeighingTheRisks_Apr24_TheYellowMetal.pptx
Ā 
VIP Call Girls Thane Sia 8617697112 Independent Escort Service Thane
VIP Call Girls Thane Sia 8617697112 Independent Escort Service ThaneVIP Call Girls Thane Sia 8617697112 Independent Escort Service Thane
VIP Call Girls Thane Sia 8617697112 Independent Escort Service Thane
Ā 
05_Annelore Lenoir_Docbyte_MeetupDora&Cybersecurity.pptx
05_Annelore Lenoir_Docbyte_MeetupDora&Cybersecurity.pptx05_Annelore Lenoir_Docbyte_MeetupDora&Cybersecurity.pptx
05_Annelore Lenoir_Docbyte_MeetupDora&Cybersecurity.pptx
Ā 
TEST BANK For Corporate Finance, 13th Edition By Stephen Ross, Randolph Weste...
TEST BANK For Corporate Finance, 13th Edition By Stephen Ross, Randolph Weste...TEST BANK For Corporate Finance, 13th Edition By Stephen Ross, Randolph Weste...
TEST BANK For Corporate Finance, 13th Edition By Stephen Ross, Randolph Weste...
Ā 
Veritas Interim Report 1 Januaryā€“31 March 2024
Veritas Interim Report 1 Januaryā€“31 March 2024Veritas Interim Report 1 Januaryā€“31 March 2024
Veritas Interim Report 1 Januaryā€“31 March 2024
Ā 
VIP Call Girls Service Dilsukhnagar Hyderabad Call +91-8250192130
VIP Call Girls Service Dilsukhnagar Hyderabad Call +91-8250192130VIP Call Girls Service Dilsukhnagar Hyderabad Call +91-8250192130
VIP Call Girls Service Dilsukhnagar Hyderabad Call +91-8250192130
Ā 
02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx
02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx
02_Fabio Colombo_Accenture_MeetupDora&Cybersecurity.pptx
Ā 
VIP Call Girls LB Nagar ( Hyderabad ) Phone 8250192130 | ā‚¹5k To 25k With Room...
VIP Call Girls LB Nagar ( Hyderabad ) Phone 8250192130 | ā‚¹5k To 25k With Room...VIP Call Girls LB Nagar ( Hyderabad ) Phone 8250192130 | ā‚¹5k To 25k With Room...
VIP Call Girls LB Nagar ( Hyderabad ) Phone 8250192130 | ā‚¹5k To 25k With Room...
Ā 
Vip B Aizawl Call Girls #9907093804 Contact Number Escorts Service Aizawl
Vip B Aizawl Call Girls #9907093804 Contact Number Escorts Service AizawlVip B Aizawl Call Girls #9907093804 Contact Number Escorts Service Aizawl
Vip B Aizawl Call Girls #9907093804 Contact Number Escorts Service Aizawl
Ā 
00_Main ppt_MeetupDORA&CyberSecurity.pptx
00_Main ppt_MeetupDORA&CyberSecurity.pptx00_Main ppt_MeetupDORA&CyberSecurity.pptx
00_Main ppt_MeetupDORA&CyberSecurity.pptx
Ā 
Lundin Gold April 2024 Corporate Presentation v4.pdf
Lundin Gold April 2024 Corporate Presentation v4.pdfLundin Gold April 2024 Corporate Presentation v4.pdf
Lundin Gold April 2024 Corporate Presentation v4.pdf
Ā 
VIP Kolkata Call Girl Jodhpur Park šŸ‘‰ 8250192130 Available With Room
VIP Kolkata Call Girl Jodhpur Park šŸ‘‰ 8250192130  Available With RoomVIP Kolkata Call Girl Jodhpur Park šŸ‘‰ 8250192130  Available With Room
VIP Kolkata Call Girl Jodhpur Park šŸ‘‰ 8250192130 Available With Room
Ā 
The Economic History of the U.S. Lecture 19.pdf
The Economic History of the U.S. Lecture 19.pdfThe Economic History of the U.S. Lecture 19.pdf
The Economic History of the U.S. Lecture 19.pdf
Ā 
Solution Manual for Principles of Corporate Finance 14th Edition by Richard B...
Solution Manual for Principles of Corporate Finance 14th Edition by Richard B...Solution Manual for Principles of Corporate Finance 14th Edition by Richard B...
Solution Manual for Principles of Corporate Finance 14th Edition by Richard B...
Ā 
Log your LOA pain with Pension Lab's brilliant campaign
Log your LOA pain with Pension Lab's brilliant campaignLog your LOA pain with Pension Lab's brilliant campaign
Log your LOA pain with Pension Lab's brilliant campaign
Ā 
Q3 2024 Earnings Conference Call and Webcast Slides
Q3 2024 Earnings Conference Call and Webcast SlidesQ3 2024 Earnings Conference Call and Webcast Slides
Q3 2024 Earnings Conference Call and Webcast Slides
Ā 
Quarter 4- Module 3 Principles of Marketing
Quarter 4- Module 3 Principles of MarketingQuarter 4- Module 3 Principles of Marketing
Quarter 4- Module 3 Principles of Marketing
Ā 

Distributed Agile

  • 1. Distributed Agile Issues & Challenges Patterns and Anti-Patterns Naresh Jain Twitter: @nashjain http://blogs.agilefaqs.com Licensed Under Creative Commons by Naresh Jain 1
  • 2. Why Distributed Development? Licensed Under Creative Commons by Naresh Jain 2
  • 7. 7
  • 9. Lack of visibility into project status 9
  • 10. Lack of visibility into project status 9
  • 12. 11
  • 17. Me 15
  • 18. 16
  • 19. Mumbai 17
  • 21. FitNesse ProTest DBFit FitDecorator ProFIT La"u Patang QWick 19
  • 22. 20
  • 23. 21
  • 24. 22
  • 25. 23
  • 26. 24
  • 27. 25
  • 28. 26
  • 29. Root Cause My Observations Licensed Under Creative Commons by Naresh Jain 27
  • 31. Loss of Context (biz & tech) 29
  • 35. What does this lead to? Licensed Under Creative Commons by Naresh Jain 33
  • 37. More and more Upfront 35
  • 44. Distributed Agile? Licensed Under Creative Commons by Naresh Jain 42
  • 45. Agile Manifesto ā€œWe are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and Interactions OVER Processes and Tools. Working Software OVER Comprehensive Documentation. Customer Collaboration OVER Contract Negotiation. Responding to Change OVER following a Plan. That is, while there is value in the items on the right, we value the items on the left more.ā€ 43
  • 46. Case Studies Licensed Under Creative Commons by Naresh Jain 44
  • 47. Offshore Agile Maintenance Project Background EAI project for back ofļ¬ce data validation and billing system for a pay-per- view cable company in New York 2 years later, lack of funds to maintain the app Decision to offshore the project Ended up with one year maintenance contract. 45
  • 48. 1 Account Manager 1 PM 1 BA 2 Tester 1DBA 1 Manager 1 BA 3 Dev 1Tester 46
  • 49. We Faced Typical Maintenance Project Challenges Licensed Under Creative Commons by Naresh Jain 47
  • 51. Lack of System Expert 49
  • 53. Lack of Test Safety Net 51
  • 57. Fear 55
  • 60. XP Practices we started of with Planning game ā€“ 2 week iterations, story cards, Iteration Planning Meetings Small releases ā€“ 2 to 3 months Collective code ownership Continuous integration & Automated Release Standup meetings Coding standards 58
  • 61. What we did not have/could not do? Onsite Client System Metaphor Simple Design Automated Testing User Stories (instead we had CR or Bugs) 40 hour week / sustainable pace 59
  • 62. Evolved Agile Practices Kanban - Priority Log Micro releases ā€“ 2 to 3 days Refactoring (completely changed the Architecture) Pair Programming Collective code ownership Continuous integration & One click Release Test Driven Development 60
  • 63. Evolved Agile Practices... Retrospectives Daily client driven demo on Dev env EOD Status mail Cross functional Pairing Demos and functional walk thru by Client Automated Acceptance Test 61
  • 64. Results Product performs 3 times faster than before Huge increase in customer satisfaction More interesting work with increase per hour rate Great relationship and happy team Great platform to experiment with new process ideas Massive reduction in operating cost of the project 62
  • 65. 1 PM 1 Tester 2 Dev 1 Tester 63
  • 66. Case Study 2 Licensed Under Creative Commons by Naresh Jain 64
  • 67. Large Healthcare Enterprise System SAP like Healthcare suite for medium to large-scale hospitals and institutes Large Re-architecture effort (Across 3 different Product Lines) 400+ team size across 3 different continents Multiple Organizations involved for Training and Coaching Teams 65
  • 68. Started Off with... Pilot Project (1 Module of the entire application) 1 PM, 1 Scrum Master, 1 Architect/TL, 6 Dev, 1 BA and 1 Tester 100% Collocated Team Offshore members were onsite for 3 months (3 Sprints) 66
  • 69. Started off with Scrum/XP Practice 2 Week Project Inception Prioritized Backlog with WAGs 1 Month Sprints User Stories Stand-up Meetings Sprint Review and Retrospectives Automated Builds 67
  • 70. In the ļ¬rst 2 months 1 Month Sprint User Stories Automated Acceptance Tests Test First Development Collective Code Ownership Continuous Integration Sprint Review and Retrospectives 68
  • 71. End of 3 Months 2 Week Sprints Distributed Teams Evolutionary Design TDD Build Promotion and Single Click Release Automated UI Tests Brand Ambassadors/Cross Pollination 69
  • 72. Soon...Program Organization Program Management Scrum Scrum Master Scrum of Scrum Tech Lead Scrum of of Scrums Scrum of Scrums App 1 App 2 Shared Services/ M1 M2 Arch/Infrastructure Scrum M1 M2 Master Scrum of Scrum Scrums Master Scrum of S1 S2 M4 Scrums M5 M6 Tech Lead M8 Frameworks S3 Scrum of Scrums Tech Lead Scrum of Scrums M4 S4 S5 M3 M7 M3 M6 70
  • 73. 4 Module Teams Architecture Team 1 Conļ¬g Mgmt Team 3 Enterprise Products 1 IQA Team 18 Module Teams 1 DB Team 1 IQA Team 4 Module Teams 1 IQA Team 4 Module Teams 71
  • 74. Key Challenges We Faced Licensed Under Creative Commons by Naresh Jain 72
  • 75. Tools got in the Way 73
  • 76. Death by Cross-Team Integration 74
  • 77. End-to-End Delivery came to Grinding Halt 75
  • 80. Summary How Agile can help? Licensed Under Creative Commons by Naresh Jain 78
  • 81. Empowered Small Teams Its the people Duh! Build teams around motivated and passionate individuals Build a team environment where people are not afraid to try new things and fail (fail fast) Make work a fun place. 79
  • 82. Small Frequent Releases Increase visibility and enable early feedback. A weekly software showcase gives more conļ¬dence than a weekly status report. Fail fast, recover quickly and at lower cost 80
  • 83. Puts the customer in the driving seat Customer does Feature prioritization Customer uses early feedback to elaborate on and develop the requirements. Eliminates the need to articulate requirements in detailed documentation Customer makes business decision and development team makes technical decisions in collaboration with each other. Customer == Product Owner 81
  • 84. Adaptive Planning Inspect and Adapt Help responding to change Teams communicate often, share information frequently 82
  • 85. Feedback Driven Testing centric Test early, Test often and Test continuously Continuous integration Integrate with every checkin and avoid Integration Nightmares Automated Acceptance Tests Let acceptance criteria drive your development Team tastes success every time an iteration successfully passes customerā€™s test. 83
  • 86. Practices that make a Difference Licensed Under Creative Commons by Naresh Jain 84
  • 87. Continuous Integration Constant integration, building & testing of system with each change Set up a build promotion process and reduces on-site deployment risk. ā€œThe last person doesnā€™t go home until the build is cleanā€ 85
  • 88. Test Driven Development Reduces ambiguity around requirements by having executable speciļ¬cations Acceptance Criteria per story Acceptance Tests are written before coding starts Use Unit Tests to drive your design Build a safety net to prevent regression bugs 86
  • 89. Collective Ownership Cross Functional Pairing and Pair Programming Single shared code repository per project Mutually agreed coding standards and guidelines (Automated Check) Code Walk-through 87
  • 90. Other Practices Stand Up Meetings/Daily Scrum Dev Hurdles Retrospectives Planning Game 88
  • 91. Other Practices Stand Up Meetings/Daily Scrum Dev Hurdles Retrospectives Planning Game 88
  • 92. Distributed Agile Patterns Licensed Under Creative Commons by Naresh Jain 89
  • 93. Shared Workload Work split Divide work by functionality (stories), not by technical layers (horizontally). Otherwise, you create an interdependence that makes the dependent sub-team less productive Collective Ownership Each team is capable of demonstrating end-to-end functionality Capacity surpluses/shortages can be balanced through active management of work load distribution 90
  • 94. Single Virtual Team Everyone works on the same release/iteration cycle drumbeats Shared code base fosters collective ownership of the source code Shared build environments allow teams to collaborate and integrate continuously Developing in ā€œEnd-to-endā€ functional slices rather than layers allows teams to build upon each otherā€™s work and reduces dependencies between locations 91
  • 96. Cross Pollination Seeding Visits Start the project with a collocated team Knowledge Transfer ā€“ People as carriers of knowledge Build inter-personal relationships 92
  • 97. Cross Pollination Seeding Visits Start the project with a collocated team Knowledge Transfer ā€“ People as carriers of knowledge Build inter-personal relationships ā€œMaintenanceā€ Visits Ongoing Bi-directional and multifunctional Cultural Ambassadors 92
  • 98. Cross Pollination Seeding Visits Start the project with a collocated team Knowledge Transfer ā€“ People as carriers of knowledge Build inter-personal relationships ā€œMaintenanceā€ Visits Ongoing Bi-directional and multifunctional Cultural Ambassadors Establish a Travel budget. Often it is a very small percentage of total project cost. 92
  • 99. Cross Pollination - Offshore Model Time OnSite Offshore - Offshore Team Member - Client-side Team Member - Swap Members 93
  • 100. Cross Pollination - Offshore Model Time i 0 & i1 OnSite Offshore - Offshore Team Member - Client-side Team Member - Swap Members 93
  • 101. Cross Pollination - Offshore Model Time i 0 & i1 i2 OnSite Offshore - Offshore Team Member - Client-side Team Member - Swap Members 93
  • 102. Cross Pollination - Offshore Model Time i 0 & i1 i2 i3 OnSite Offshore - Offshore Team Member - Client-side Team Member - Swap Members 93
  • 103. Cross Pollination - Offshore Model Time i 0 & i1 i2 i3 i4 OnSite Offshore - Offshore Team Member - Client-side Team Member - Swap Members 93
  • 104. Cross Pollination - Distributed Model Time OnSite Offshore - Offshore Team Member - Client-side Team Member - Swap Members 94
  • 105. Cross Pollination - Distributed Model Time i 0 & i1 OnSite Offshore - Offshore Team Member - Client-side Team Member - Swap Members 94
  • 106. Cross Pollination - Distributed Model Time i 0 & i1 i2 OnSite Offshore - Offshore Team Member - Client-side Team Member - Swap Members 94
  • 107. Cross Pollination - Distributed Model Time i 0 & i1 i2 i3 OnSite Offshore - Offshore Team Member - Client-side Team Member - Swap Members 94
  • 108. Cross Pollination - Distributed Model Time i 0 & i1 i2 i3 i4 OnSite Offshore - Offshore Team Member - Client-side Team Member - Swap Members 94
  • 109. Simple Tools take you a long way Physical Story walls with pictures on Wikis can be quite powerful Good version control system like SVN Online collaboration tools like Google Docs, Card Meeting, Forums, etc 5-10 min video recording using simple cameras 95
  • 111. Massive over-communication Infrastructure High availability, high speed networks High-quality speakerphones, webcams Informative Workspaces and Information Radiators Communications Plans Standing calls Overlapping hours Instant Messaging,VoIP, NetMeeting, Webex etc. Wikis Team member photos on the wall 97
  • 112. Local Standup meetings Source : ThoughtWorks 98
  • 113. Anti-Patterns Licensed Under Creative Commons by Naresh Jain 99
  • 114. Communication Anti-Patterns Single Point of Failure - Resist single person communicating with the on-site team. Unless the team has language barriers Hide real issues - Embrace transparency, honesty and openness One liner emails - You need to set context in each mail. Using Wikis to Dump information and not collaborate 100
  • 115. Expectations Anti-Patterns 50% cost saving - Donā€™t sell Distributed Development purely as a cost saving scheme Unrealistic expectations about productivity - there will be communication overhead, there will be rework and there will be misunderstandings Wrongly try to please the customer/onsite team - Learn to say ā€œNoā€ 101
  • 116. Focus related Anti-patterns Tool Driven - Donā€™t be a tool slave. Choose the right tool for the right job. Process OVER People - Donā€™t focus too much on a consistent, well-deļ¬ned process across all locations. Instead let people deļ¬ne what works for them in their location. 102
  • 117. Work Allocation Anti-Patterns Slice work such that the two teams have to interact very little - They will drift away. Occasional involvement - You donā€™t swing a huge requirement document and expect things to come back the way you wanted them Change Control Boards - Collaborate with the customer to provide them competitive advantage 103
  • 118. Conclusion Distributed Development is difļ¬cult in general! Agile can help. Strong Development practices very important! 104
  • 119. References Most of this is based on my 5 years of experience at ThoughtWorks Distributed Agile Development and the Death of Distance http://www.thoughtworks.com/press-releases/Distributed-Agile-Development- and-the-Death-of-Distance.html Case Study: Distributed Agile Development http://www.pivolis.com/pdf/Distributed_Agile_V1.0.pdf Distributed Agile http://www.agilealliance.com/articles/steindlchristophdistr/ļ¬le Using an Agile Software Process with Offshore Development http://www.martinfowler.com/articles/agileOffshore.html 105
  • 120. Questions? Thank you Distributed Agile Naresh Jain naresh@agilefaqs.com 106