Scaling Engineering Teams & Rise of Platform Engineering Squads
Note: If you are familiar with Spotify Agile model, you can skip the whole "Introduction" part.
Introduction
The Spotify model is a people-driven, autonomous approach for scaling agile that emphasizes the importance of culture and network, also helps you to scale up your engineering teams. It has helped Spotify and other organizations increase innovation and productivity by focusing on purpose, autonomy, mastery, communication, accountability, and quality. The Spotify model isn’t a framework, as Spotify coach Henrik Kniberg?noted, since it represents Spotify's view on scaling from both a technical and cultural perspective. It’s one example of organizing multiple teams in a product development organization and stresses the need for culture and networks.
…the Spotify model focuses on how we structure an organization to enable agility.
The Spotify model was first introduced to the world in 2012, when Henrik Kniberg and Anders Ivarsson published the whitepaper?Scaling Agile @ Spotify, which introduced the radically simple way Spotify approached agility. Since then, the Spotify model generated a lot of buzz and became popular in the agile transformation space. Part of its appeal is that it focuses on organizing around work rather than following a specific set of practices. In traditional scaling frameworks, specific practices (e.g. daily stand-ups) are how the framework is executed, whereas the Spotify model focuses on how businesses can structure an organization to enable agility.
The Spotify model champions team autonomy, so that each team (or Squad) selects their framework (e.g.?Scrum,?Kanban, Scrumban, etc.). Squads are organized into Tribes and Guilds to help keep people aligned and cross-pollinate knowledge. 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 other Squads tend to choose the same tool. After other Squads use the same tool, test it, and collaborate together, then the tool becomes a default standard.
Consistency x Flexibility
Spotify employs an internal open-source model, 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 at anytime. Then a peer can review the code and make adjustments. Everybody collaborates together and spreads the knowledge! They also have a culture that focuses on motivation, which has helped them build a very good reputation as a workplace.
What is the gap?
Microservices architecture — Container orchestration, API Gateways, Infrastructure as Code, Shared Identity Providers, etc. have drastically increased the complexity of deploying even a small application in many large organizations that are still navigating the switch from on-premise to cloud-native solutions. This has led to the rise of the “Platform Engineering” and Platform Engineering squads. You can read our detail transformation (and yes, we are still hiring top talents) in here.
These are sample output of the Platform Engineering squads include:
Build Squads leverage all of these artifacts to hit the ground running. Given that the primary consumers are developers, it makes sense to create them in a tool/location like a Source Code Repository that developers visit frequently.?Kyle Gene Brown?covers this in his recent article on?GitArchitecture (a better way to capture Architectural decisions).
What is The Platform?
The Platform is abstraction layer that hides the underlying complexity of operating the software and infrastructure layers, takes care of all the details of handling Infrastructure operations, services orchestration, CI/CD, maintainability, innovation & improvement, and monitoring all these components.
It is fair to set an expectation that "The Platform" can be seen as an internal product whose stakeholders are the technology teams that build on top of it the software and applications that power the Business and helps it thrive in this ever-changing technology landscape.
领英推荐
What are The Platform components?
The Platform can be a multi-layered entity where each layer has its responsibilities and clearly defined boundaries. I define such components like below:
How to fit into Spotify Agile Model?
After I read this article of ibm garage, noticed they have something similar as well. The Architecture Squad comprises of architects that are on the transformation program full time. The squad also has a Chief Architect. You could have two Chief Architects if you are pairing which I have done a few times and it works well to change behavior. Every architect is assigned to 1–2 Build Squads once these are stood up. They provide the necessary architecture support the Build Squad requires.
As a transformation program starts up, reference architecture and a reference implementation need to be established and built. The architecture squad, just like every other squad, has a backlog with prioritized stories that they work from. The architecture stories are focused on the reference architecture/implementation. The architects work on the design of these stories and pass them to the Platform Engineering Squad.
The Platform Engineering Squad is a Build Squad that focuses on building out the reference architecture and the reference implementation that the Build Squads focused on building products will leverage. The Architecture Squad plays the role of Product Owner for the Platform Engineering Squad.
The initial set of architecture stories are created by the architects, however, once the Build Squads are operational, they can submit architecture stories to the Architecture Squads backlog for consideration. If the story is cross-cutting, strategic, or will occur frequently, the Architecture Squad will prioritize it. If it isn’t, it will turn it back to the Build Squad that submitted it and leave it to them to implement.
The architecture backlog is jointly groomed and prioritized by the Chief Architects, the Squad Leads of all the Build Squads, and all the Product Owners. I just extend that a bit and create the following visualization:
Platform Engineering Principles
AI Chief @ Lloyds Banking Group?|?PhD in AI | Ex-Amazon, Accenture
3 年Thanks for sharing this Chris! Great perspective fitting the Spotify model to tech and platform delivery It is indeed not a natural fit and the tweaks you have suggested are important