When you go in for a checkup or pick up a prescription, you likely won’t see a McKesson logo on a syringe or your refill. But chances are that McKesson was involved in getting you the medicine or services you need. From distributing pharmaceuticals and medical-surgical supplies to developing healthcare information technology, McKesson ensures that medical professionals can get healthcare services to the right patients at the right time.
Supporting healthcare providers around the globe requires an international team to match. With 78,000 employees worldwide, McKesson works to make better care possible for patients everywhere. But seamless collaboration among a rapidly growing number of employees is a challenge for any company—especially when expanding through mergers and acquisitions. As McKesson grew, new developers with a wide variety of technology stacks entered their workforce—making even the number of teams and toolsets difficult to count.
When Denis Canty and James Hurley joined the company in mid-2017, they knew standardized tools and digital transformation were a critical part of growing to scale. McKesson had already been a GitHub client for many years, but their environment wasn’t optimized to maximize and benefit from the tools that GitHub provided. Some technology teams hadn’t been using a version control management tool.
Based on data from over 20 software leaders across McKesson, their solution was to create a Developer Services solution team and build a community of software teams within a virtual brand, called McKesson Labs that delivered a cohesive DevOps technology stack, which included GitHub. “In 16 months, we’ve gone from over 30 siloed software engineering groups to a largely cohesive team across McKesson,” said Canty. “From our DevOps COE, we are now supporting over 25 engineering teams all over the world. By using standards and automation, we avoided those teams performing over 100 manual steps over three months—their DevOps journey is now three steps and less than a day—that led to huge efficiency return to the development teams, and a one-off cost saving for McKesson of $350,000 per team.”
Canty is now Vice President of Developer Services and Technology Labs; Hurley is Director of Developer Services. Together they support McKesson’s developer community through software engineering platforms, consultancy, and training programs. “With Developer Services, we hope to accelerate the developer impact and reputation at McKesson, so they have a platform and a combined voice of influence,” said Canty. “GitHub is very much at the center of how we’re trying to take McKesson to the next level.”
Canty and Hurley began by asking teams to share their code internally on GitHub. This was a huge change from what developers were used to at McKesson. Teams hadn’t been using the same tools, or sharing code. However, making code visible through GitHub helped accelerate the process of getting teams on a standardized stack.
“Developers are very visual people,” explained Hurley. “They like to see things right in front of them, and GitHub gives them visibility into how others are using tools in the stack. When they see how other teams are implementing these tools to do great work, they’ll be more inclined to collaborate and adopt these solutions as well.”
Developers were quick to adopt GitHub as part of the new McKesson Labs standard. “Most people are familiar with GitHub so they already knew they liked it,” said Hurley. “It’s the developer’s tool of choice.” Between November 2019 and April 2020, McKesson saw 406 developers and 95 teams created in their GitHub organization. Hurley states that watching the growing number of new teams and repositories from the admin dashboard shows that collaboration between the development teams has been improving.
GitHub is improving collaboration between technical and non-technical groups within the company, we see GitHub as not just a technology– it’s a translator and an enabler of collaboration.
And increased collaboration isn’t limited to developers. While the number of developers is just over 400, today McKesson has 516 users set up in GitHub, with the potential to grow that to more than 2,000 over time. This includes operations, scrum masters, product owners, team architects, data scientists, security leaders, technical writers, and UX designers. “GitHub is improving collaboration between technical and non-technical groups within the company,” said Canty. “we see GitHub as not just a technology– it’s a translator and an enabler of collaboration.”
GitHub also helped bridge the gap between tech and security teams. “Security is just as much the responsibility of the developers as it is of the security team,” explained Hurley. “GitHub allows us to enable security, versus enforcing it. The sooner we can catch vulnerabilities and product issues, the better it is for the company in the long run.” GitHub makes it easy for developers to address and fix any potential issues in their code. Automated Security Updates send security alerts whenever vulnerabilities are identified, and automatically opens a pull request with the recommended security updates. With GitHub’s Security features, McKesson’s developers can code in confidence knowing their work is secure.
For McKesson Labs, it was pivotal that GitHub could give developers access to all the necessary tools and information from the same system they were using to write code. “We chose GitHub as the go-forward standard over other source code technologies because of their excellence in developer experience.” said Canty. GitHub enables developers to deliver better, safer code more quickly in one place—without the need to log into other programs. For example, SonarQube is integrated to analyze pull requests for code quality and security, then display the results to developers directly in that request. Notes and warnings from Terraform are also annotated directly on the pull request.
“GitHub is more than just a repository manager,” said Hurley. “It streamlines the software development workflow by allowing developers to manage all tools and services from a single platform they already use on a daily basis.” GitHub makes workflow automation a breeze with its many customization features and seamless integration with other tools. For instance, Developer Services configured default settings for all GitHub repositories in order to standardize their projects as much as possible. Using GitHub Actions, they can check to ensure that none of the proper settings have been incorrectly changed.
They have also been able to build upon open source actions from the Marketplace to further enhance their workflow. With these community-built libraries readily available as a starting point, they don’t need to write their own entirely from scratch. With Actions, McKesson developers can create custom workflows with select tools, such as their CI/CD workflow that includes Concourse for automated builds, JFrog Artifactory for artifact management, then Pivotal Cloud Foundry and Kubernetes for deployment.
“What GitHub does is give developers back their time,” said Canty. “It helps developers focus on and accelerate their code building process. Think of it this way, if we automate away the “Ops” in DevOps, developers have more time to focus on the customer’s experience. We see a new shift away from DevOps to what we call DevEx.
McKesson’s developers have been able to accelerate their code building process even more by building their own custom tools using GitHub’s API. One such tool is a “Repo Generator” that creates a “starter” repository in GitHub with McKesson Labs’s new DevOps technology stack and all the tools of the automated production pipeline already built in. Another is a bot that automatically creates a pull request for teams whenever the leaders make a change to a service the teams are using, whether it’s a potentially app-crashing change or just a minor modification.
With the support of Actions, webhooks, and other GitHub apps, it is now possible to remove or replace any piece of the DevOps tech stack across the company with minimal disruption. This level of abstraction gives leadership the flexibility to make strategic business decisions and move quickly with changing market trends. “While McKesson is not a technology company per se, technology is becoming increasingly influential in how we deliver value to customers,” said Canty. “As a team, we’re committed to continue to help McKesson be a leader in patient-centric healthcare.”
Before, the inconsistency in technologies had made it difficult to mobilize developers toward shared goals. Now, with a cohesive technology stack and automated workflows streamlined through GitHub, McKesson’s development teams can focus more on moving forward in their mission.
“We’re looking to simplify and modernize our applications to deliver the highest value to McKesson, and more importantly, to our customers,” explained Canty. “GitHub is essential to our journey to become more agile as we build applications into the future.”