ABN AMRO increases release frequency by 600% and cuts build times by 70% with CI/CD practices powered by the CloudBees Jenkins Platform™
Increase the pace of software development by adopting a faster, agile approach with the CloudBees Jenkins Platform
Use the CloudBees Jenkins Platform to support implementation of CI and CD process automation and manage pipelines as code
» Release frequency increased 600%
» Build times cut by 70%
» Testing time reduced by 75%
» Velocity increased 100%
» CloudBees Jenkins Platform
» CloudBees Jenkins Operations Center™
With 22,000 employees and an operating income of more than EUR 8 billion, ABN AMRO is a global bank headquartered in the Netherlands. To succeed in an industry marked by evolving regulations and rapidly expanding customer expectations, ABN AMRO has embraced cultural change within the company to sustain long-term innovation.
One aspect of the cultural change taking place throughout ABN AMRO is the IT organization’s adoption of continuous integration (CI) and continuous delivery (CD) practices. Powered by the CloudBees Jenkins Platform, these
practices are helping the more than 4,000 engineers and other IT professionals at ABN AMRO accelerate the development and delivery of quality software.
“With the CloudBees Jenkins Platform, we have automated many manual steps in our processes, we have more transparency and our developers are able to find and fix issues in the early stages of a project,” says Stefan Simenon, head of Centre of Expertise tooling and software development at ABN AMRO. “As a result, we have shortened time-to-market by doubling our velocity and improved our software quality and security.”
CHALLENGE: ADOPT A FASTER AGILE DEVELOPMENT APPROACH POWERED BY CI AND CD
Before ABN AMRO began implementing CI and CD practices with an agile development approach, most development teams used a traditional waterfall methodology. Because code integration typically happened in the final stages of development, many software issues were identified late in the process. In addition, numerous manual steps slowed the process, resulting in long lead times for new applications and features. “We performed a study to see how long it would take to design and deploy a simple ‘Hello World’ application. We found that if we were to follow all the processes we had in place it would take five to six months,” Simenon recalls. “We had only two or three big releases per year, so there was a lot of waiting time to make software available to our customers; meanwhile our competitors were starting to deliver faster and faster.”
In response to the challenges, ABN AMRO decided to launch a continuous integration and continuous delivery transformation. Individual teams working on Java projects and on front-end development began using Jenkins initially to set up their own build and test jobs. As the initiative expanded, the company recognized the need for standardization and timely, dependable support. “Some of our development teams lacked experience with CI tools and had more diverse uses for CI. Around the same time, the bank saw the growing importance of the tooling environment and wanted to centralize it. The decision was made to set up a separate team to manage CI and CD tools and processes. At that point we needed to ensure that we had professional support for the tools we were using because they were crucial to the entire organization.”
SOLUTION: USE CLOUDBEES JENKINS ENTERPRISE TO IMPLEMENT AND MANAGE PIPELINES AS CODE
ABN AMRO established a software logistics DevOps team to accelerate deliveries by implementing, orchestrating and enhancing CI and CD pipelines with the CloudBees Jenkins Platform.
The company started with a pilot project involving five teams working on front-end and Java development. During this project, the teams migrated their code from Apache Subversion to Bitbucket, and began using the CloudBees Jenkins Platform to set up automated pipelines.
These pipelines incorporated a wide range of tools, including SonarQube for code quality review and Nexus for component management.
Using the Role-based Access Control feature and the Folders feature, the software logistics team streamlined the process of on-boarding new team members to a project. They defined default roles and created groups in their LDAP directory service. When new members are added to these groups, they automatically are given controlled access to the associated project development environment and associated Jenkins pipelines.
Once the front-end and Java teams had established a successful track record with CI, CD and the CloudBees Jenkins Platform, the software logistics team began rolling out technology-specific pipelines to other development groups, including those working on C# projects as well as those developing for iOS and Android mobile platforms. The adoption of CI and CD practices of 100+ agile teams at ABN AMRO was facilitated by more than 50 CI/CD bootcamps and coaching sessions provided by the COE tooling, software development and test team, along with support from CloudBees engineers.
ABN AMRO has now integrated more technologies – such as TIBCO business process management and Microsoft technologies – into automated software pipelines managed with Jenkins Pipeline, which is playing a key role in the development organization’s pipeline as code approach.
“With the emergence of the pipeline as code concept we’re encouraging teams to move away from freestyle jobs and towards automated pipelines,” says Fred Jonkhart, IT architect at ABN AMRO. “We view pipeline as code as a precondition for making the most of CI and CD, so we are working toward having everything defined and treated as code, and then shared as part of the inner source model that we apply at ABN AMRO.”
The software logistics team recently installed Blue Ocean to enable pipeline visualization and visual pipeline editing. This functionality enables support for automating more sophisticated pipelines and utilizing the pipeline as code approach. “Our coaches did not push our teams to use parallel steps within their pipelines until we had a way to visualize them,” says Jonkhart. “Now that we have Blue Ocean, we plan to begin promoting the use of parallel steps within pipelines as appropriate. Pipeline visualization makes it easy to understand the steps, identify bottlenecks and see where improvements can be made.”
Today, the team is using CloudBees Jenkins Operations Center to manage the company’s four Jenkins masters, which have 64 nodes, each running two agents and supporting more than 16,000 jobs.
The company plans to continue CI and CD expansion with the CloudBees Jenkins Platform. These plans include deploying the High Availability feature to minimize downtime, transitioning Jenkins to the cloud, implementing shared libraries and increasing the use of Docker and container technology.
Release frequency increased 600%.
“Before we started our CI and CD program, our Mobile & Internet banking team had four releases per year,” says Simenon. “Now they are moving to one release every two weeks – that’s good progress.”
Build times cut by 70%.
“With the CloudBees Jenkins Platform, our CI build timelines have been reduced by 70%,” Simenon says. “At the same time, the amount of successful builds has increased by 20% and the time needed to create a package has been halved.”
Testing time reduced by 75%.
“Since we automated our test processes, we’ve seen code quality improve and testing times reduced by 75%,” says Simenon. “Our test coverage has also increased by 25% and our test environment uptime improved by 20%.”
Feature velocity increased 100%.
“With all of the gains we have made in our CI and CD automation process, our developers have doubled their velocity,” says Simenon. “That is, they develop and push twice the amount of functionality as they could before our software delivery transformation. At a business level, ABN AMRO is able to respond to competitive threats more quickly and introduce new innovation on an ongoing basis.”