Spotify Engineering Culture by Henrick Kniberg

A week ago my friend Scrum Coach shared with me some links to some Youtube videos about the Culture in Spotify. I decided to write down some main points which seems to be interesting for me and maybe useful for you. I have prepared this post to inspire you for improvements.

Also lately, company culture days are a really modern topic, I think it is a good moment for sharing some more information regarding this subject.

If vision is where you are going, CULTURE is what makes sure you can get there.

Apply the same level of deep thinking about building a culture as you would about building a product.

 

Let me list some of the points which seems to be important and useful.

  1. Culture has to be visible and understood. Tip! Maybe it is time to organise culture days at your company? It will help to understand your company vision and create company values all together.
  2. Scrum has became an option at Spotify culture
    1. Agile is more important than Scrum
    2. Agile Principles mean more than any Practices
    3. Servant Leader rather than Process Master
    4. Scrum Master has become Agile Coach
    5. Squads instead of scrum teams
      1. They are self-organised, usually less than 8 people, and they own end to end responsability
      2. They have their own mission but autonomy regarding to tools and processes
  3. Spotify’s offices are optimized. Tip! Try to locate your teams in a local office with local clients. It is difficult to create culture remotely, however I am still trying to figure out how to do it. Any ideas?
    1. One room for the squad where they can work close to each other
    2. Another room for planning or retrospective meetings
    3. Another small room for 1:1 meetings
  4. Squad’s structure. 
    1. Decisions are made in the squads
    2. Squads are aligned with company strategy
    3. Be autonomous but don’t suboptmaize
    4. Loosely coupled, tightly aligned squads
  5. Alignment vs Autonomy Tip! Try to create high aligment and high autonomy structure in your company.
    1. Low Alignment and Low Autonomy – mikro-management culture, no high level purpose, just follow rules
    2. High Alignment and Low Autonomy – management tell people what problem has to be resolved but also how to resolve it
    3. High Alignment and High Autonomy – leaders tell the team what is the problem and let the team resolve it in their own way
    4. Low Alignment and High Autonomy – team does whatever they want, leader is hopeless
  6. Spotify’s principles
    1. Leader’s job – nowadays leaders are a really modern topic. It is worth a reminder that the leader’s role is to show the problem which needs to be resolved and why. The solution should be found by the squads.
    2. Squads collaborate with each other to find a solution. Work team is the main point of the culture.
    3. Strong culture of Cross-Pollination rather than Standarization
    4. Healthly balance between Consistencity and Flexibility
    5. Internal open-sources model
    6. Spotify has its own separate system which focuses on a different part of its product, each system is owned by one squad
    7. Culture sharing than owning 
    8. Anyone can add any code, but there is a culture of peer-review
    9. Really strong culture of natural respect
  7. Spotify’s community
    1. Focus on motivation, discussion about satisfaction survey. Tip ! Let’s try to focus more on team satisfaction. Let’s discuss numbers during the retrospective meetings and increase it together.
    2. Chapter is competency area
    3. Guild – community of interest where knowledge is sharing about specific area. Tip! Let’s try to organise kinds of meet ups where we can share our knowledge. 
    4. Spotify focuses on community rather than structure.
  8. Spotify’s releases
    1. Small and frequent releases, releases should be routine, no drama
    2. Client app squads, Feature squads, Infrastructure squads
    3. Self-service model, enable then serve
    4. Release Train and Feature Toggles, deliver all features but hide this one which is not finished, minimize code branches, deliver features more often and quicker. Tip! Maybe it is worth to think about it and change our workflow?
  9. Trust is more important than control, no politics and no fear!

  1. Failures
    1. We aim to make mistakes faster than anyone else!
    2. Fail fast, Learn fast, Improve fast
    3. Spotify is a Fail-Friendly environment
    4. Failure Recover rather than Failure Avoidance
    5. Spotify has specific Fail Walls with all fails and LEARNINGS from the fails. Tip! It’s a great idea to have a physical Fail Wall in our offices. Every day we can remember about our learnings and celebrate new lessons (smile)
    6. Ticket is not closed when it is finished, it is closed when we catch the learning
    7. Strong culture of continuous improvements, driven from below, supported from above
    8. Limited Blast Radius via Decoupled architecture via Gradual Rollout
    9. If everything is under control, you are growing too slow!
  2. Lean Startup, Think It, Build It, Ship It, Tweak It
    1. Idea/Problem -> Narrative/Prototype (understand what impact it will have for users) -> Build MVP (create a minimum viable product which can be delivered) -> The circle of (Release -> Analyse data (A/B test) -> Tweak)
    2. Impact is always more important than Velocity
    3. Innovation more important than Predictability
    4. Delivery Value rather than Plan Fullfillment
  3. Hack time
    1. Spotify Hack Week – Friday Big Demo and Party. Tip! Maybe it is time to try Week Hackthon? (smile) More time to create awesome features? 
    2. People are natural innovators, allow then create
  4. Experiment-Friendly Culture. Tip! Don’t be afraid of changes and experiments!
    1. What is the hypothesis? What did we learn? What will we try next?
    2. More data-driven decision than opinion/ego/authority driven
    3. Waste-Repellent culture. If it works, keep it. Otherwise dump it.
  5. What works for Spotify? 
    1. Retrospective
    2. Daily Stand Up
    3. Google Doc
    4. Git
    5. Guild Unconferences
  6. What doesn’t work for Spotify? 
    1. Time reports
    2. Handoffs
    3. Separate test teams or thest phases
    4. Task estimates
    5. Useless meetings
    6. Corporate BSTip! What works for us? What works for our teams? Maybe it is time to stop estimating or use a different form?
  7. Big Projects means Big Risks
    1. Try to avoid big tasks, divide tasks into small ones.
    2. Visual Progress, Daily Sync, Weekly Demo.
    3. Spotify tries to have Tech Lead and Product Lead to help lead the project. Tip! Maybe we should try to find a natural leader at our company who can lead some of the projects? Help our clients? Help new developers?
    4. When you grow fast you have to expect Growth Pain!
    5. Try to find balance between Chaos and Bureaucracy 
  8. Improvements board 
    1. Spotify has own Definition of Awesome. Awesome is Direction, not Place. Tip! Do you have your own Definition of Awesome? Do you know where are you going? What is your conclusion after Retrospective meeting? What is a direction of your team?
    2. They use Toyota Improvement Kata – The table with four parts : Current Situation, Definition of Awesome, Realistic Next Target, Next Three ActionsTip! Have you ever tried this method?
    3. Spotify grows fast and changes fast. Tip! We should be flexible and open for changes! We cannot avoid changes when we grow. I think some of us are scared of changes, but we cannot avoid them. Let’s do it together!
    4. Healthy Culture Heals Broken Process 
  9. Culture-Focused Roles
    1. Boot Camps for new members during first week – fun way to get culture. Tip! Several times I have met some problems with new members. We spend so much time to help them and answer their questions. Maybe it is a time for Boot Camps. Special teams which work together for a week with new members?
    2. Storytelling – find the possibility to share your experiences, funny stories and cases.
  10. YOU ARE A CULTURE!

What makes a good engineering culture?

  1. Stuff gets done.
  2. It gets done well.
  3. People are happy.
  4. Leaders provide direction and guidance and GET OUT OF THE WAY.
  5. Success is celebrated.
  6. Failure is used as a way to learn.

Protecting your culture.

  1. Walk the talk.
  2. Hiring is crucial.
  3. Firing is crucial
    1. “A lot of people say don’t fire great engineers – but they are wrong. Even if you have an engineer who is exceptional, but an asshole, you should fire them immediatly. Your team will thank you for it afterwards. It only takes one asshole to destroy an entire team, so act quickly and remove any bad seeds, no matter how good they are in writing software.”
  4. Communicate your values.
  5. Measure against your values.
  6. Your organisation reflects your values.
  7. Watch out for warning signs.

How do you know if the culture is broken?

  1. People don’t care.
  2. (Good) people are leaving.
  3. You spend time on the wrong things instead of building your product.

Fixing it!

  1. Start with yourself.
  2. Then your team.
  3. Build on successes.
  4. Recruit others.
  5. Grow bottom up.

Thank you my friends for sharing this kind of material with me! I hope this post will be useful for some of you! (smile)

Resources : http://www.slideshare.net/kevingoldsmith/building-a-strong-engineering-culture-my-talk-from-bbc-develop-2013/86-Tack


Editor – Natasha Jay O’Neil, please contact Natasha directly for queries related to her services.

You may also like

Leave a Reply

Your email address will not be published. Required fields are marked *