©2015 GlobalLogic Inc.
Distributed Agile Patterns-ShriKant Vashishtha
©2015 GlobalLogic Inc.
About Me!• Agile Coach at Globallogic Noida • 16+ years of IT experience • Trainer on Agile, Agile Testing, Continuous
Delivery, Specification by Example or
BDD, Continuous Inspection • Singer, counsellor, self-help thinker • Twitter - @vashishthask
©2015 GlobalLogic Inc.
Distributed Agile Failure Points
• Not actually doing “Basic” Scrum in the first place.
• Inadequate tools and governance mechanisms to make asynchronous communication successful
• “We vs they” or “Vendor vs Customer” mindset
• Unbalanced distribution of work and ownership
©2015 GlobalLogic Inc.
Distributed Agile Success Factors
©2015 GlobalLogic Inc.
Don’t Distribute in First Place
Scrum Team
Product
Owner
GEO1 GEO2
Scrum
Master
Sprint
Backlog
Function1
(e.g. Dev)
Function2
(e.g. Test)
Function
Lead
©2015 GlobalLogic Inc.
Trust
©2015 GlobalLogic Inc.
Courage to Change
©2015 GlobalLogic Inc.
Innovation
©2015 GlobalLogic Inc.
Communication
©2015 GlobalLogic Inc.
Patterns Types• Structural
• Implementation
©2015 GlobalLogic Inc.
Structural Patterns
©2015 GlobalLogic Inc.
Local Control, Distributed Team
Scrum Team
Product
Owner
Function1
(e.g. Dev)
Function2
(e.g. Test)
GEO1 GEO2
Scrum
Master
Sprint
Backlog
©2015 GlobalLogic Inc.
Local Control, Distributed Team
• Most useful when
• Total team size is small:for example, a single team 4 to 8 person Scrum team
• Team members are peers; little or no mentorship required
• Natural overlap of about 4 to 5 “core” working hours per day in all timezones
• Continuous Communication channel open between all team members during core hours
• Good tool support
• Frequent face to face contact between team members to maintain team identity
©2015 GlobalLogic Inc.
Local Control, Distributed Team
• Problems to watch out for
• Non-peer developers or too large a team
• Limited face-to-face communication
• “Remote” team members will eventually start to feel detached.
• Limited natural overlap in working hours
• Team members will get burned out
• Lack of good real-time tools and asynchronous communication tools
©2015 GlobalLogic Inc.
Remote Functional Team
Scrum Team
Product
Owner
GEO1 GEO2
Scrum
Master
Sprint
Backlog
Function1
(e.g. Dev)
Function2
(e.g. Test)
Function
Lead
©2015 GlobalLogic Inc.
Remote Functional Teams• Most useful when
• Strong functional expertise and ownership in remote geography
• Disciplined Scrum implementation with artifacts available globally in real-time
©2015 GlobalLogic Inc.
Remote Functional Teams• Problems to watch out for
• Remote team members cannot attend full kick-offs, retrospectives and team meetings
• Remote team will be missing the context and fall behind the on-shore team
©2015 GlobalLogic Inc.
Remote Self-Contained Teams
Self-
Contained
Scrum Team
(4 - 8 people)Product
Owner
GEO1 GEO2
Scrum
Master
Sprint
Backlog
Self-
Contained
Scrum Team
(4 - 8 people)
Scrum
Master
Sprint
Backlog
Proxy
Product
Owner
©2015 GlobalLogic Inc.
Remote Self Contained Teams
• Most useful when
• Coupling between product components and interfaces is or can be defined well enough that each can separately evolve.
• Domain and product expertise exists or can be developed in the remote site(s)
• Frequent face-to-face visits between team members
• “High trust” culture exists or can grow
• Effective governance model in place so that cross-team, cross-geography decisions can be made with full buy-in
©2015 GlobalLogic Inc.
Remote Functional Teams• Problems to watch out for
• Product components too tightly coupled, or no domain expertise remotely
• Too much synchronous communication required to support full effectiveness
• Lack of face-to-face visits, or “low-trust” culture in place
• One team may feel threatened by the other and attempt subtle sabotage
• Lack of effective, inclusive governance model
• Remote team will become disempowered
©2015 GlobalLogic Inc.
Implementation Patterns
©2015 GlobalLogic Inc.
Implementation Patterns For…
• Distributed Teams on two locations
• Distributed Teams on Two Locations with opposite time-zones
• Fully Distributed Teams
• Distributed Teams on Multiple Location
©2015 GlobalLogic Inc.
Distributed Collocated Teams
©2015 GlobalLogic Inc.
Remote Pairing
©2015 GlobalLogic Inc.
Virtual Collocation
©2015 GlobalLogic Inc.
Local Retrospective
©2015 GlobalLogic Inc.
Pseudo Product Owner and Specs By Example
©2015 GlobalLogic Inc.
Acceptance Criteria (Executable Spec)
Customer who buys 2 albums gets an album free
Number of Albums Gets Free Album1 No2 Yes
©2015 GlobalLogic Inc.
Nut-Bolt Pattern
©2015 GlobalLogic Inc.
Backlog Grooming and Definition of READY
source: http://www.solutionsiq.com/images/definition-of-ready.gif
©2015 GlobalLogic Inc.
Definition of Ready
©2015 GlobalLogic Inc.
PO Kanban Board
©2015 GlobalLogic Inc.
One Team Multiple ProjectsTi
me/
Stor
y Po
ints
0
20
40
60
80
Time
Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8 Week 9 Week 10Week 11
No work available
Work Available
©2015 GlobalLogic Inc.
Distributed Collocated Teams with Opposite Time-zones
©2015 GlobalLogic Inc.
One TeamCommunication
Shared Vision
Active Participation
Shared Goals
Shared Ownership
©2015 GlobalLogic Inc.
Create Overlap
©2015 GlobalLogic Inc.
No Local Meetings in Overlap Hours
©2015 GlobalLogic Inc.
Scrum Meetings Attended by Whole Team
source: http://www.infoq.com/resource/articles/dutch-railway-scrum/en/resources/image2.jpg
©2015 GlobalLogic Inc.
Continuous Backlog Grooming
Top Related