Spotify Squad framework — Part I
I watched this video about the Spotify Engineering culture last year and BOOM, my mind just exploded. Don’t forget to also read the part II here. I felt completely in love with Spotify and its culture. The video explains the Spotify Product Development, the release methodology and the frameworks they use. They’re a 100% Agile company that started with the Scrum framework, but as their teams were growing, they noticed some things on the Scrum framework that wasn’t working well for them. So, they decided to break some Scrum roles, artifacts and events. According to the video, these things were getting in the way, so they decided to make the Scrum roles, artifacts and events optional.
“Rules are a good start, then break them”
They figured out that Agile matters more than Scrum, and principles matter more than any specific practices. Spotify renamed the Scrum Master to Agile Coach because they wanted “servant leaders” more than “process masters”. They also renamed Scrum team to Squads.
It’s a small cross-functional self-organized team with usually less than 8 people. They have end-to-end responsibilities and they work together towards their long-term mission. On Squads the key drive is autonomy.
Each Squad has autonomy to decide what to build, how to build it, and how to work together while building it. Although they need to be aligned with the Squad mission, product strategy, and short-term goals.
“Be autonomous, but don’t sub-optimize!”.
Autonomy provides employees with a sense of collective ownership. They are part of a greater whole, active members (rather than passive) of the team, “making a positive overall contribution to the organization” — Griffin and Moorhead, 2008.
Trust > control
People work with autonomy, mastery, and purpose. Autonomy is motivating, and motivated people build better stuff, and also faster. Autonomy makes us faster by leading decisions happening locally instead of managers and committees.
- Leader’s job: Communicate what problem needs to be solved. And, why.
- Squad’s job: Collaborate with each squad to find the best solution.
“Loosely coupled, tightly aligned squads”
Alignment enables autonomy. It’s important that everybody understands the company/startup culture. The stronger alignment we have, the more autonomy we can afford to grant. Autonomy with alignment increases motivation, quality and also fast releases.
Spotify has little standardization, it doesn’t have a formal standard, they believe that cross-pollination is better than standardization. For example, when enough Squads use a specific tool, that tool becomes a path of less resistance and others Squads tend to choose the same tool. After other Squads use the same tool, test it and collaborate together, then the tool became a default standard.
Consistency x Flexibility
They have an internal open-source model where their culture is more sharing than owning. Based on mutual respect and little ego, Spotify has a peer code review, where anyone can add any code anytime. Then a peer can review the code and also make adjustments where everybody collaborates together and spread the knowledge! They also have a culture of focus on motivation who helped them to build a very good reputation as a workplace.
How the Squad works
As long Spotify has a lot of different Squad’s, they needed to create some structure to it. Each Squad is grouped into Tribe that has a Chapter. During this process, you can switch your Squad without changing your manager. They also have a Guild which is a community of interest by mailing list or another informal type of communication methods inside Spotify.
- Tribe: Little weight matrix. It’s a primary dimension focused on product delivery and quality.
- Chapter: Competency areas such as quality assistance, Agile coaching or web development.
- Guild: A Lightweight community of interest where people across the whole company gather and share knowledge of a specific area. Anyone can join or leave a Guild anytime.
“Most organizational charts are an illusion”
Most organizational charts are an illusion. Spotify main focus is community over the structure, rather than hierarchical structures. They found that strong enough community can get away without volume structure. If you need to know exactly who is making decisions, you’re in the wrong place.
“If you need to know exactly who is making decisions, you’re in the wrong place”
How easy can they get their stuff into production?
The main goal is to have a small and frequent release and invest in automation and continuous releases infrastructure. If releasing is hard the release seldom will be difficult. Although if releasing is easy, they can release often.
Instead of creating rules and process to manage their releasing process, Spotify simplified it to encouraging small and frequent releases to become routine. They changed the architecture to enable decoupled releases using the encoded embedded framework. Each section of the web browser is like a frame of a website where each Squad can release their own stuff directly. They have three different Squads based on the self-service model.
- Feature Squad: Focused on one feature area.
- Client App Squad: Focused on making the release easy in one specific area platform.
- Infrastructure Squad: Focused on making other Squads more effective providing tools and routines for Squads.
Release trains — feature + toggles
Each client app has a release train that departs on their regular schedule typically every week or every three weeks depending on the client. The trains depart frequently and reliability doesn’t need much upfront planning.
The interesting part of it is that Spotify releases hidden features. For example, in the next train came a feature that isn’t 100% done, they release it and then hide this feature. Why do they do it? The answer is simple! Releasing unfinished features and hidden them expose integration problems early and minimizes the need for code branching. Brilliant!
Principles > Practices
- Almost all wall at Spotify is a whiteboard.
- Each Squad has their own space with a lounge and meeting room.
- Releases hidden features.
No fear, no politics! Keep experimenting Spotify!