Faced with intense competitive pressure in its industry, Medallia is using the CloudBees Jenkins Platform to implement continuous integration and continuous delivery practices at scale and drive a DevOps transformation across the enterprise.
Accelerate innovation and maintain agility in the highly competitive customer experience management industry
Use CI and CD with the CloudBees Jenkins Platform to power Project 24, an initiative to enable enterprise-wide deployments 24 hours after any code change
» Build times reduced by almost 90%
» Developer approval reflected in a Net Promoter Score of 63
» Support responses received in hours or minutes
» CloudBees Jenkins Enterprise
The $10 billion customer experience management industry is expected to top $16 billion by 2022. Medallia has developed a software as a service platform that helps its customers – including more than 1,000 of the world’s leading brands – engage all of its employees to optimize every customer experience. In order to continue to innovate and provide a best-in-class enterprise grade platform for its customers, Medallia has embraced a DevOps strategy that enables the company to rapidly enhance and update its platform with new features and updates that keep current customers and attract new ones.
“For Medallia, DevOps is a strategic initiative,” says Guido de Caso, enterprise software architect at Medallia. “We believe that it has to be part of our DNA in how our engineering teams operate and how we engage with our customers.”
Medallia’s DevOps strategy is embodied by an initiative dubbed Project 24. Put simply, the goal of this initiative is to deploy any code change, whenever it is ready, to every one of Medallia’s enterprise customers, within 24 hours. Supported by Medallia’s top executives and the almost 300 engineers in the development organization, Project 24 is founded upon continuous integration (CI) and continuous delivery (CD) practices with CloudBees Jenkins Platform.
“With so many players in our industry, there is intense pressure to deliver new products faster, and that’s why continuous integration and continuous delivery are critical for us,” says de Caso. “With CloudBees Jenkins Platform, we can run CI/CD at scale to accelerate innovation and maximize agility in our organization that has grown tenfold.”
Medallia’s DevOps strategy is supported at the highest levels of the organization and is led by Naggi Asmar, Medallia’s vice president of engineering. Asmar and his team launched Project 24 and are on the path to transforming the engineering mindset around a DevOps philosophy.
“The Cloudbees Jenkins Platform has been instrumental in transforming our engineering practices to embrace DevOps as a way of life,” said Asmar. “Every engineer can confidently launch an on-demand pipeline to verify the deployability of her merge and obtain feedback on the overall health of her code within minutes.”
CHALLENGE: INNOVATE FASTER AND MAINTAIN AGILITY
Prior to embarking on its Project 24 initiative, Medallia’s build and deployment environment was based on a disparate set of six to seven solutions. The environment was adequate when the entire development team comprised about 20 engineers. As the team steadily grew to hundreds of engineers, the drawbacks of this setup became more and more apparent and pronounced.
“When we grew to 100, then 120 and 140 engineers, we were really battling the tools,” says de Caso. “The onboarding materials we provided were overwhelming, and the tools themselves were often down, causing bottlenecks in development. It became quite chaotic. We had to make a change.”
After experimenting with other tools including Jenkins, Medallia recognized the need to adopt continuous integration and continuous delivery practices across the enterprise. The team was already encountering friction that was slowing them down, including challenges with system availability, support, plugin compatibility, rights and roles access and onboarding new staff. “Our capacity to innovate was hindered by problems with our tools,” de Caso says.
As an enterprise software company with Fortune 100 customers, the Medallia team knew they needed an enterprise-grade continuous delivery solution that could scale as they grew and as their customer base expanded.
The availability of Jenkins was at the top of the list of challenges. “If Jenkins goes down for us, it’s game over,” says de Caso. “We can’t roll out changes. If there was a bug or something critical, we couldn’t really do anything about it. So for us, it’s become a mission-critical system.”
A close second in priority for Medallia was rights and roles system access to ensure that the right employees have access to specific builds and artifacts based on their specific job responsibilities.
Medallia also found that, as more employees joined the team, plugin compatibility was a struggle. While Medallia wanted to promote creativity and autonomy, compatibility issues got in the way.
“Our customers expect enterprise-grade auditability, security, compliance, availability and more and that is why we partnered with CloudBees,” says de Caso.
SOLUTION: ADOPT DEVOPS PRACTICES ENTERPRISE-WIDE
Medallia is powering its Project 24 initiative by using CloudBees Jenkins Platform to implement continuous delivery at scale across its entire development organization. Project 24 began with a focus on continuous integration and a consolidation and centralization of the tools the company uses for its build and test processes.
“Last year, we concentrated on getting from seven different tools to a consolidated experience and single source of truth with CloudBees Jenkins Platform, so developers can see what’s working, what’s not working and who they need to talk to if there is an issue,” says de Caso.
After de Caso’s team made CloudBees Jenkins Platform available to Medallia development teams, there was a transition period of four to five weeks in which teams had access to both their previous set up and the new one, and could compare the results of both to make sure everything was working as expected. Teams were then urged to make the switch with a top-down approach that was supported by hands-on assistance from experts.
“We gradually began discouraging teams from starting anything new on the old platform, and gave them a deadline for when it would be shut down,” de Caso notes. “At the same time, we had internal champions work with every team to help them with the migration and ease the transition.”
To help pave the way, de Caso’s team took full advantage of the CloudBees Assurance Program, which specifies a set of verified and trusted Jenkins plugins, making it easier to ensure stability and availability. “Ultimately it proved fairly easy to get everyone on board with the centralized solution based on CloudBees Jenkins Platform because it was so much better,” de Caso recalls. “It had high availability, more agents, more capacity, better features and better plugins, so there was really no problem getting everyone aligned.”
As part of Project 24, Medallia teams have started following a pipeline as code approach, in which they define complete Jenkins Pipeline projects in a Jenkinsfile that is versioned just like source code. “Teams have already started to take the idea for granted, but the ability to treat pipelines as code is liberating,” says de Caso. “It’s a simple idea with a big impact, because we can review and approve the way we build and ship our products just as we would review and approve any source code changes.”
Medallia has peace of mind by having enterprise support “at the ready” when business critical issues can’t wait to be resolved. “The speed of support is key for us. We have a response in minutes. In order to innovate quickly, we need to fix any problems that come up right away so that technology doesn’t block delivering for our customers,” says de Caso.
Recently, teams have started introducing security checks into their pipelines and using Blue Ocean to create and manage pipelines visually. “We are now integrating security tools into our pipelines, so that we can check dependencies for security vulnerabilities,” says de Caso. “And, we’re loving Blue Ocean – it provides a great interface for engineers and managers. It makes it much easier to see and understand pipelines, including those with parallel stages.”
Medallia’s concerted efforts at improving continuous integration have already shown results. Development teams are currently running 20,000 automated jobs weekly across 1,000 projects, with double-digit growth expected quarterly.
For Medallia, one of the biggest benefits of adopting CloudBees Jenkins Platform has been the positive impact on the work environment for its developers. “It’s the best possible scenario as an engineer when you’re happy and you can focus on the creative and rewarding aspects of your work. When you’re not battling the tools and the tools are working for you, you’re a happy, productive engineer,” says de Caso.
Build times reduced by almost 90%.
“With CloudBees Jenkins Platform, we’ve cut build times from two or three hours down to 20 minutes,” says de Caso. “That represents a huge shift towards greater productivity and a big step towards achieving the Project 24 mission of being able to deploy every 24 hours.”
Developer satisfaction reflected in a Net Promoter Score of 63.
“A year after we started using CloudBees Jenkins Platform, we surveyed our development team on their experiences with it,” says de Caso. “We measured a Net Promoter Score (NPS) of 63, which is sky high. We also received comments like ‘blazing fast’ and ‘great automation.’ We know our developers are happy, and that boosts retention and productivity.”
Support responses received in hours or minutes.
“The support team at CloudBees is amazing,” says de Caso. “The response time is within hours, if not minutes. In addition, we have periodic customer success meetings where we meet with CloudBees engineers and go back over the tickets for the last couple weeks and then look forward at the roadmap for what’s coming. We have an incredible partnership with the support team.”
Project momentum boosted with in-depth, on-site training.
“The first time CloudBees provided training at one of our locations, I expected a standard 9-to-5 day filled with slide decks and then some sort of certification,” says de Caso. “Instead the trainers delved deeply into the challenges we were facing with our pipelines to fully understand our real issues so we could work on them together. That interaction provided us with a shift in our thinking and added energy to help Project 24 pick up speed within the company.”