Wherever you go, chances are Vodafone is there too. Vodafone provides global connectivity with local telecommunications services in 21 countries and mobile roaming access in another 128, encompassing more than 95% of the countries in the world. With more than 323 million customers for its mobile and fixed-line voice, data, and television services, Vodafone is not only one of the biggest telecom companies globally, but one of the world's most recognizable brands as well. It doesn’t stop there. With a mission to build an inclusive and sustainable digital society for its customers, the company continues to expand mobile connectivity and high-speed internet availability in remote and underserved areas.
Meanwhile, Vodafone is continually developing new offerings to expand connectivity everywhere, including home security, home automation, and other Internet of Things (IoT) products and services. The company is rapidly becoming not just a telco but one of the world’s largest software companies. With more than 9,000 developers working across 12 countries, Vodafone is well-positioned to deliver these new technologies.
Vodafone launched an agile transformation initiative in 2018 to help teams work together more effectively. At the time, each development team at the company chose their own tools. For example, some managed source code in GitHub, while others used BitBucket or GitLab. The lack of a unified DevOps platform, along with the geographic separation of the teams, led to inefficiencies, with developers building solutions to problems other teams in other locations had already solved, instead of focusing on innovation.
To simplify cross-team collaboration, Vodafone chose to standardize on GitHub Enterprise and Microsoft Azure DevOps. With the majority of its code migrating to a unified DevOps platform, Vodafone's development efforts operate like a single, global team rather than several disparate companies.
We evaluated the options, and GitHub and Azure DevOps have all of the features we needed to collaborate more effectively and, as a large enterprise, they are the products we felt most comfortable running at scale thanks to their reliability and high-availability.
“We evaluated the options, and GitHub and Azure DevOps have all of the features we needed to collaborate more effectively and, as a large enterprise, they are the products we felt most comfortable running at scale thanks to their reliability and high-availability,” says Ahmed El Sayed, Europe Director of Engineering and UK CIO. “Plus, being a part of GitHub’s community of 100 million software developers means we are able to learn from what other enterprises are doing and progress faster.”
By standardizing on GitHub Enterprise and Microsoft’s Azure DevOps, Vodafone is able to build a seamless end-to-end DevSecOps process.
Vodafone uses both Azure DevOps and GitHub Actions for CI and test automation, providing engineers with faster feedback while code is still fresh in their minds. Likewise, rollbacks happen automatically. “Using GitHub Actions for CI is driving a cultural shift,” says DevOps Solutions Owner Stefan Euripidou. “Instead of waiting days or weeks, changes are instantly validated.” Developers can collaborate on code stored in GitHub while using Azure Boards for project management and Azure Pipelines to deploy applications to their multi-cloud environment.
Thanks to integrations between GitHub and Azure DevOps, Vodafone teams can take advantage of all these features from a single interface, creating one global view of the entire application lifecycle, regardless of where in the organization an application is built or what cloud or infrastructure it will be deployed to. “The fact that Azure DevOps and GitHub are evolving so closely together is just an added bonus for me,” said Ben Connolly, Global Director of Cloud Engineering & Head of Digital Engineering UK at Vodafone. “It’s been a real catalyst and heightened pace of development and delivery for Vodafone.”
Some teams are embracing GitOps practices to manage cloud infrastructure and automate a wide range of tasks. “Where before teams would have to do five different activities manually, they are now able to make a quick change to a manifest file and automate the entire workflow,” Euripidou says.
One of our most important assets is engineering hours. With GitHub and Azure DevOps our engineers focus more of their time on building new customer features.
“One of our most important assets is engineering hours,” says El Sayed. “With GitHub and Azure DevOps our engineers focus more of their time on building new customer features. We are also in the process to use GitHub Copilot to further increase our software developers’ productivity.”
In addition to creating a centralized automation platform, Vodafone is accelerating development time by cultivating an innersource culture on GitHub and Azure DevOps. Vodafone started the journey towards innersource culture by assessing where teams could standardize development practices. El Sayed explains that the company didn't want to dictate which specific tools developers could and couldn't use. That sort of top-down approach would not only upset employees but risk limiting their ability to find innovative solutions. After conversations with stakeholders across the company, everyone agreed that repositories should be standardized, as that would enable sharing across teams around the world while still providing flexibility for developer tooling.
“Now, with GitHub and other Azure DevOps capabilities, we can very simply say two things: if you’re going to build it and it already exists, don’t build it again. And if it doesn’t already exist and you need it, then build it yourself but build it so that everybody can use it,” Connolly said. “By connecting us all globally like this, we can get the balance right between leveraging the scale of the company without slowing any of the markets down. Each market can address local needs in a way that everybody benefits.”
The approach paid immediate dividends: A team in Portugal created a URL-shortening service that is now used by teams in multiple countries. While it has taken time for Vodafone’s developers to make the cultural shift to innersource, teams are recognizing that being able to reuse code means more free time to work on other impactful projects.
Vodafone estimates that automation and innersource collaboration have resulted in a fourfold increase in developer productivity based on the number of releases and the quality of output—without the need to increase headcount. The global web engineering team shaved off about 40% of their time to deliver new features and releases whenever our global source library is used, while the global app engineering team is aspiring to reduce their time to delivery by about 50% through building a global App based on a monoRepo strategy.
Today, each country builds its own “My Vodafone” app that provides customers with billing information, payment options, and everything else they need to manage their relationship with the company. Each country has different regulatory requirements and market needs, but most of the application logic for all of the apps is the same. Yet teams in each country were building their own versions of this app from scratch. “Now we are on a journey to release a common app across our markets with single code base, but enable and disable different features based on the customer and market regulations,” El Sayed explains. “We've given Vodafone developers the opportunity to solve new problems and build things not just for their local market, but for millions of Vodafone customers around the world.”
GitHub provides a foundation for this inter-continental collaboration. “Our teams will use pull requests as a virtual space to track and discuss changes and ensure they meet our standards,” says Stefan Euripidou. GitHub Pages and Issues enable developers to share documentation, get up-to-speed on projects, and discuss potential improvements, all in the same location.
Vodafone uses GitHub Enterprise Managed Users and Teams to help ensure that its developers can work together safely. These features, implemented with the help of GitHub’s Customer Success, Field Services, and Expert Services teams, enabled Vodafone to build a hybrid cloud/on-premise model to support compliance with data sovereignty laws. “Within organizations, our developers can decide who can read, who can admin, who can triage, what kind of branching strategy they want to use, how to protect it, and how to integrate it. GitHub empowers our developers to choose their own access control strategy,” says Euripidou. For example, some of Vodafone’s organizations use the Teams feature in a monorepo to subdivide their teams for modern microservice use cases.
Today, Vodafone developers have a shared library for building infrastructure and web components, with more than 200 different components contributed by teams around the world. Because these components have already been tested and cleared compliance hurdles, teams can put them to use right away.
In addition to saving time and freeing up resources, GitHub helps Vodafone attract and retain developer talent. "It's one of the most loved developer tools in the world and our employees are happy to be able to use it for their day-to-day work," El Sayed says. And because so many developers are already familiar with GitHub, Euripidou estimates the company saves a minimum of a week per person in onboarding time for new hires.
Moving forward, the company will embrace more of GitHub's unique features to accelerate development. “Our dream is productivity from day zero,” El Sayed says. "We want new developers to join the company and find their development environment ready to go.”