Management, Tech & Biz Spotify Engineering Culture by Henrick Kniberg 29 April 2016No Comments Share via: 0 Shares Facebook 0 Twitter LinkedIn Copy Link More 6 MIN READA 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.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.Scrum has became an option at Spotify cultureAgile is more important than ScrumAgile Principles mean more than any PracticesServant Leader rather than Process MasterScrum Master has become Agile CoachSquads instead of scrum teamsThey are self-organised, usually less than 8 people, and they own end to end responsabilityThey have their own mission but autonomy regarding to tools and processesSpotify’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?One room for the squad where they can work close to each otherAnother room for planning or retrospective meetingsAnother small room for 1:1 meetingsSquad’s structure. Decisions are made in the squadsSquads are aligned with company strategyBe autonomous but don’t suboptmaizeLoosely coupled, tightly aligned squadsAlignment vs Autonomy Tip! Try to create high aligment and high autonomy structure in your company.Low Alignment and Low Autonomy – mikro-management culture, no high level purpose, just follow rulesHigh Alignment and Low Autonomy – management tell people what problem has to be resolved but also how to resolve itHigh Alignment and High Autonomy – leaders tell the team what is the problem and let the team resolve it in their own wayLow Alignment and High Autonomy – team does whatever they want, leader is hopelessSpotify’s principlesLeader’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.Squads collaborate with each other to find a solution. Work team is the main point of the culture.Strong culture of Cross-Pollination rather than StandarizationHealthly balance between Consistencity and FlexibilityInternal open-sources modelSpotify has its own separate system which focuses on a different part of its product, each system is owned by one squadCulture sharing than owning Anyone can add any code, but there is a culture of peer-reviewReally strong culture of natural respectSpotify’s communityFocus 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.Chapter is competency areaGuild – 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. Spotify focuses on community rather than structure.Spotify’s releasesSmall and frequent releases, releases should be routine, no dramaClient app squads, Feature squads, Infrastructure squadsSelf-service model, enable then serveRelease 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?Trust is more important than control, no politics and no fear!FailuresWe aim to make mistakes faster than anyone else!Fail fast, Learn fast, Improve fastSpotify is a Fail-Friendly environmentFailure Recover rather than Failure AvoidanceSpotify 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 Ticket is not closed when it is finished, it is closed when we catch the learningStrong culture of continuous improvements, driven from below, supported from aboveLimited Blast Radius via Decoupled architecture via Gradual RolloutIf everything is under control, you are growing too slow!Lean Startup, Think It, Build It, Ship It, Tweak ItIdea/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)Impact is always more important than VelocityInnovation more important than PredictabilityDelivery Value rather than Plan FullfillmentHack timeSpotify Hack Week – Friday Big Demo and Party. Tip! Maybe it is time to try Week Hackthon? More time to create awesome features? People are natural innovators, allow then createExperiment-Friendly Culture. Tip! Don’t be afraid of changes and experiments!What is the hypothesis? What did we learn? What will we try next?More data-driven decision than opinion/ego/authority drivenWaste-Repellent culture. If it works, keep it. Otherwise dump it.What works for Spotify? RetrospectiveDaily Stand UpGoogle DocGitGuild UnconferencesWhat doesn’t work for Spotify? Time reportsHandoffsSeparate test teams or thest phasesTask estimatesUseless meetingsCorporate BSTip! What works for us? What works for our teams? Maybe it is time to stop estimating or use a different form?Big Projects means Big RisksTry to avoid big tasks, divide tasks into small ones.Visual Progress, Daily Sync, Weekly Demo.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?When you grow fast you have to expect Growth Pain!Try to find balance between Chaos and Bureaucracy Improvements board 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?They use Toyota Improvement Kata – The table with four parts : Current Situation, Definition of Awesome, Realistic Next Target, Next Three Actions. Tip! Have you ever tried this method?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!Healthy Culture Heals Broken Process Culture-Focused RolesBoot 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?Storytelling – find the possibility to share your experiences, funny stories and cases.YOU ARE A CULTURE!What makes a good engineering culture?Stuff gets done.It gets done well.People are happy.Leaders provide direction and guidance and GET OUT OF THE WAY.Success is celebrated.Failure is used as a way to learn.Protecting your culture.Walk the talk.Hiring is crucial.Firing is crucial“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.”Communicate your values.Measure against your values.Your organisation reflects your values.Watch out for warning signs.How do you know if the culture is broken?People don’t care.(Good) people are leaving.You spend time on the wrong things instead of building your product.Fixing it!Start with yourself.Then your team.Build on successes.Recruit others.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! Resources : http://www.slideshare.net/kevingoldsmith/building-a-strong-engineering-culture-my-talk-from-bbc-develop-2013/86-TackEditor – Natasha Jay O’Neil, please contact Natasha directly for queries related to her services.Zaneta BaranZaneta loves challenges so deciding about career path she has chosen typical male industry. Woman who codes. Every 1-2 years she lives in different part of the world. Gym dates is something what she specialised in. Healthy lifestyle, extreme sports and motorbikes have stolen her hear years ago. AgileCultureReviewScrumScrum MasterSpotifyTech Previous Post Next PostYou may also like 14 February 2017 If successful people (from professional perspective) are bad? 9 May 2017 How have I moved to Ho Chi Minh City in Vietnam? Practical advices before going to VietnamLeave a Reply Cancel replyYour e-mail address will not be published. Required fields are marked *CommentName * Email * Website Save my name, e-mail, and website in this browser for the next time I comment. This site uses Akismet to reduce spam. Learn how your comment data is processed.