41
©2015 GlobalLogic Inc. Distributed Agile Patterns -ShriKant Vashishtha

Distributed Agile Patterns

Embed Size (px)

Citation preview

Page 1: Distributed Agile Patterns

©2015 GlobalLogic Inc.

Distributed Agile Patterns-ShriKant Vashishtha

Page 2: Distributed Agile Patterns

©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

Page 3: Distributed Agile Patterns

©2015 GlobalLogic Inc.

Blogs on agilebuddha.com

Page 4: Distributed Agile Patterns

©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

Page 5: Distributed Agile Patterns

©2015 GlobalLogic Inc.

Distributed Agile Success Factors

Page 6: Distributed Agile Patterns

©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

Page 7: Distributed Agile Patterns

©2015 GlobalLogic Inc.

Trust

Page 8: Distributed Agile Patterns

©2015 GlobalLogic Inc.

Courage to Change

Page 9: Distributed Agile Patterns

©2015 GlobalLogic Inc.

Innovation

Page 10: Distributed Agile Patterns

©2015 GlobalLogic Inc.

Communication

Page 11: Distributed Agile Patterns

©2015 GlobalLogic Inc.

Patterns Types• Structural

• Implementation

Page 12: Distributed Agile Patterns

©2015 GlobalLogic Inc.

Structural Patterns

Page 13: Distributed Agile 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

Page 14: Distributed Agile Patterns

©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

Page 15: Distributed Agile Patterns

©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

Page 16: Distributed Agile Patterns

©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

Page 17: Distributed Agile Patterns

©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

Page 18: Distributed Agile Patterns

©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

Page 19: Distributed Agile Patterns

©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

Page 20: Distributed Agile Patterns

©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

Page 21: Distributed Agile Patterns

©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

Page 22: Distributed Agile Patterns

©2015 GlobalLogic Inc.

Implementation Patterns

Page 23: Distributed Agile 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

Page 24: Distributed Agile Patterns

©2015 GlobalLogic Inc.

Distributed Collocated Teams

Page 25: Distributed Agile Patterns

©2015 GlobalLogic Inc.

Remote Pairing

Page 26: Distributed Agile Patterns

©2015 GlobalLogic Inc.

Virtual Collocation

Page 27: Distributed Agile Patterns

©2015 GlobalLogic Inc.

Local Retrospective

Page 28: Distributed Agile Patterns

©2015 GlobalLogic Inc.

Pseudo Product Owner and Specs By Example

Page 29: Distributed Agile Patterns

©2015 GlobalLogic Inc.

Acceptance Criteria (Executable Spec)

Customer who buys 2 albums gets an album free

Number of Albums Gets Free Album1 No2 Yes

Page 30: Distributed Agile Patterns

©2015 GlobalLogic Inc.

Nut-Bolt Pattern

Page 31: Distributed Agile Patterns

©2015 GlobalLogic Inc.

Backlog Grooming and Definition of READY

source: http://www.solutionsiq.com/images/definition-of-ready.gif

Page 32: Distributed Agile Patterns

©2015 GlobalLogic Inc.

Definition of Ready

Page 33: Distributed Agile Patterns

©2015 GlobalLogic Inc.

PO Kanban Board

Page 34: Distributed Agile Patterns

©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

Page 35: Distributed Agile Patterns

©2015 GlobalLogic Inc.

Distributed Collocated Teams with Opposite Time-zones

Page 36: Distributed Agile Patterns

©2015 GlobalLogic Inc.

One TeamCommunication

Shared Vision

Active Participation

Shared Goals

Shared Ownership

Page 37: Distributed Agile Patterns

©2015 GlobalLogic Inc.

Create Overlap

Page 38: Distributed Agile Patterns

©2015 GlobalLogic Inc.

No Local Meetings in Overlap Hours

Page 39: Distributed Agile Patterns

©2015 GlobalLogic Inc.

Scrum Meetings Attended by Whole Team

source: http://www.infoq.com/resource/articles/dutch-railway-scrum/en/resources/image2.jpg

Page 40: Distributed Agile Patterns

©2015 GlobalLogic Inc.

Continuous Backlog Grooming

Page 41: Distributed Agile Patterns