Agile Everywhere!
Consultant
www.crisp.se

Keynote, Agile Tour Montreal
Nov 16, 2016

Henrik Kniberg

Dadhenrik.kniberg@crisp.se@HenrikKniberg

Organizational coach& Change Instigator
AuthorIs Agile just a Software thing?
www.agilemanifesto.org
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to changeoverfollowing a plan

That is, while there is value in the items on
the right, we value the items on the left more.

Henrik Kniberg

5Henrik Kniberg

6Henrik Kniberg

Recruitment teamHenrik Kniberg

Recruitment teamHenrik Kniberg

JAS 39E Saab Gripen

Agile practices implemented at every level and inevery discipline: software, hardware and fuselage
design.

Pilots on the same site asdevelopment teams.
Direct feedback provided
every sprint.

1500 people, allco-located in
Linköping, Sweden.

Sources:• http://www.stratpost.com/gripen-operational-cost-lowest-of-all-western-fighters-janes• Personal visit to SAAB Linköping
• Research paper “Owning the Sky with Agile”

Henrik Kniberg

World’s most cost-effective
military aircraft($4700 Cost per Flight Hour)

Compared to F35 joint strike fighter,
Gripen 39E has:
• 50x lower development cost!
• 10x lower unit cost!

Thinking tools

Toola.k.a. ”mindsets” or ”philosophies””anything used as a means ofaccomplishing a task or purpose.”- dictionary.com

Physical tools

LeanAgile

Systems Thinking

Queuing theory

Toolkits

a.k.a. ”frameworks”
Scrum

KanbanXP
SAFe

Process tools

a.k.a. ”organizational patterns”Product Owner role
Pair programming

Visualize management
To do5Dev3

HTestRelease

DC2

GDone!
ABK
FLOW

Henrik Kniberg

3

Lean

Henrik Kniberg

AgileLeanHenrik Kniberg

AgileHenrik Kniberg

Agile Manifesto
www.agilemanifesto.org
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:

Individuals and interactions over processes and tools
Working software
solutions over comprehensive documentation
products
Customer collaboration over contract negotiation
Responding to change
feedback over following a plan
That is, while there is value in the items on
the right, we value the items on the left more.
15Henrik Kniberg

Agile is not newBuzzwords will come and go,
but the underlying ideas andprinciples are timelessHenrik Kniberg

••
•
•

2.3 million blocks
6 million tons
140 meters highTallest man-made structure
for 3800 years

Henrik Kniberg

Iterations, Continuous Improvement,
Pull, Single-piece flow 4500 years ago
Velocity of Khufu’s pyramid
construction:
1 block every 2.5 minutes... for 30 years!!!

Henrik Kniberg

2.5 – 15 tonsBeware of Tool Misuse
If all you have is a hammer,
everything looks like a nailAbraham Maslow

Henrik Kniberg

Misguided
Lean
Solving thewrong problem
Revealing theright problem

Henrik Kniberg

Photo: http://leanactionplan.pl/o-nas/artykuly_lean/Lean-Office;183.html

The Agile ”umbrella”
Agile Values & Principles
LeSS / SAFe

Big Room
Planning
Programboard
Pairing

XPSAFeScrum
SprintProductOwner

Continuous
Integration

Daily
Scrum

WIP Limits

KanbanHenrik Kniberg

DSDM

FDD
CrystalUsing an agile framework
doesn’t automatically makeyou agile!

You can be agile
without using ANY ofthese frameworks

Henrik Kniberg

PixarHenrik Kniberg

Example: Pixar

Early on, all of our movies suck.

That's a blunt assessment, I know, but I choose thatphrasing because saying it in a softer way fails to convey
how bad the first versions really are.

Our job is to make them go from
Suck to Not-Suck.

Henrik Kniberg

Ed Catmull
President of Pixar & Disney Animation Studios

In the early stage of making a movie, we draw
storyboards (a comic-book version of the story) and thenedit them together with dialogue and temporary music.

The first versions are very rough, but they give a senseof what the problems are, which in the beginning of all
productions are many.

We then iterate, and each version
typically gets better and better.

Henrik Kniberg

The further you are from software development,
the less likely that any of the popular frameworks will
fit 100%
Agile Values & Principles

LeSS / SAFe

XPSAFeScrum
KanbanHenrik Kniberg

Understand the Why of each tool
Story points

Retrospective

Definition ofDone
Cross-functional
teamCadenceContinuousIntegration

WIP limits
SprintScrum Master

Velocity

User stories

TDD
Pairprogramming

XPDaily standup
Henrik Kniberg

Value streammappingExample: Why Sprints?

Compromise between stability & flexibility.

Too much“stability”

Too much“flexibility”

Sprint =stability + flexibility

Henrik Kniberg

When is Agile most needed?
Agile is optimized
for this

Unclear/unstable

What todeliver

Clear & stable

Predictive process doesn’t work here.
Need an adaptive process.
(feedback loops rather than detailed plans)

Any process
works here
Clear & stable

Henrik Kniberg

How todeliver it

Unclear/unstable

Why is Agile spreading so fast?
Agile is optimized
for this

Unclear/unstable

What todeliver

Clear & stable

Predictive process doesn’t work here.
Need an adaptive process.
(feedback loops rather than detailed plans)

Any process
works here
Clear & stable

Henrik Kniberg

How todeliver it

Unclear/unstable

The role of copy-paste
Scrum and XP from the Trenches

Henrik Kniberg

Copy
Copy

Paste
Paste

Spotify Engineering Culture

Adapt

Strategies for applying agile in other contexts
Implement method X“by the book”, andfollow the rules
religously

Implement method X“by the book”,
then customize it

Cherry-pick
specific practices

Apply agile ideas directly,
without using any specificframework

Henrik Kniberg

Strategies for applying agile in other contexts
Implement method X“by the book”, andfollow the rules
religously

Implement method X“by the book”,
then customize it

Cherry-pick
specific practices

Apply agile ideas directly,
without using any specificframework

Henrik Kniberg

Example: Big Family Trip

Henrik Kniberg

Departure Date: Oct 1
MotivePreparations
Must Do

VisionShould Do

Could Do35

Henrik Kniberg

Big Family TripTravel “spike”

Round the world, 6 months
Small Family TripLondon, 4 days

Henrik Kniberg

JapanWest Indies

PeruNewZealandOn-the-road schoolingusing velocity, cadence, and burnup chart

Henrik Kniberg

“School” is every day after breakfast, regardless of location

Henrik Kniberg

On-the-road schoolingusing velocity, cadence, and burnup chart“On track” = bottom bar isahead of top bar

Travel days
School points “done”
Henrik Kniberg

Back home from the trip...
Why is the kitchen
always such a messsuddenly?

We didn’t have thatproblem whentravelling. Why?

Henrik Kniberg

88888888160+

888888888816

1-2days!

1Mon 7:00

34Mon 22:00

Mon 11:00

Tue 22:00

Root cause:
Dishwasher!

Henrik Kniberg

2

81688888

Henrik Kniberg

Henrik Kniberg

<1hour!

1

Mon 7:00

Mon 7:30

Henrik Kniberg

2

Henrik Kniberg

Worked like a charm!
but did we keep doing it?

Henrik Kniberg

Sometimes agile practices don’t stick.
That’s Fine.
Explanations:• The practice was only needed for a specific situation• The practice didn’t work too well
• The practice was a stepping stone until a better practice
was found• The practice was only needed to learn & internalize a newbehaviour

Henrik Kniberg

Pattern: Go all-in first, then go pragmatic
Batching

Kitchen1
Dishwasher

2
3
No personal sets needed“Wash my own dishes” attitude internalized
Dishwasher used sometimes

No tests

Test automation1

No batching
No dishwasher
WIP limit
Personal sets

Full TDD

2
3

Henrik Kniberg

Lean“Good enough” test coverage.
Tests & code in same commit
TDD when neededExample: Using a practice only when needed
Agile Product Ownership in a Nutshell• Production time: 2 days
Takes a couple of days tomake a cool animated
video

Spotify Engineering Culture video – part 1• Expected production time: A few days
• Actual production time: Several weeks!
Whoa! That took MUCH
longer than I expected!
How can I avoid the sameproblem for Part 2?
Henrik Kniberg

Video storyboard (rough sketches)

Henrik Kniberg

“Pointifying” the work

Henrik Kniberg

Pomodoro Technique

Personal Scrum with 30 minute sprints

Pomodoro 1

25 minutes

Henrik Kniberg

Decidewhat tofocus on

100% Focus!
No interruptions!

5 minute breakDecide
what tofocus on

100% Focus!
No interruptions!

Pomodoro 2

25 minutes

Measure:• How much can I get done in one Pomodoro?
• How many Pomodoros can I execute per day / week?

Used Yesterday’s Weather and burndown chart toreliably forecast when the video would be done

Henrik Kniberg

Strategies for applying agile in other contexts
Implement method X“by the book”, andfollow the rules
religously

Implement method X“by the book”,
then customize it

Cherry-pick
specific practicesApply agile ideas directly,
without using any specificframework

Henrik Kniberg

RobitHenrik Kniberg

Henrik Kniberg

2 kids & rookies with very
little robot experience...

Henrik Kniberg... vs ten teams ofadult geeks andprogrammers

Step 1: Set a clear goal (define “success”)

Let’s build a robotthat at least can puta fight....
No! We’re going
to WIN!

Henrik Kniberg

AgileHenrik Kniberg

Step 2: Build a Minimum Viable Robot(Earliest Testable Robot)

Henrik Kniberg

Aim for the clouds,
but deliver and test in small steps

Can stayin the ring

Henrik Kniberg

Can findopponent

Step 3: Build an opponent to practice against

Henrik Kniberg

Field test, Field test, Field test
Can win matchagainst a static
opponent
Can budge
opponent
Can get toopponent

Can stayin the ring

Henrik Kniberg

Can findopponentAim for the clouds,
but deliver and test in small steps

Can win matchagainst a static
opponent

Can budge
opponent
Can get toopponent

Can stayin the ring

Henrik Kniberg

Can findopponent

Lifter? Or no lifter?

Hypothesis:- Mechanical Lifter can help us winExperiment:- Build a simple lifter and try
Learning:- Works as designed...
- But too weak to lift opponent- ... so it doesn’t help us win!
Options:- Keep it cuz it’s cool (who needs to win anyway)- Improve it- Remove it, try a different approach
Henrik Kniberg

Simpler was better

Henrik Kniberg

Field testing =Success by
100 failures

Henrik Kniberg

Henrik Kniberg

Henrik Kniberg

Henrik Kniberg

Henrik Kniberg

How could they win?
Building skill? No.
Programming skills? No.
Luck? Partly, but not entirely.

1) Clear goal
2) Low self-confidence3) Emergent design4) LOTS of field testing!
Henrik Kniberg

Some tips when
applying agile in<insert domain here>

Henrik Kniberg

01:39

Don’t inflict help on people.
Pull works better than Push

Push

Pull
Hey, your way of working
looks interesting. Think
something similar mightwork for us?

Hey we’re using
Scrum here, you
should too!
...

Invites resistance and“not invented here”
syndrome

Sure, I’ll show
you how wework, and why.

Invitescollaboration

I like it! Can you help
us get started?
Sure. Tell me more about
your domain, and we’llfigure it out together.
Henrik Kniberg

WARNING
2 slides full of bullet points coming up
sorry...

Agile in Domain X requires a collaboration
between people who understand Domain X, andpeople who understand Agile.
Step 1: Understand the context
Step 2: Understand the tools• What is Agile? Scrum? Kanban? XYZ?
• What do you do?
• Which principles and practices are most
• Who are your stakeholders?
applicable in your context?
• What is a unit of work?
• What does Done mean?
Step 3: Get Buy-in• Who needs to be involved to make the• What does Success look like?
change happen?
• Who is need to get things to Done?
• What’s in it for them?
• What do you want to improve, and why?
• How will you know if you’ve improved? Step 4: Start experimenting• When in doubt, start by making workvisible• Find some early wins to build trust

Henrik Kniberg

Take-aways• Agile is not new, and not going away

• The word may go out of fashion, but the ideas are timeless• Agile can be useful in just about any context, not just software• But Agile or <insert framework here> is only a means, never a goal

• Distinguish between Principles and Practices• Practices are more domain-specific and need to be adapted or replaced• Copy & Paste & Evolve• No need to reinvent the wheel• Use the appropriate language for the domain• Don’t unnecessarily alienate people with strange words• Don’t inflict help on people• If they are happy with their current way of working,then don’t bother trying to change it.

Henrik Kniberg