agile at spotify

66
Agile at Spotify 1

Upload: joakim-sunden

Post on 13-May-2015

13.243 views

Category:

Technology


2 download

DESCRIPTION

Talk by Joakim Sundén and Anders Ivarsson about agile and scaling agile at Spotify. These particular slides are from a Kanban Open Space event in Ghent, Belgium, February 2013.

TRANSCRIPT

Page 1: Agile at Spotify

Agile at Spotify

1

Page 2: Agile at Spotify

What is Spotify?

The right music for every moment

2

Spotify is a new way to listen to music. Millions of tracks, any time you like. Just search for it in Spotify, then play it. Just help yourself to whatever you want, whenever you want it.

Launched October 28 2008.

With Spotify, it’s easy to find the right music for every moment – on your phone, your computer, your tablet and more.There are millions of tracks on Spotify. So whether you’re working out, partying or relaxing, the right music is always at your fingertips. Choose what you want to listen to, or let Spotify surprise you.You can also browse through the music collections of friends, artists and celebrities, or create a radio station and just sit back.Soundtrack your life with Spotify. Subscribe or listen for free.

Page 3: Agile at Spotify

Spotify: Fast Facts

• Over 5 million paying subscribers

• Over 20 million active users

• Over 300 000 labels signed

• Over 20 million songs

• Over 20 000 songs added daily

• Available in 17 countries

3

Spotify is available in: 17 countries - USA, UK, Sweden, Finland, Norway, Denmark, Germany, France, Spain, Austria, Belgium, Switzerland, The Netherlands, Australia and New Zealand, Ireland and Luxembourg. And today we’re adding three more, totaling a whopping 20 countries: Italy, Poland, Portugal.

Subs: 3M June 2012, 5M Jan 2013

Page 4: Agile at Spotify

Development offices

4

Three (four) development offices, ~300 engineers, >30 teams.

SF: http://www.flickr.com/photos/wallyg/3951912182/sizes/l/in/photostream/Gothenburg: http://www.flickr.com/photos/andreas-pross/6210384973/sizes/m/in/photostream/NYC: http://www.flickr.com/photos/19942094@N00/6358840971/sizes/m/in/photostream/

Page 5: Agile at Spotify

Growing fast

5

Tech in Jan 2011 – 60 persons, Jan 2013 - ~300 - 5x growth in 2 years, 10x in 3 yearsFrom 150 to >700 in 18 months.

Why? We grow to offer better products and solutions, to more users, in more markets, faster.

Page 6: Agile at Spotify

Development speed that scales

6

* We need to improve our product at great speed, much faster than any competitor* We need to prepare to scale, meaning that we must continue to move at a high speed while growing employees, users and devices* We must continuously improve how we work and we must accelerate the rate at which we improve

Page 7: Agile at Spotify

Autonomy, Mastery, Purpose

<ADD PICTURE?>

•“For creative tasks, the best approach is often just to hire great people and get out of their way.”

Hire great people and get out of their way.http://www.youtube.com/watch?v=u6XAPnuFjJc

7

Drawing on four decades of scientific research on human motivationasserts that the secret to high performance and satisfaction is the deeply human need to direct our own lives, to learn and create new things, and to do better by ourselves and our world

Page 8: Agile at Spotify

High-performance teams

8

High-performance teams (HPTs) is a concept within organisation development referring to teams, organizations, or virtual groups that are highly focused on their goals and that achieve superior business results. High-performance teams outperform all other similar teams and they outperform expectations given their composition.

http://en.wikipedia.org/wiki/High-performance_teams

Page 9: Agile at Spotify

Autonomy

Mastery

Purpose

Scaling

Challenges

AGENDA 12th Feb

9

Page 10: Agile at Spotify

ALL CHARACTERS AND EVENTS IN THIS TALK-–EVEN THOSE BASED ON

REAL PEOPLE–-ARE ENTIRELY FICTIONAL. ALL CELEBRITY VOICES

ARE IMPERSONATED.....POORLY. THE FOLLOWING PRESENTATION

CONTAINS COARSE LANGUAGE AND DUE TO ITS CONTENT IT SHOULD

NOT BE VIEWED BY ANYONE.

10

Everything we talk about in this presentation is a model and a slight simplification of reality. The company is changing very fast and experiments are always on-going. This means that others in the company would probably describe some things differently, and some would only recognize parts of this. But in general, this is the way it looks and works in Spotify – right now, in some places.

Continuously improving the way we work - whole company understands we are always changing

Page 11: Agile at Spotify

Autonomy

11

Controlling management approaches assume people are passive and inert and require prodding.  Autonomy approaches assume people are active, looking for interesting work and curious and self-engaging.  Autonomous motivation has proven to promote greater conceptual understanding, result in better grades, enhance persistence at school and in sporting activities, generate higher productivity, less burnout, and greater levels of psychological well-being.

Page 12: Agile at Spotify

• “Feel like a mini-startup”

• Self-organizing

• Cross-functional

• 5-7 engineers, less than 10

Autonomous squad

12

It should feel like working in a mini-start-up where Spotify is more of an incubator for start-ups.

“The most important feature of the organization is the autonomous squad. All other features are designed to support that mini-startup-like squad.”

Page 13: Agile at Spotify

Pics of squad rooms

13

Co-located. Squad room. Open yet closed off. Optimize for collaboration.

Page 14: Agile at Spotify

14

Lounge connected to every squad room, no need to book meeting rooms. Stand-ups, whiteboard sessions, …

Quiet room, small meetings.

War rooms.

Page 15: Agile at Spotify

15

Fika zones, fika as “meeting” format.

Page 16: Agile at Spotify

Autonomous squad surveys

16

Definition of what we mean with ”autonomous squad”. We also measure, to see where a squad might need support.

Page 17: Agile at Spotify

Clear mission

17

The squad has a defined mission to fulfillSquad works on mission for long time (not just finish first product, then change mission) – allowing members to become domain-experts

The majority of the stories on the squad backlog are related to the missionEveryone in the squad understands the missionThere is passion and dedication for the mission

http://www.flickr.com/photos/roland_urbanek/4712188695/http://www.flickr.com/photos/calsidyrose/4925267732/

Page 18: Agile at Spotify

Example squads

18

SearchRadioContentPayments

Page 19: Agile at Spotify

Dedicated PO19

Has enough time for the squad and is considered part of the squadManages and prioritizes a squad backlog together with the squad that everyone in the squad has easy access to

Can motivate stories and prioritiesClearly communicates the goal of a story, and the vision for the sprintTakes tech aspects in considerationMakes sure that stories are prepared enough before sprint planningCan make decisions during the sprint without waiting for feedback from senior product staff

Page 20: Agile at Spotify

Process that fits

20

Each squad owns their own process – adapt it to their circumstances and context. Kanban and continuous flow, Scrum by the book – 1-3 week sprints The squad is familiar with the Spotify development process and follows the common rules or can motivates why they don'tThe squad have agreed within the group on how to workThe squad regularly retrospects and do things to improve

Page 21: Agile at Spotify

Easy to get stuff live

21

Everyone needed to complete and release a story is in the squad- Both in terms of owning the decision, and having technical capacity to do it

A squad can independently decide on when to go live with a release, a minimum of syncing with other squads should be needed

Most squads try to go live with something every sprint, or more often. Some squads launch things several times each week.

Page 22: Agile at Spotify

Influence work

22

Before every sprint all squad members can influence what is to be planned (both product features and tech stories)During the sprint the squad makes decisions regarding stories together with the product owner. No micro management.Tech debt, maintainability & scalability stories are part of the squad backlog.Part of the sprint backlog should always be tech improvements.The squad can refuse to start development if there isn’t sufficient information about what to do.The squad members decide how to carry out their work and who is working on what.Every sprint contains 0.5 hack days per week.Every system owner has 1 system owner day/three week sprint

Page 23: Agile at Spotify

Hack days

23

Use 10% of your time for side-projects – sometimes synchronize hack days or hack weeks for squad or org

Page 24: Agile at Spotify

24

http://labs.spotify.com/2013/02/15/organizing-a-hack-week/

Page 25: Agile at Spotify

Organizational support

25

Tribe lead or similar is available and aware of the squad's workThe squad knows who to turn to for guidance or problem solving supportSupport is available for architectural / technical discussions as well as for "soft" issues

Page 26: Agile at Spotify

Agile coach

26

Support autonomy in the organizationHelps squads identify impediments and learning opportunities, coaches squad to continuously improve working methods and process

Page 27: Agile at Spotify

Are we there yet?

27

Run survey with multiple squads – goal is to do it every quarter. Patterns – e.g. Agile coach needed, need to improve releasability (technical, organizational, ...)

Page 28: Agile at Spotify

Autonomy

Mastery

Purpose

Scaling

Challenges

AGENDA 12th Feb

28

Page 29: Agile at Spotify

Mastery

29

Mastery is the desire to get better at something that matters. First, mastery is a mindset, in that we either believe we can get better or we don’t. Second, mastery is a pain, in that it involves not only working harder but working longer at the same thing. Finally, mastery is an asymptote, or a straight line that you may come close to but never reach.

Page 30: Agile at Spotify

Chapters

Squad

PO

Squad

PO

Squad

PO

Squad

PO

Chapter

Chapter

30

Special Interest/Competence groups – web development chapter, backend development chapter, QA chapter, payment chapter, etc.Share knowledge, learn from each other, personal development togetherIdentify common challengesTalk about good practices, decide on architecture, coding standards, etc.Learn technical skills – e.g. Test-driven development

Page 31: Agile at Spotify

Chapter Lead

31

Servant leadershipCoaching, mentoring1:1 every weekUsually 50/50 squad work/chapter leadSometimes work in same squad, but not necessarily

Page 32: Agile at Spotify

Great colleagues

32

Very high hiring standards

Page 33: Agile at Spotify

Personal development

33

Not typical management career path only, experimenting with “add-ons”, e.g., Expert, Teacher, Coach

Page 34: Agile at Spotify

Training programs34

Training, Lunch & learn, Tech talks, Webinars, etcManagement training, Leadership forum

Page 35: Agile at Spotify

Autonomy

Mastery

Purpose

Scaling

Challenges

AGENDA 12th Feb

35

Page 36: Agile at Spotify

Purpose

36

At Spotify we are on a mission to change the world – to make it possible to play everywhere, and to find the right music for every moment.

We want everyone at Spotify to feel that what they do every day connects to this mission and this purpose.

So, how does this connect to our daily lives and the tasks we do?

Page 37: Agile at Spotify

Squad purpose

37

Page 38: Agile at Spotify

OKRObjectiveKey Result

38

OKR - connect company vision to daily tasksObjective – Key resultObjective – longer vision, might take more than a quarter to achieveKey results – measurable goals for the quarter

OKR for all of companyOKR for all of techOKR for whole squadOKR for chapterSometimes personal OKR

Page 39: Agile at Spotify

Squad member

Why/What

Product owner

PO

Chapter lead

How

Squad member

Chapter lead

How

How

Autonomy

MasteryPurpose

39

Product owner – answer why are we doing this, what are we doing?Chapter lead – support in how we solve it, what we doAgile coach – support autonomy, facilitate discussions – supports whole squad

So for an engineer – this is how they get their Purpose, Mastery and Autonomy

Page 40: Agile at Spotify

Autonomy

Mastery

Purpose

Scaling

Challenges

AGENDA 12th Feb

40

Page 41: Agile at Spotify

Scaling

41

Page 42: Agile at Spotify

QualityProject coordinationRelease coordinationConfigurationChange

Quality managerProject managerRelease managerConfiguration managerChange manager

42

We need release coordination -> hire a release manager, project coordination -> hire a project manager, change mgmt, configuration manager, etc

Page 43: Agile at Spotify

Scaling

43

… and so you end up with this

Departments

Page 44: Agile at Spotify

Tribes

44

Page 45: Agile at Spotify

Tribe

Squad

PO

Squad

PO

Squad

PO

Squad

PO

Chapter

Chapter

Tribe

Squad

PO

Squad

PO

Squad

PO

Squad

PO

Chapter

Chapter

Tribes

45

Everyone working within software engineering is divided into a set of tribes containing 20-100 people each.Dunbar number - <150 people, so we recognize and know everyone

The following applies to each tribe:Clear and defined missionHigh level of autonomy within each tribeTribes are joined by a set of foundation principles that apply to all tribesLead by a senior experienced leader (named tribe lead) responsible for all dimensions of the tribe (people, process, technology & culture)All skills necessary to produce live product features and code are present within the tribe, and thus the tribe can build cool stuff end to endA squad resides within one and only one tribe (people may be borrowed between tribes)Some tribes have a matrix organization, others not.

Page 46: Agile at Spotify

Tribe Tribe Tribe Tribe

TribeTribe Tribe

”Provide fast and reliable access to all

the world's music”

”Enable high product development speed while maintaining a

highly available service”

46

We have 6 tribes in Spotify right now – from 3 to 9 squadsEach tribe is co-located in one siteMission for tribeSimilar contexts and challenges

Page 47: Agile at Spotify

47

Tribe demos, gatherings, knowledge sharing, …

Page 48: Agile at Spotify

Network organization

48

Avoid going “up-and-down the hierarchy” Squads always collaborate directly with each otherTribe borders are not hard – they are support function, not departmentsCreates a network organizationShifting fast since collaborations start and stop all the time

Page 49: Agile at Spotify

Tribe

Squad

PO

Squad

PO

Squad

PO

Squad

PO

DependenciesTribe

Squad

PO

Squad

PO

Squad

PO

Squad

PO

49

Dependencies between teams – technical dependencies, organizational dependencies (overlapping product, mission), knowledge dependenciesNever let yourself be blocked. CTO says “Get shit done”, CEO says “When in doubt, do something”

Important to understand dependencies – collect dataDependencies and collaborations – same thing.No problem – slowing – blocking – future

Page 50: Agile at Spotify

On-demandScrum-of-Scrums

50

Scrum-of-scrum common pattern – too static, our organization is changing all the timeOn-demand scrum-of-scrum exists between different squads for short periods of timeThis example – spring 2012, big project (several squads, several months), scrum-of-scrum progress/blockers/dependencies

Page 51: Agile at Spotify

Architecture

51

SOA, loosely coupled

Page 52: Agile at Spotify

System Owner

52

Page 53: Agile at Spotify

Guilds

53

A Guild is a community of interest, a group of people with similar engineering skills that share knowledge, tools and code across the whole of Spotify.For example a backend guild, web guild, QA guild, agile guild

Page 54: Agile at Spotify

Tribe

Squad

PO

Squad

PO

Squad

PO

Squad

PO

Chapter

Chapter

Tribe

Squad

PO

Squad

PO

Squad

PO

Squad

PO

Chapter

Chapter

Guild

Guilds

54

A Guild is an open community, so anyone can join any guild.Automatic membership if you are in that chapter – opt-out if you want toOpt-in for anyone else in companyYou can join multiple guilds, depending on your interest. All guild activities are optional by default. As guild member, you can choose how active or inactive you want to be in the guild. Each guild has a Guild Coordinator (or pair) who is main contact person for the guild, "bootstraps" the guild to enable self-organization, ideally trying to get rid of the need for a guild coordinator role.

Page 55: Agile at Spotify

55

Guild unconference – a whole day of lightning talks and Open Space. Good format, very popular

Page 56: Agile at Spotify

56

Agile coaches

Page 57: Agile at Spotify

“Big Projects”

57

https://dl.dropbox.com/u/1018963/Articles/HowSpotifyBuildsProducts.pdf

Page 58: Agile at Spotify

Big Retrospeci

Big retrospectives

58

http://joakimsunden.com/2013/01/running-big-retrospectives-at-spotify/

Page 59: Agile at Spotify

Town Hall

59

Town hall where CEO address whole company every two weeks. Q & A with top management.

Page 60: Agile at Spotify

Company values

60

Not just Technology, other departments too. E.g., “Think it, Build it, Ship it, Tweak it”.

“Get shit done”“When in doubt, do something”

Page 61: Agile at Spotify

Organizational improvement

61

Page 62: Agile at Spotify

Autonomy

Mastery

Purpose

Scaling

Challenges

AGENDA 12th Feb

62

Page 63: Agile at Spotify

Challenges

63

Page 64: Agile at Spotify

Autonomy

Mastery

Purpose

Scaling

Challenges

AGENDA 12th Feb

64

Page 65: Agile at Spotify

65

Questions?

Page 66: Agile at Spotify

Anders Ivarsson@anders_ivarsson

[email protected]

Joakim Sundén@joakimsunden

[email protected]

66