Вы находитесь на странице: 1из 80

Spotify the unproject culture

(+ failure story how to burn 1 billion)

Consultant
www.crisp.se

Passion for Projects keyote,


May 21, 2013

Henrik Kniberg

Father

henrik.kniberg@crisp.se
@HenrikKniberg

Agile & Lean coach


Author

Boring but important practical info about these slides


Usage
Feel free to use slides & pictures as you wish, as long as you leave my name somewhere.
For licensing details see Creative Commons (http://creativecommons.org/licenses/by/3.0/)
Downloading the right font
This presentation uses the Noteworthy font. If youre using Mac OSX 10.7 or later it should be
preinstalled. If youre on a Windows or older Mac OS then you need to download the font from here:
http://tinyurl.com/noteworthy-ttc
On Windows right-click the font file and select install. Then restart Powerpoint.
On Mac, double-click the font file and press install font. Then restart Powerpoint.
The PDF version of these slides has the font embedded, so you dont need to do anything. On the other
hand you dont get the fancy animations.
Font test
How the font is supposed to look:
(screenshot from my computer)

How the font shows up on your computer:

The quick brown fox jumps over the lazy dog


The quick brown fox jumps over the lazy dog

Henrik Kniberg

Regardless of font appearance, if that text doesnt fit nicely into


the box then youre going to need to download the right font, or
switch to a new font and fiddle with the slides to make sure
things fit.

Purpose of this presentation


Show that projects arent the only way to get stuff done

Henrik Kniberg

Success = ?

Henrik Kniberg

01:32

What is a successful project?


Scope

nah....

Budget

Henrik Kniberg

Schedule

What is a successful project?


Project A

Project B

Scope

Budget

Scope

Scope

Schedule

Customer

Users

Development team

Henrik Kniberg

Project C

Budget

Schedule

Customer
Happy
stakeholders!
Users

Development team

Budget

Schedule

Customer

Users

Development team

Happy
stakeholders!

Measuring success

Happy
stakeholders

Proxy
metrics
Do they
come back
more often?

Measure the stuff


that really matters!

Happy
development
team

Happy
users

Surveys
Do they
stay longer?

Henrik Kniberg

Do they listen to
more music?

Do they share
more music?

A unique & expensive


experiment

Henrik Kniberg

01:32

Experiment: Build the same product twice, in different ways


Project 1

Project 2

Mission

Improve society

Reduce maintenance cost

Requirements

Unclear

Clear

Delivery

Agile (= Iterative/incremental)

Big bang

User involvement Continuous

None

Teams influence
over technology
choices

High

None

Tech platform

Java
(programming language)

Siebel
(CRM system)

Hypothesis: second version will be cheaper (and better).

Henrik Kniberg

PUST polisens utredningsstd

Henrik Kniberg

Project 1: PUST Java


Nationwide
release

pilot releases

2010

2011

Rebuild the whole


thing using Oracle
Siebel

Oracle says Siebel


will be cheaper and
better

Oracle says Siebel


will be cheaper and
better

No time for that.


Build the whole thing in
one go, and release
nationwide when done.

Henrik Kniberg

Huh? We just spent 100 Mkr


building a working product.
Shouldnt we keep improving on
that?

But it wont work! PUST


is UX critical, and its not
a CRM system!

Well then lets build a


small pilot version, to see
if that is true

Project 2: Pust Siebel

A train wreck in slow motion

Henrik Kniberg

Project 2: Pust Siebel

2012

Henrik Kniberg

Nationwide
release

2013

@#?

Result of experiment build the same product twice:


PUST Java

PUST Siebel

Mission

Improve society

Lower cost

Delivery

Iterative

Big bang

Teams influence
over technology
choices

High

None

Tech platform

Java
(programming language)

Siebel
(CRM system)

RESULT

PUST Java

PUST Siebel

Cost

100 Mkr

200 Mkr
+ estimated damage 10 Bkr

Measured impact

2-8x faster processing time


for simple crime investigations

Police blocked several hours


per day. Error rate increased.

Requirements
User involvement

Stakeholder
response

Henrik Kniberg

Unclear

Continuous

Mostly positive

Clear
None

Outrage

Lessons learned
Nationwide
release

Pust Siebel

Pust Java
2010

Nationwide
release

2011

2012

Focus on solving user needs, not cost


Deliver iteratively & incrementally
Involve real users

Beware of standard platforms
Theyre not as standard as you think
Listen to your tech people more than to the
external vendor trying to sell stuff to you

Henrik Kniberg

2013

What makes a project


succeed?

Henrik Kniberg

01:32

15,000 person-years of experience

Communication
User involvement
Small steps
Henrik Kniberg

Do projects help us
succeed?

Henrik Kniberg

01:32

A bucket of
people, time, and money

Project = ?

X-mas

Temporary

Henrik Kniberg

Not a routine
operation

Defined Beginning and


End in time
People who dont
normally work
together

What do people REALLY mean when they say project


This?

Or this?
Something we
are working
on

Temporary

Not a routine
operation

Henrik Kniberg

Defined Beginning and


End in time

People who dont


normally work
together

All products start with a Great Idea!

Henrik Kniberg

Big Bang = Big Risk

Cumulative
RISK Value
Henrik Kniberg

Big Projects usually fail. Regardless of process.


The Standish Group has categorically stated with
much convictionbacked by intense research
that the secret to project success is to strongly
recommend and enforce limits on size and
complexity.
These two factors trump all other factors.

< $1 million

Henrik Kniberg

> $1 million

Project model invites Big Bang thinking

Big Bang

Temporary

Henrik Kniberg

Not a routine
operation

Defined Beginning and


End in time

People who dont


normally work
together

Project

Agile = Iterative + Incremental


Dont try to get it all right
from the beginning

cost

RISK

Henrik Kniberg

Dont build it all at once

value

cost
value

Not like this....

Like this!

Henrik Kniberg

Slice the elephant!


Region
stergtland,
Uppsala, etc

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

1.1

1.3

1.4

1.2
1.5

PUST Java
Integrations

Henrik Kniberg

Project model doesnt fit well for IT product development


Big Bang approach

Deliver
Do Stuff

Project
Agile approach
Do Stuff

Deliver

Do Stuff

Deliver

Deliver

Deliver
Do Stuff

Deliver

Do Stuff

Do Stuff

Do Stuff

Project = ?
A project is a temporary, non-routine operation.
Product development teams are long-lived,
and they deliver routinely.

Projects have a fixed end.
Product development is continuous
Henrik Kniberg

Temporary

Not a routine
operation

Defined Beginning and


End in time

People who dont


normally work
together

Improving the Value Curve


RISK
Big Bang

Big increments

Value

Henrik Kniberg

Effort

Small increments

Highest value first

Maximize Value, not Output

Henrik Kniberg

Project Model vs Agile Model


Project Model

PUST Siebel

Henrik Kniberg

Agile Model

PUST Java

What is Spotify?

Henrik Kniberg

01:32

Play Everywhere!

Like a magical music player in which


youve bought every song in the world!

Henrik Kniberg

Revolutionizing the music industry


Popular product that spreads virally
Happy employees
Stable revenue model

User growth
30M

24 million
active users

20M

6 million
Paying
subscribers

10M

2006

2007

2008

2009

2010

2011

2012

Employee growth
1300+ employees
30+ countries

1000

750

500

250

2006
Henrik Kniberg

2007

2008

2009

2010

2011

2012

2013

400 people in tech

Stockholm
250
Gothenburg
30

San Francisco
10

New York
100

37

Henrik Kniberg

How Spotify works

Henrik Kniberg

01:32

The Spotify unproject


2008

Henrik Kniberg

Timeline

2013

> 60 squads

Henrik Kniberg

Autonomous Squad

Cross-functional, co-located, self-organizing team

Henrik Kniberg

42

Squads are grouped into Tribes


Tribe

Tribe

Henrik Kniberg

Tribe

Tribe

Tribe

Tribe

Each Tribe is a lightweight matrix focused on delivery


Vertical = Delivery.
Horizontal = knowledge sharing & personal development
Tribe
Tribe

Chapter

Chapter

Chapter

Guild Chapter

Reality is messy

Henrik Kniberg

Community > Structure


Face-2-face communication

How do we align 60+


mini-startups?

Henrik Kniberg

Alignment & Autonomy

Alignment
Do what
I say!

Henrik Kniberg

False
d

ichot
omy

Autonomy

Do
whatever

Alignment enables Autonomy


We need to
cross the river

High
Alignment

Build a
bridge!

Authoritative
organization
Conformist
culture

Micromanaging
organization

Low
Alignment

Henrik Kniberg

Indifferent
culture

Low Autonomy

Aligned Autonomy!

We need to
cross the river

Figure out how!

Innovative
organization
Collaborative
culture

Entrepreneurial
organization
Chaotic
culture

High Autonomy

Hope someone is
working on the
river problem

Leaders job:
Explain what problem needs to be solved.
And Why.

Henrik Kniberg

Aligned Autonomy

- be autonomous, but dont suboptimize


- Spotifys mission > Squads mission

Henrik Kniberg

Fastest learner wins!

Delivery frequency = Speed of learning


Stakeholders, Users

Feedback,
Requests,
Data

Demos,
Releases

Development team

Henrik Kniberg

Release = Drama!

Release must be REALLY easy!

Release!
Req

Releasing is
hard

Code

Test

Release
seldom
Release = Routine

Releasing is
easy
Henrik Kniberg

Release
often

Decoupling to enable
frequent releases

Client App squad

!#?

Feature squads

Henrik Kniberg

Self-service model
Infrastructure squads

Client App squads

Enable &
support
IOS

Android

Feature squads

Enable &
support

Henrik Kniberg

Desktop
Enable & support

Web

Release trains & Feature toggles

Henrik Kniberg

Failure Recovery is more important


than Failure Avoidance
Failure Avoidance

Henrik Kniberg

Failure Recovery

Limited Blast Radius via decoupled architecture

Henrik Kniberg

Limited Blast Radius via gradual rollout

Henrik Kniberg

Trust > Control


100% control = 0% motion
If everythings under control,
youre going too slow!
- Mario Andretti

Henrik Kniberg

How Spotify builds


products

Henrik Kniberg

01:32

Our product philosophy


1: We create innovative products while managing risk by prototyping
early and cheaply.

2: We dont launch on date, we launch on quality.

3: We ensure that our products go from being great at launch to
becoming amazing, by relentlessly tweaking after launch.

Henrik Kniberg

Idea/Problem
Radio you
can save!

Backlog Developing Released

Impact
achieved

Narrative & Metrics


& Prototypes
Build MVP

Minimum Viable Product

Tweak

Deploy

to X% of users

Impact A/B stats

Analyze data

Henrik Kniberg

Think It

Build It

Ship it

5% shipped
Prototypes

Narrative

Henrik Kniberg

MVP

1% shipped

Tweak it

100% shipped

100% predictability = 0% innovation

Focus on

Innovation

Henrik Kniberg

Focus on

Predictability

You already have innovators!


Hackathon
Just unleash them.
every few
months

Lab Day
last Friday
every month
20% time

Henrik Kniberg

Hack days
Hack weeks
10%

Company-wide hackweek
One whole week.
Everyone at Spotify
Build whatever you want.
With whoever you want
In however way you want.
Demo & party on Friday!

Henrik Kniberg

Projects at Spotify

Henrik Kniberg

01:32

A Spotify project is...


....a focused and coordinated effort of severals squads for several months

We are organized to minimize the need for projects.



But sometimes a project is unavoidable.

We arent very good at doing big projects
- but we will keep experimenting and learning!


Henrik Kniberg

Some things weve


learned about how to do
projects

Henrik Kniberg

01:32

Find the balance

Chaos

Henrik Kniberg

Agile

Bureaucracy

Culture

Daily sync

- resolve dependencies

Henrik Kniberg

All involved squads


What do you need from another squad right now?
What is your progress since yesterday that affects the other squads?
What do you plan to do today that will affect the other squads?

Weekly demo

- evaluate the integrated product

Henrik Kniberg

Triggers tight integration and collaboration


Gives a sense of progress
Triggers decisions & reprioritization

Visual management
& Light-weight adaptive planning

Plans are useless.


Planning is essential.

Focus on impact!
Not dates or deliverables.

Eisenhower

Henrik Kniberg

Retrospectives during and after the project

Henrik Kniberg

Leadership needed
(...but how?)
Leadership is an activity, not a role.

> Appointed leadership

Emergent leadership

Experiments:
- RM (road manager)
- Leadership duo/trio
(tech + product + design)

Henrik Kniberg

What about project managers?


We do value (most) PM skills.
But were not sure we need a PM role.

Debate
in prog
ress

Project managers are change agents.


They make project goals their own and use
their skills and expertise to inspire a sense
of shared purpose
We call this Road Manager.
... work well under pressure and are
comfortable with change and
complexity in dynamic environments

Henrik Kniberg

... resolving complex,


interdependent activities into
sub-tasks that are documented,
monitored, and controlled

... can shift readily between big


picture and small-but-crucial
details
We try to build this
competence into each squad
We coach squads to do this themselves,
in a just-in-time decentralized way.
Sometimes they need support though.

Wrapup

Henrik Kniberg

01:32

Ask the right question


How can we run
big projects

How can we
minimize the need
for big projects?

How can we minimize


the size of projects?
(and how do we run
projects when we
cant avoid it)

Henrik Kniberg

Take-away points
Projects arent the only way to get things done
The standard project model is a tool
Like any tool, it is suitable for some situations but not all.
It is often unsuitable for IT product development
Success = happy stakeholders. Not time/budget/scope.
Minimize the size, deliver iteratively & incrementally
Focus on solving real user needs,
and involve them continuously
Experiment!
You can always improve. So keep trying new ways.

Henrik Kniberg

Вам также может понравиться