Spotify - the unproject culture - (+ failure story "how to burn €1 billion") Consultant
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
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
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.
Purpose of this presentation Show that projects aren’t the only way to get stuff done Henrik Kniberg
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
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
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
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