scaling scrum with feature teams

45
[email protected] Scaling Scrum with Feature Teams

Upload: dangcong

Post on 12-Feb-2017

230 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Scaling Scrum with Feature Teams

[email protected]

Scaling Scrum

with Feature

Teams

Page 2: Scaling Scrum with Feature Teams

Agenda

2

Introduction

Before we start -> Some basics

Feature teams and component teams

Page 3: Scaling Scrum with Feature Teams

Introduction

3

Page 4: Scaling Scrum with Feature Teams

バスはどれでしょう?

or 八斯是!?

Page 5: Scaling Scrum with Feature Teams

Scaling Lean & Agile Development

Thinking and Organizational Tools for Large-Scale Scrum

Craig LarmanBas Vodde

Practices for Scaling Lean & Agile

DevelopmentLarge, Multisite, and Offshore Products

with Large-Scale Scrum

Craig LarmanBas Vodde

Page 6: Scaling Scrum with Feature Teams

Some basics

6

Page 7: Scaling Scrum with Feature Teams

7

Scrum

Page 8: Scaling Scrum with Feature Teams

Continuous Integration

8

Continuous Integration is a developer practice

with the goal to always keep a working system

by making small changes, slowly growing the system

and integrating them at least daily

on the mainline

typically supported by a CI system

with lots of automated tests

Page 9: Scaling Scrum with Feature Teams

9

Page 10: Scaling Scrum with Feature Teams

Scaling CI system

10

Page 11: Scaling Scrum with Feature Teams

Large-scale setup

11

Customer DocDeveloperScrumMaster

Analyst

Tester ArchitectInteraction

Designer

Customer DocDeveloperScrumMaster

Analyst

Tester ArchitectInteraction

Designer

Customer DocDeveloperScrumMaster

Analyst

Tester ArchitectInteraction

Designer

Page 12: Scaling Scrum with Feature Teams

Feature teams

12

Page 13: Scaling Scrum with Feature Teams

Conway’s law

Any organization that designs a system (defined more broadly here than just information systems) will inevitably produce a design whose structure is a copy of the organization's communication structure.

Page 14: Scaling Scrum with Feature Teams

And...

Because the design that occurs first is almost never the best possible, the prevailing system concept may need to change. Therefore, flexibility of organization is important to effective design.

- Mel Conway

Page 15: Scaling Scrum with Feature Teams

One ProductOwner

Multiple Teams

Teams own a part of the system:

“Component teams”

Page 16: Scaling Scrum with Feature Teams

Low value work is implemented

Everybody always busy?

Page 17: Scaling Scrum with Feature Teams

“Work gets created”

Large systems... grow larger by default

Page 18: Scaling Scrum with Feature Teams

One requirement does not map to one team

Dependencies never balance out

Result: Not complete requirements integrated

Page 19: Scaling Scrum with Feature Teams

Assign a problem to a role

Impossible job, requirements never balance out.

Result: priority and resource fights

Page 20: Scaling Scrum with Feature Teams

Large backlog items must be split in “less customer-centric backlog items”

Page 21: Scaling Scrum with Feature Teams

Splitting before the iteration starts: “Architecture”

Testing after the iterations ends:“System test”

Page 22: Scaling Scrum with Feature Teams

How to become good? ...

Page 23: Scaling Scrum with Feature Teams

One ProductOwner

3 Teams

Page 24: Scaling Scrum with Feature Teams

Give complete requirements to teams:“Feature teams”

All dependencies within the team

Page 25: Scaling Scrum with Feature Teams

Feature Teams

• long-lived—the team stays together so they can ‘jell’ for higher performance; they take on new features over time

• cross-functional and co-located

• work on a complete customer-centric feature, across all components and disciplines

• composed of generalizing specialists

Page 26: Scaling Scrum with Feature Teams

New problem:

Dependency moved

Page 27: Scaling Scrum with Feature Teams
Page 28: Scaling Scrum with Feature Teams

Modern version control (e.g. svn)

Continuous integration development practice

Automated build and test

Page 29: Scaling Scrum with Feature Teams

Person specialization

Page 30: Scaling Scrum with Feature Teams

Team specialization

Page 31: Scaling Scrum with Feature Teams

Team specialization

Page 32: Scaling Scrum with Feature Teams

Specialization good

Don’t let specialization constrain you

Learn new specializations

Page 33: Scaling Scrum with Feature Teams

Emergent design

Component guardians

Page 34: Scaling Scrum with Feature Teams

Community of Practice

Architect Facilitator

Same for e.g. test, ScrumMasters

Page 35: Scaling Scrum with Feature Teams

Transition can often be done by reforming teams

Page 36: Scaling Scrum with Feature Teams

What about large product development?

Page 37: Scaling Scrum with Feature Teams

Always have one product owner and one product backlog per product

Or... a group of products...

Page 38: Scaling Scrum with Feature Teams

Group requirements into “categories” called:“Requirement areas”

Grouping based on customer, NOT on architecture

Page 39: Scaling Scrum with Feature Teams

Create “requirement area backlogs”

RA backlog is a view on the product backlog

Every PBI maps always to exactly one RA backlog

Page 40: Scaling Scrum with Feature Teams

Every RA has their own “area product owner”

RA product owner specializes in “customer-centric domain”

Page 41: Scaling Scrum with Feature Teams

Every RA has a set of feature teams

From 5-10 per RA

Teams specialize in that area

Areas are dynamic over time

Page 42: Scaling Scrum with Feature Teams

Overall PO decides on moving teams between areas

Value vs velocity

Page 43: Scaling Scrum with Feature Teams

Transition strategy

Page 44: Scaling Scrum with Feature Teams

“Development areas” are groupings based on architecture

Helps transition, has all drawbacks of component teams

Page 45: Scaling Scrum with Feature Teams

Questions?