News Lessons learned from Spotify Mobile Engineering’s recent platform migration
Recently, the Spotify mobile engineering team detailed their experience with a recent platform migration. Under the Mobile Engineering Strategic Plan, the team migrated their Android and iOS codebases to build with Google’s open source build system, Bazel.
Mariana Ardoino and Raul Herbster from Spotify’s mobile engineering team reflect on what they’ve learned from the migration in a blog post. The migration effort affected more than 100 teams at Spotify. Recognizing that migrations of varying sizes and complexities will be the “normal” going forward, the team sets the context by emphasizing the need to define the scope of the migration.
Often, when the scope of the migration is unknown, it makes sense to focus on the values and understand the goal of the migration. The team recommends starting with a proof of concept (POC) and validating it with stakeholders, rather than identifying all possible scenarios at the outset. It is also useful to understand the needs of the stakeholders of this migration by working with them during these early stages.
Large infrastructure and architectural changes seem impossible when there are a large number of squads affected and progress is slow. This situation requires a greater degree of stakeholder involvement. Connecting with stakeholders via Slack/email groups and sharing progress via newsletters and workplace posts may re-emphasize the importance of migration. Looking into automation possibilities may help during the migration process. It’s also a good option to try out times reserved for research peaks, which can include swarming with teams to migrate.
On the other hand, emphasizing the collaborative aspect in the context of Agile/DevOps transformation, Nigel Kirstensays Puppet’s CTO,
Fundamentally, the problem with all of these transformations is that there is a huge human interaction component, and as an organization, the bigger and the older it is, the harder it is to change the way people interact, you have to go higher up the chain to create organizational change.
Spotify’s mobile engineering team mentions that competing priorities are a “fact of life” for any platform team involved in a migration. Whether a migration involves adopting a new technology or reducing technical debt, a team’s motivation level can suffer from a slow migration. The team recommends ongoing assessment of migration progress, motivating teams by demonstrating the positive impact of the migration, and fine-tuning approaches to achieving specific migration goals.
Finally, in terms of discussing accountability, the Spotify mobile engineering team advises against expecting internal/external consistency to drive change over time. Using dashboards, maintaining migration timelines, and usage data or trend graphs may help visualize progress and highlight needed adjustments.