13 Big Ideas from Spotify Engineering Culture
Trying to build an awesome engineering culture for your company?
Take a look at how Spotify works and get inspired (see list below)!
#1 Rules are a good start but break them when needed
Agile matters more than Scrum. Agile principles are more important than practices. They started with Scrum but evolved to what works best for them.
#2 Teams should have an end-to-end Responsibility for what they build
Spotify have Autonomous Self Organised Teams (Squads) with less than 8 people that are reponsible for small systems (or micro-services).
These teams take care of the entire service lifecyle, from idea to deployment to operations.
#3 Teams should have a clear Long Term Mission
Every team should have a mission aligned with the organisation as a whole, “Be autonomous but don’t sub-optimise” as they say.
For example: “Make Spotify the best place to discover music”, “Create Infrastructure for a/b testing”.
#4 Leaders should focus on what problems to solve
Let the teams discover how and solve it.
#5 Avoid Waiting Waste
Each team is responsible for one system. But anyone can alter any code, so if team A needs something in a system managed by team B, they can ask them, but if team B have other priorities, team A do not need to wait. They can go ahead and to it.
#6 Release should be routine not dramatic
Do small and frequent releases. “If it hurts, do it often”.
#7 Fast fail recovery instead of fail avoidance
Fail fast -> Learn Fast -> Improve Fast
Create post mortems after a failure to understand what happened and how to avoid reccurency .
#8 100 % predictability = 0% innovation
Care more about innovation than predictability.
Try the Lean Product Development Mindset from idea to MVP and then tweak it based on data.
Don’t forget to track if any impact was achieved.
#9 Make cool things real
Run Hackathons. Special days (or an entire week) to do whatever you want, with whoever, in whatever way.
Have an experiment friendly culture. “A or B? I Don’t know, let’s try both and see which works best for us”.
#10 Make Data Drive Decisions
“We ask what the hypothesis is, what did we learn and what will we try next. That enables us to make data driven decisions instead of opinion-driven, ego-driven or authority driven decisions.”
#11 Have a waste-repellent culture
Stop doing things that do not add value.
Ask what’s the minimum viable bureaucracy to avoid chaos?
#12 Build a Definition of Awesome!
Build a list defining what awesome looks like for your team (ex: no recurring bugs, really finishing stuff, etc.)
Use an Improvement Board with Before and After Scenarios and actions to make progress.
#13 You are the culture so model the behavior you want to see
That's it! Go ahead and be the change you wanna see in the world!
Learn more at labs.spotify.com