Spotify - the unproject culture - (+ failure story "how to burn €1 billion") Consultant

Page created by Angel Perkins
 
CONTINUE READING
Spotify - the unproject culture - (+ failure story "how to burn €1 billion") Consultant
Spotify – the unproject culture
                  (+ failure story ”how to burn €1 billion”)
                            Passion for Projects keyote,
                                  May 21, 2013
Consultant
www.crisp.se              Henrik Kniberg
                          henrik.kniberg@crisp.se                   Father
                             @HenrikKniberg

          Agile & Lean coach

                                                           Author
Spotify - the unproject culture - (+ failure story "how to burn €1 billion") Consultant
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 you’re using Mac OSX 10.7 or later it should be
   preinstalled. If you’re 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 don’t need to do anything. On the other
   hand you don’t get the fancy animations.

   Font test
    How the font is supposed to look:                       How the font shows up on your computer:
    (screenshot from my computer)

                                                           The quick brown fox jumps over the lazy dog
                                                           The quick brown fox jumps over the lazy dog

                                              Regardless of font appearance, if that text doesn’t fit nicely into
                                              the box then you’re going to need to download the right font, or
                                              switch to a new font and fiddle with the slides to make sure
Henrik Kniberg                                things fit.
Spotify - the unproject culture - (+ failure story "how to burn €1 billion") Consultant
Purpose of this presentation

            Show that projects aren’t the only way to get stuff done

Henrik Kniberg
Spotify - the unproject culture - (+ failure story "how to burn €1 billion") Consultant
Success = ?

                 01:32
Henrik Kniberg
Spotify - the unproject culture - (+ failure story "how to burn €1 billion") Consultant
What is a successful project?

                 Scope

                                     nah....

       Budget              Schedule

Henrik Kniberg
Spotify - the unproject culture - (+ failure story "how to burn €1 billion") Consultant
What is a successful project?

        Project A                          Project B                 Project C
            Scope                              Scope                       Scope

   Budget           Schedule         Budget            Schedule   Budget           Schedule

            Customer                       Customer                    Customer          Happy
                           Happy
                           stakeholders!                                                 stakeholders!

            Users                             Users                        Users

     Development team                  Development team            Development team

Henrik Kniberg
Spotify - the unproject culture - (+ failure story "how to burn €1 billion") Consultant
Measure the stuff
     Measuring success                       Happy
                                                                    that really matters!

                                          stakeholders
     Proxy
     metrics
                                                                  Happy
                                   Happy                        development
              Do they
             come back             users                           team
            more often?
                                                                                    Surveys
                Do they
             stay longer?                       Do they share
                            Do they listen to   more music?
                             more music?

Henrik Kniberg
Spotify - the unproject culture - (+ failure story "how to burn €1 billion") Consultant
A unique & expensive
     experiment

                 01:32
Henrik Kniberg
Spotify - the unproject culture - (+ failure story "how to burn €1 billion") Consultant
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

    Team’s influence   High                              None
    over technology
    choices
    Tech platform      Java                              Siebel
                       (programming language)            (CRM system)

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

Henrik Kniberg
Spotify - the unproject culture - (+ failure story "how to burn €1 billion") Consultant
PUST – ”polisens utredningsstöd”

Henrik Kniberg
Nationwide
Project 1: PUST Java        release
           pilot releases

       2010                  2011
Rebuild the whole
                        thing using Oracle
                              Siebel         Huh? We just spent 100 Mkr
                                               building a working product.
                                             Shouldn’t we keep improving on
                                                          that?
                       Oracle says Siebel
                       will be cheaper and
                               better         But it won’t work! PUST
                                              is UX critical, and it’s not
                                                  a CRM system!

                       Oracle says Siebel
                       will be cheaper and
                               better
                                                Well then let’s build a
                                              small pilot version, to see
                                                    if that is true
                    No time for that.
                 Build the whole thing in
                  one go, and release
                 nationwide when done.

Henrik Kniberg
Project 2: Pust Siebel
         A train wreck in slow motion

Henrik Kniberg
Project 2: Pust Siebel   Nationwide
                         release      @#?
                                            !

                 2012      2013

Henrik Kniberg
Result of experiment ”build the same product twice”:
                     PUST Java                         PUST Siebel
  Mission            Improve society                   Lower cost
  Requirements       Unclear                           Clear
  Delivery           Iterative                         Big bang
  User involvement   Continuous                        None
  Team’s influence   High                              None
  over technology
  choices
  Tech platform      Java                              Siebel
                     (programming language)            (CRM system)

 RESULT              PUST Java                         PUST Siebel
 Stakeholder         Mostly positive                   Outrage
 response
 Cost                ≈100 Mkr                          ≈200 Mkr
                                                       + estimated damage 10 Bkr
 Measured impact     2-8x faster processing time       Police blocked several hours
                     for simple crime investigations   per day. Error rate increased.
Henrik Kniberg
Lessons learned
                            Nationwide                            Nationwide
                            release                               release

   Pust Java                                       Pust Siebel

          2010                2011                 2012          2013

   • Focus on solving user needs, not cost
   • Deliver iteratively & incrementally
   • Involve real users

   • Beware of ”standard platforms”
       • They’re 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
What makes a project
     succeed?

                 01:32
Henrik Kniberg
15,000 person-years of experience

    Communication

                      User involvement

                 Small steps

Henrik Kniberg
Do projects help us
succeed?

                 01:32
Henrik Kniberg
A bucket of
                                        people, time, and money
     Project = ?

                                                     X-mas

                    Temporary      Defined Beginning and
                                        End in time

                                       People who don’t
                   Not a routine        normally work
Henrik Kniberg      operation             together
What do people REALLY mean when they say ”project”

                 This?                                       Or this?

                                                          Something we
                                                           are working
                                                                on

                   Temporary      Defined Beginning and
                                       End in time

                                   People who don’t
                  Not a routine     normally work
                   operation          together

Henrik Kniberg
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 conviction—backed 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
                                                                > $1 million

Henrik Kniberg
Project model invites Big Bang thinking

                                     Big Bang            Project

                 Temporary       Defined Beginning and
                                      End in time

                                  People who don’t
                 Not a routine     normally work
Henrik Kniberg    operation          together
Agile = Iterative + Incremental

    Don’t try to get it all right   Don’t build it all at once
    from the beginning

                 cost               value
                                                                 cost
                                                                        value
                      RISK

Henrik Kniberg
Not like this....

       1                               4
                       2       3

   Like this!

      1          2         3       4   5

Henrik Kniberg
Slice the elephant!
                                   Region
                                   Östergötland,
                                   Uppsala, etc

                     1.0
 Crime types         1.1
                           1.3        1.4
 (weapon,
 drunk driving,      1.2
 shoplifting, etc)
                                      1.5

                                 PUST Java
   Integrations

Henrik Kniberg
Project model doesn’t fit well for IT product development
Big Bang approach                                                                                           Deliver
                                             Do Stuff

                                       Project
                                                                                                       Deliver
Agile approach                                                               Deliver
                                                        Deliver
             Deliver              Deliver
  Do Stuff             Do Stuff             Do Stuff              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.
                                                                                           Temporary             Defined Beginning and
  • Projects have a fixed end.                                                                                        End in time

      • Product development is continuous
                                                                                                                  People who don’t
                                                                                           Not a routine           normally work
                                                                                            operation                together
Henrik Kniberg
Improving the Value Curve

            RISK

      Big Bang     Big increments   Small increments   Highest value first

         Value

Henrik Kniberg       Effort
Maximize Value, not Output

Henrik Kniberg
Project Model vs Agile Model
                  Project Model               Agile Model

                 PUST Siebel      PUST Java

Henrik Kniberg
What is Spotify?

                 01:32
Henrik Kniberg
Play Everywhere!

                                              • Revolutionizing the music industry
      Like a magical music player in which
                                              • Popular product that spreads virally
     you’ve bought every song in the world!   • Happy employees
                                              • Stable revenue model

Henrik Kniberg
User growth
30M
                                           24 million
                                           active users

20M

                                                6 million
                                                Paying
10M
                                                subscribers

      2006   2007   2008   2009   2010   2011      2012
Employee growth
1000
                                       1300+ employees
                                       30+ countries

 750

 500

 250

           2006   2007   2008   2009   2010   2011     2012   2013
 Henrik Kniberg
≈400 people in tech

                                      Stockholm
                                        250

                             Gothenburg
                                30

  San Francisco
       10         New York
                    100

                             37

Henrik Kniberg
How Spotify works

                 01:32
Henrik Kniberg
The Spotify ”unproject”
     2008                Timeline   2013

Henrik Kniberg
> 60 squads

Henrik Kniberg
Autonomous Squad
Cross-functional, co-located, self-organizing team

Henrik Kniberg
42
Squads are grouped into Tribes

           Tribe          Tribe       Tribe

           Tribe            Tribe         Tribe

Henrik Kniberg
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

                             False
                                   d   ichot
                                            omy
                 Alignment                        Autonomy

    Do what
     I say!                                                    Do
                                                             whatever

Henrik Kniberg
Alignment enables Autonomy
                                   Build a
                                                                 Aligned Autonomy!
                  We need to
                 cross the river   bridge!              We need to
                                                       cross the river   Figure out how!

   High
                  Authoritative
   Alignment      organization
                                             Innovative
                                             organization
                  Conformist                 Collaborative
                  culture                    culture

                                                                                    Hope someone is
                                                                                     working on the
                                             Entrepreneurial                         river problem…
                   Micromanaging
                   organization              organization

                   Indifferent               Chaotic
   Low             culture                   culture
   Alignment

                      Low Autonomy                     High Autonomy
Henrik Kniberg
Leader’s job:
     Explain what problem needs to be solved.
     And Why.

Henrik Kniberg
Aligned Autonomy
     - be autonomous, but don’t suboptimize
     - Spotify’s mission > Squad’s mission

Henrik Kniberg
Fastest learner wins!
     Delivery frequency = Speed of learning

                 Stakeholders, Users

   Feedback,                           Demos,
   Requests,                           Releases
   Data

                   Development team

Henrik Kniberg
Release = Drama!
     Release must be REALLY easy!
                                                           Release!

                  Req      Code                   Test

            Releasing is          Release
                 hard             seldom

                                       Release = Routine

            Releasing is          Release
                 easy              often
Henrik Kniberg
Decoupling to enable
 frequent releases

                              Client App squad

                 !#?

                        Feature squads

Henrik Kniberg
Self-service model
                                      Client App squads

 Infrastructure squads   Enable &
                         support

                                      IOS      Android    Desktop            Web

                                                          Enable & support
                                    Feature squads

                         Enable &
                         support

Henrik Kniberg
Release trains & Feature toggles

Henrik Kniberg
Failure Recovery is more important
     than Failure Avoidance

       Failure Avoidance             Failure Recovery

Henrik Kniberg
“Limited Blast Radius” via decoupled architecture

Henrik Kniberg
”Limited Blast Radius” via gradual rollout

Henrik Kniberg
Trust > Control
     100% control = 0% motion
                                If everything’s under control,
                                    you’re going too slow!

                                                 - Mario Andretti

Henrik Kniberg
How Spotify builds
     products

                 01:32
Henrik Kniberg
Our product philosophy

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

     2: We don’t 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!”
                                                        Narrative & Metrics
                                                        & Prototypes
                                 Impact
 Backlog Developing   Released   achieved

                                                            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                  Tweak it

                                           5% shipped    100% shipped

                        MVP   1% shipped
Prototypes

Narrative

Henrik Kniberg
100% predictability = 0% innovation

Focus on                                   Focus on
Innovation                                 Predictability

Henrik Kniberg
You already have innovators!                Hack days
                                            Hack weeks
Just unleash them.
                         Hackathon
                                              10%
                         every few
                                months

                   Lab Day
                  last Friday
                 every month
                                 20% time

Henrik Kniberg
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

                 01:32
Henrik Kniberg
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 aren’t very good at doing big projects
                                       - but we will keep experimenting and learning!

Henrik Kniberg
Some things we’ve
     learned about how to do
     ”projects”

                 01:32
Henrik Kniberg
Find the balance
                             Agile

                 Chaos             Bureaucracy

                         Culture
Henrik Kniberg
All involved squads
  Daily sync               • What do you need from another squad right now?
                           • What is your progress since yesterday that affects the other squads?
  - resolve dependencies
                           • What do you plan to do today that will affect the other squads?

Henrik Kniberg
Weekly demo                         • Triggers tight integration and collaboration
                                        • Gives a sense of progress
    - evaluate the integrated product
                                        • Triggers decisions & reprioritization

Henrik Kniberg
Visual management                    Plans are useless.
   & Light-weight adaptive planning    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.

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

Henrik Kniberg
What about project managers?                                             Debate
  We do value (most) PM skills.                                       in prog
                                                                              ress
  But we’re not sure we need a PM role.
                                               ”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

                                                         ... can shift readily between ”big
                                                          picture” and small-but-crucial
                                                                        details
                                                         We try to build this
                                                         competence into each squad
                       ... resolving complex,
                   interdependent activities into   We coach squads to do this themselves,
                                                    in a just-in-time decentralized way.
                  sub-tasks that are documented,
                     monitored, and controlled       Sometimes they need support though.
Henrik Kniberg
Wrapup

                 01:32
Henrik Kniberg
Ask the right question

        How can we run          How can we
         big projects         minimize the need
                              for big projects?

                              How can we minimize
                              the size of projects?

                                  (and how do we run
                                   projects when we
                                     can’t avoid it)

Henrik Kniberg
Take-away points

 Projects aren’t 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
You can also read