CVS Health's journey from legacy tools to seamless developer experience | GitHub
By GitHub
Key Concepts
- Vibrancy: A mindset at CVS Health focused on working with startup speed and creativity, empowered by the resources and scale of the company. It emphasizes team autonomy, rapid innovation, continuous improvement, and standardization of tools and practices.
- Repo rally: The initiative at CVS Health to transform the developer experience by centralizing repositories in GitHub Enterprise Managed Users (EMU) and orchestrating a massive migration and CI/CD consolidation.
- GitHub Enterprise Managed Users (EMU): A managed instance of GitHub designed for large enterprises, offering enhanced security, compliance, and administrative control.
- CI/CD (Continuous Integration/Continuous Delivery): A set of practices that automates and streamlines the software development lifecycle, from code integration to deployment.
- Source Code Management (SCM) tools: Platforms used to store, track, and manage changes to source code (e.g., Git, SVN).
- Cognitive Load: The total amount of mental effort required to perform a task. Reducing cognitive load for developers means simplifying their workflows and toolchains.
- Copilot: An AI-powered coding assistant that helps developers write code more efficiently.
Transformation of CVS Health Developer Experience: The Repo Rally
This summary details CVS Health's initiative to revolutionize its developer experience through a program called "Repo rally." The core objective is to empower over 10,000 engineers by centralizing their work in GitHub Enterprise Managed Users (EMU) and consolidating their Continuous Integration/Continuous Delivery (CI/CD) pipelines. This transformation aims to foster innovation, improve efficiency, and ultimately deliver better healthcare solutions.
The Big Picture: CVS Health's Mission and Scale
Jim Beyers, Vice President of Developer Experience at CVS Health, sets the stage by highlighting the company's mission: to be the leading and most trusted healthcare company. Ranked sixth on the Fortune 500, CVS Health's reach is extensive, encompassing healthcare, benefits, health services, pharmacy, and consumer wellness brands like Oak Street Health, Aetna, CVS Caremark, and more. This diversity necessitates a robust and scalable developer platform.
The scale of CVS Health is immense:
- Over 200 Oak Street clinics and more than 1000 walk-in and primary care clinics.
- Over 185 million people served across its businesses.
- Over 14 million active users of the CVS Health app.
- 5 million daily interactions across over 9,000 pharmacy locations.
This scale underscores the critical importance of their developer experience transformation, as it directly impacts millions of lives. The company's vision, "Healthy 2030," focuses on healthy people, a healthy business driven by purpose, healthy communities, and a healthy planet, all supported by innovation and technology.
Vibrancy: A Mindset for Innovation
"Vibrancy" is presented as the guiding principle for this transformation. It's defined not just as energy, but as a mindset that combines the speed and creativity of a startup with the resources and scale of CVS Health. Key aspects of vibrancy include:
- Empowering Teams: Granting autonomy and freedom to teams to execute without unnecessary friction.
- Fostering Rapid Innovation: Encouraging experimentation, learning, and iteration to deliver increased value.
- Standardization: Eliminating silos and one-off solutions by standardizing tools and practices across the organization.
- Consolidation: Moving from ten different CI/CD tools to a unified platform with GitHub and GitHub Actions.
This shift is described as a cultural one, aiming to free engineers from wrestling with legacy systems and redundant processes, allowing them to focus on solving real problems. The outcome is a modern, scalable, and secure software engineering toolset with GitHub as the backbone and GitHub Actions for automation. This enables faster response to change, greater value delivery at scale, and supports employee development through agility and outcome-oriented culture.
The Challenge: Fragmentation in Developer Tools
Mitch Enderle, Executive Director at CVS Health, elaborates on the current fragmented developer experience. With over 10,000 software engineers, the company was using:
- At least seven different source control versions.
- Over ten CI/CD tools.
This fragmentation created a complex ecosystem, making it difficult to implement governance controls and security policies. For instance, enforcing a policy to prevent developers from publishing artifacts with critical vulnerabilities across multiple tools was extremely burdensome. This "chopped-up experience" was likened to developers speaking different languages, slowing down onboarding and hindering cross-team collaboration.
The fragmentation also impacted infrastructure and platform teams, who spent significant time managing, updating, and patching numerous tools across different operating systems. This diverted their focus from improving the developer experience, such as optimizing pipeline performance and emitting metrics for targeted improvements.
The Solution: Standardizing on GitHub EMU and GitHub Actions
The chosen solution is to standardize on GitHub Enterprise Managed Users (EMU) for repository management and GitHub Actions for CI/CD. This unification aims to:
- Standardize the Platform and Workflows: Providing a single, consistent environment.
- Improve Discoverability and Collaboration: Developers automatically gain access to GitHub EMU on day one, eliminating access request delays. Community channels in Slack facilitate peer-to-peer support, freeing up platform teams.
- Provide Consistent Governance: Security gating and policy enforcement become easier to implement at scale.
- Reduce Cognitive Load: Developers have a single path to perform their jobs, eliminating the need to navigate multiple tools.
- Facilitate Career Development: Developers can transition to new roles without the burden of learning entirely new toolsets.
The Migration Journey: Repo Rally Execution
Irene, responsible for GitHub product adoption and developer experience, details the execution of the "Repo rally" migration.
1. Planning and Inventory:
- Challenge: The initial number of repositories was unknown.
- Solution: Data was pooled from seven SCM tools, identifying over 100,000 repositories. Each repo was evaluated for its CI/CD pipeline and other attributes.
- Outcome: The migration was organized into five phases. Migration scripts were developed to lift and shift over 600 repos in four hours with two engineers, including repointing Jenkins CI/CD pipelines and automated validations.
2. Communication and Engagement:
- Challenge: Relying on teams to provide migration dates led to conflicting priorities.
- Solution: Mandatory migration dates were assigned to every repository. Teams had to provide justification and commit to new dates if they couldn't meet the assigned ones.
- Outcome: A more structured and predictable migration schedule.
3. Data Management:
- Challenge: A single spreadsheet with over 100,000 lines of data and multiple contributors became corrupted.
- Solution: A dedicated migration app was developed to manage all data, providing a seamless experience for users and the migration team.
4. Automated Communication:
- Challenge: Manual email communication to over 600 repo owners for pre-migration, reminders, and completion was not scalable.
- Solution: Automated, event-driven emails were implemented within the migration application, triggering notifications seven days before migration, reminders, and a completion email with the new repository URL.
5. Script Enhancement:
- Challenge: Initial daily migrations took over seven hours with four engineers due to manual steps.
- Solution: Migration scripts were enhanced with automation for error handling, automated triggers, and automated validations.
Migration Progress and Timeline:
- Q1-Q2 2025: Discovery, planning, and script validation. 15% completion.
- Q3 2025: Implementation of solutions for challenges. 50% completion.
- Q4 2025: Positioned to end the year at 85% completion.
- Q1 2026: Deprecation of six SCM tools, leading to 95% completion.
- Q3 2026 - Q1 2027: Migration of 2,000 GitLab repositories, including conversion of GitLab CI/CD to GitHub Actions. This phase will achieve 100% completion of repository migrations.
What's Next: Pipeline Migration and AI Assistance
Mitch Enderle outlines the next phase: migrating thousands of pipelines with bespoke patterns and custom scripts to GitHub EMU. This is a significant undertaking, and CVS Health is exploring the use of Copilot agents to automate this heavy lift, relieving developers of this burden. The ultimate goal remains to improve the developer experience, allowing engineers to focus on application development rather than tool management and migration complexities.
The session concludes with an invitation for attendees to visit the "Ship & Tell" area to discuss CVS Health's progress, challenges, and ongoing initiatives.
Chat with this Video
AI-PoweredHi! I can answer questions about this video "CVS Health's journey from legacy tools to seamless developer experience | GitHub". What would you like to know?