distributed agile patterns

Post on 15-Jul-2015

300 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

©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.

Blogs on agilebuddha.com

©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