real-life agile scaling · 2019. 1. 3. · real-life agile scaling – take aways • scaling hurts...

67
Author Parent Agile & Lean coach www.crisp.se Consultant Henrik Kniberg [email protected] @HenrikKniberg Real-life Agile Scaling Keynote - Agile Tour Bangkok Nov 21, 2015

Upload: others

Post on 25-Sep-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Author

Parent

Agile & Lean coach

www.crisp.se

ConsultantHenrik [email protected]

@HenrikKniberg

Real-life Agile ScalingKeynote - Agile Tour Bangkok

Nov 21, 2015

Page 2: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Not too hard

Henrik Kniberg

Page 3: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

A bit trickier

Henrik Kniberg

Page 4: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Henrik Kniberg

Hard!

Page 5: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

How do we avoid THIS?

Henrik Kniberg

Page 6: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

01:32

Beware of Scaling

Henrik Kniberg

Page 7: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Beware of Scaling

Potential Downside (Risk):•  Longer delivery time

because of misalignment & dependencies

•  Worse product because of bad communication

Henrik Kniberg

! ?

?

Guaranteed Downside•  Cost•  Complexity

Potential Upside:•  Shorter delivery time

more hands on deck, parallell work

•  Better product access to wider range of competences

Page 8: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Stuff you need to figure out with multiple teams

Henrik Kniberg Dependencies!

How to slice the elephant Team sync / alignment

Team structure Feedback loop

Page 9: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

01:32

Slice the elephant

Henrik Kniberg

Page 10: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

RISK

Big Bang = Big Risk

Henrik Kniberg

CumulativeValue

Source: Chaos Manifesto 2013, Standish group

38%totally fail1

10% succeed

Page 11: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Henrik Kniberg

Lego Universe

4 years to first public release

≈250 people involved

Shut down after 2 years of operation

Page 12: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Henrik Kniberg

1

1 2 3

2 5

Not like this....

Like this!

43

4

Page 13: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Slice the elephant!

Henrik Kniberg

1.0

1.2

1.3 1.4

1.5

RegionÖstergötland,Uppsala, etc

Crime types(weapon,drunk driving,shoplifting, etc)

Integrations

1.1

Page 14: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

MVP – Minimum Viable Product

Henrik Kniberg

Page 15: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Minimum viable

Henrik Kniberg

Earliest Testable Product

Earliest Usable Product

Earliest Lovable Product

Aim for the Clouds...

Earliest testable/usable/lovable

But deliver in Small Steps

Page 16: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Two types of slicingRelease

1.0 Release

1.1 Release

1.3

Slicing to enable early & frequent release

Release 1.2

Slicing to enable parallel development

Henrik Kniberg

Page 17: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

01:32

Build a suitable Team Structure

Page 18: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Component team vs Feature team

Henrik Kniberg

Client team

C C C

Test team

T T T

DB team

D D D

Server team

S S S

Feature team 1

C C

S

D

T T

C

S

D

T

Feature team 2

D

S

DB

Server

Client

User

Communities of interest

Page 19: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Two conflicting goals (at scale):

1.  Team should be “full-stack”2.  Team should be small

Henrik Kniberg

Front end

Back end

Test

Data analytics

UX

Design

DB

Monitoring

OperationsBuild systems Big Data

SecurityPerformanceMarketing

Hardware

Page 20: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Team types - finding the right balance

100% feature teams 100% Component teams

Small orgs

Trade-off

Large orgs

Small orgs

Large orgs Large orgs

Small orgs

Henrik Kniberg

Page 21: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Types of dependenciesBuilding the same product(implicit dependency!)

Building different products, but have dependencies

Knowledge sharing Knowledge sharingDependency sync

Knowledge sharingDependency syncProduct integration

independent teams

Henrik Kniberg

Page 22: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Dependencies

Good Dependency (aka “collaboration”)

Bad Dependency !?#@%

Henrik Kniberg

Page 23: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Example:Visualizing team dependencies

Our TeamTeam Snap

Team Flash

Team Bazinga

Team Sheldon

Team TBBT

Henrik Kniberg & Jan Grape

Page 24: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Example:Visualizing team dependencies

Henrik Kniberg

Page 25: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Good vs bad dependenciesFull-stack team.Can deliver customer value independently.

A A1

B

A2

Platform

Platformized teamsTeam A1 and A2 are more effective because of team B’s platform

Coupled teamsA must sync with B in order to deliver customer value.

A

B

Henrik Kniberg

Page 26: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Customer-driven platform teams

A1

B

A2

Platform

The other teams are our customers!

The other teams must obey us!

External-facing teamsFocus on delivering value to external customers

Internal-facing teamsFocus on making other teams more effective at delivering value to their customers.

Page 27: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Key decision: Where can we accept low-bandwidth communication?

Low bandwidth

High bandwidth

High bandwidth

The speed of development is determined by the speed of ideas spreading

Alistair Cockburn

Henrik Kniberg

Page 28: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Teams of Teams!

Bunch of individuals

Teams of Small teams

Big teams Small Teams

Henrik Kniberg

Page 29: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Decoupling to enable frequent releases

Henrik Kniberg

Feature squads

Client App squad

!#?

Page 30: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Guidelines for team structure

Try to ensure that each team:❏  is 3-9 people❏  is stable(ish), full-time & co-located.❏  has a mission ❏  has clear customers❏  can prioritize between customers

(ex: via a PO role, or via clear strategic guidelines)❏  cross-functional: has all skills and tools needed to

deliver value to customers❏  autonomous: doesn’t get blocked waiting for other

teams and individuals.Henrik Kniberg

Page 31: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

01:32

Scale the feedback loop

Henrik Kniberg

Page 32: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Single team feedback loops

Henrik Kniberg

Daily StandupRetrospective

Continuous Integration

Unit tests

Sprint review

Page 33: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Multiteam feedback loops

Henrik Kniberg

Cross team sync,retro, etc

Whole Product review

Page 34: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Pattern: Integration Cadence

Henrik Kniberg

Page 35: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Henrik Kniberg

Page 36: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Pattern: 2-tier planning/alignment

Months

Weeks Weeks Weeks Weeks

Henrik Kniberg

Page 37: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Pattern: Plan on a cadence, release on demand

Release candidates

Release candidates

Planning event

Planning event

Planning event

Release 1.0 Release 1.1 Release 1.2 Release 1.2.1

Release 2.0

Henrik Kniberg

Page 38: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Test & integrate

Deploy to staging

Deploy to prod

Manual test

Manual Code & commit

Build Automatic

Continuous Integration = Mandatory!

Continuous Delivery = Aspirational.

Single click

Henrik Kniberg

Page 39: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

01:32

Get everyone aligned

Henrik Kniberg

Page 40: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Misaligned teams move very slowly

Henrik Kniberg

Page 41: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

More teams = more likely that you will need dedicated leader(s)

Henrik Kniberg

Page 42: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Example: Leadership ”Trios”

T P D

Tech Product Design

Henrik Kniberg

Page 43: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Alignment & Autonomy

Henrik Kniberg

Alignment

Do what I say!

Autonomy

Do whatever

False dichotomy

Page 44: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Alignment enables Autonomy

Henrik Kniberg

HighAlignment

High Autonomy

Build a bridge!

MicromanagingorganizationIndifferent culture

EntrepreneurialorganizationChaoticculture

AuthoritativeorganizationConformist culture

InnovativeorganizationCollaborative culture

We need to cross the river

Figure out how!We need to

cross the river

LowAlignment

Low Autonomy

Hope someone is working on the river problem…

Aligned Autonomy!

Page 45: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Example: Big-room planning/alignment at Lego Planning as a social event

Henrik Kniberg

Page 46: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

2 days, 19 teams, 150 people

Henrik Kniberg

Page 47: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Demo video – what have we accomplished?

Henrik Kniberg

Page 48: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Lightning talks

Global Insights Digital Child Safety Data Privacy Law

High level priorities:1.  ...2. ...3. ....

Architecture vision / priorities / constraints

Henrik Kniberg

Page 49: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Pattern: Different levels of granularity

Henrik Kniberg

Program/Product backlog

Feature/EpicMarketableReleasable

StoryTestableFits in a sprint

StoryTestableFits in a sprint

Team Backlog Team Backlog

Page 50: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Team breakout: Pulling from the program backlog

Henrik Kniberg

Page 51: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Henrik Kniberg

Team breakout: Pulling from the program backlog (digital version)

Henrik Kniberg

Page 52: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Team breakouts Law of 2 feet....

Henrik Kniberg

Page 53: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Program Board (a.k.a Dependency Board)

Henrik Kniberg

Page 54: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Henrik Kniberg

Early detection of dependency problems

Page 55: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Scrum of Scrums = dependency sync

Henrik Kniberg

Page 56: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Simpler version of dependency sync

Dependency board”right now, who’s waiting for what from whom”

Henrik Kniberg

Page 57: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Risk board (per project/epic)

Henrik Kniberg

Page 58: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Management review / problem solving

Henrik Kniberg

Page 59: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Management feedback & commitment to help

Henrik Kniberg

Day 2

Page 60: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Pattern: Information radiators

Henrik Kniberg

•  In the hallway•  Or in a War Room Zen Room

Page 61: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Henrik Kniberg

Big Picture – features/epics

Team 1 - storiesTeam 2 - stories Team 3 - stories

Page 62: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Henrik Kniberg

Count cards

Velocity per week

Example: Measuring velocity by counting cards

Page 63: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Henrik Kniberg65

65

Total# of delivered features

Week

Example: Release planning using a burnup chartAll of these will be done

Some of these will be done,

but not all

None of these will be done

Page 64: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

01:32

Wrapup

Page 65: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Don’t go overboard with Agile!

Henrik Kniberg

No planBig up front

planRough, adaptiveplan

No architectureBig up frontarchitecture

Rough, adaptivearchitecture

WaterfallBad Agile Good Agile

Page 66: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Stuff you need to figure out with multiple teams

Henrik Kniberg Dependencies!

How to slice the elephant Team sync / alignment

Team structure Feedback loop

Page 67: Real-life Agile Scaling · 2019. 1. 3. · Real-life agile scaling – take aways • Scaling hurts Keep things as small as possible • Agile is a means, not a goal Don’t go Agile

Real-life agile scaling – take aways•  Scaling hurts

Keep things as small as possible•  Agile is a means, not a goal

Don’t go Agile Jihad. Don’t dump old practices that work•  There is no “right” or “wrong” way

Just tradeoffs•  There is no one-size-fits-all

But plenty of good practices•  Build feedback loops at all levels

Gives you better products and a self-improving organization.

Henrik Kniberg