agile | distributed teams and dependencies

34
©2008 Improving Enterprises, Inc. Agile with Distributed Teams and Dependencies By: Nirmaljeet Malhotra Agile Coach

Upload: nirmaljeet-malhotra

Post on 12-Jul-2015

177 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Agile with Distributed Teams

and Dependencies

By: Nirmaljeet Malhotra Agile Coach

Page 2: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Intro

Distributed family

15 years in IT

7+ years in Agile

Twitter: #mnirmaljeet

www.nirmaljeet.com

Agile coach and

trainer

Page 3: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Wanna be Agile?

Distributed

Teams

Dependencies

Page 4: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Scrum by the book…

Page 5: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Why distribute?

Agile hyper productivity and quality

combined with offshore benefits:

Availability of talent

Scale up and down

Cost reduction

Round the clock support

Page 6: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

What are distributed teams?

Not at the same place

Different

Floor

Office

City

Country

Continent

Time-zone

Offshore, near shore, not sure..

Courtesy: Keith Richards

Page 7: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Distributed ways

Courtesy: Jeff Sutherland

Page 8: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Survey 1

In one word, share your number 1 problem

with distributed teams across

countries/continents

Page 9: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Survey 2

In one word, share your number 1 problem

with distributed teams in the same

building/floor

Page 10: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Question?

So where is the problem?

Page 11: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Agile Manifesto

http://agilemanifesto.org/

Individuals

Interactions

Processes

Tools

Working

Software

Comprehensive

Documentation

Customer

Collaboration

Contract

Negotiation

Responding to

Change

Following a

Plan

Distributed Teams

Page 12: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Distributed teams | Key issues

Communication tax

Accessibility

Information lost in translation

Language and cultural differences

Motivation drop

Cost

Compromise on personal time

Page 13: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

“Project costs increase in proportion to the

time it takes for people to understand each

other” - Alistair Cockburn

Page 14: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Key success attributes

Focused team work Collaboration

Trust Cultural Sensitivity

Page 15: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Communication Face to face

Use WebEx, Skype etc… whatever it takes

Phone and IM is better than documents and mails

Go visual

Travel - create a bond

Collaboration Digital scrum boards / dash boards

Wiki

Avoid/reduce emails

Share the pain

Communication and Collaboration

Page 16: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Development and Tracking Tools

Where is the code and how do we

manage it?

How much TDD and CI?

What other tools are we using to:

Manage requirements

Manage project

Page 17: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

What’s important..

What is the vision?

Don’t allow tools to drive the process

Leverage creativity

Page 18: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Agile

Feature teams

Story mapping

Release planning

Backlog grooming

Scrum of Scrums

Same scrum rules apply Courtesy: agilenorth.org

Page 19: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Distributed setup

Role distribution

Balance of power

Distribution in vertical

slices

Affinity based feature

ownership

One team

Page 20: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Before you scale

Run scrum successfully locally

Elevate quality through XP practices

Stop thrashing, focus people

Scale

Introduction to agile and scaling at the same time can be a challenge

Page 21: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Inspect and adapt

Hone the process, a tiny bit each time

Find the root cause

Retrospect

Keep it simple

Page 22: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Best practices for distributed Agile

People Process Tools

Open seating Daily stand up Wiki

Team building Scrum of Scrums Star phones

Vision Retrospectives Smart boards

Cross pollination Remote pairing PLM tool

Tracking and metrics Build pipeline

Example:

Page 23: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Manage distance

Page 24: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Dependencies

Page 25: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Where do dependencies come from?

End user driven

Requirements decomposition

driven

Component driven

Technology driven

Page 26: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Dependency | Key issues

Conflicting priorities Team A dependent on Team B

Team A makes a change causing work for Team B (Architectural refactoring)

Dynamic scope Changing priorities each sprint

Cycle time

Higher cost

Communication and process overhead

Perception

Integration

Tough to predict / anticipate

Courtesy: gfi.com

Page 27: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Option 1 | Feature Teams

Feature teams

Allow teams to deliver end to end feature

Searc

h

Bro

wse

Checkout

Pay

Team A

Vision

Autonomy

Page 28: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Options 2 – Open Source Model

Internal open source model

Team 1 Team 2

Reduced wait time

Collective ownership

Build knowledge

Understand challenges

Evolve Design guidelines

Code standards

People

Build trust

Page 29: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Option 3 – Dependency planning

Identify and plan for dependencies

User story mapping

Release planning Usage

Criticality

Re

lea

se

1.0

R

ele

as

e 1

.1

Page 30: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Option 3 – Dependency planning 2

Involve all POs

Cross team collaboration

Scrum of Scrums

Mock

Definition of Done

Inspect and adapt

Page 31: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Communities

Page 32: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Finally

Having right structure and tools is important

But…

How you practice Agile values is critical

Page 33: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Page 34: Agile | Distributed teams and dependencies

©2008 Improving Enterprises, Inc.

Improving builds custom software for other companies and

provides advanced technology training

Dallas, TX | Houston, TX | Columbus, OH | Minneapolis, MN | Calgary, AB

www.improving.com

Featured Agile Training

*Professional Scrum Master Certification

*Professional Scrum Developer Certification (.NET & Java)

*Agile Scrum Immersion

About Improving