DevOps Transformation at RBC

How Industrial Logic helped a large Canadian bank maximize efficiency and deliver greater value to their customers.

As Canada’s largest bank, RBC is a purpose-driven financial giant that creates value for clients and communities. In order to stay competitive, they understand the importance of embracing change and learning how to adapt quickly in the complex, dynamic and competitive financial services industry.

rbc

Background

The business side and technical side of the bank's digital department were at odds with each other. They had different visions, different leadership and very different approaches to how they wanted to move forward. As a result of this friction, they spent more time fighting against each other rather than worrying about what their competition was doing.


When the teams began their agile journey, communication and collaboration between engineers, business people, UX designers, DevOps engineers and others was poor. They had been in “try and learn” mode for a while and very little results were achieved, which made the leadership team begin to lose trust in agile practices and agile teams.

Challenges

The initial observations from our coaches brought up some areas and practices that were affecting the achievement of Continuous Delivery:

benefit

Infrequent deployments which delayed getting customer feedback.

benefit

Separate development and QA departments reduced the speed of deployments and releases.

benefit

Only some areas of the organization were adopting modern practices and technology.

benefit

Metrics in place were not helping the organization to see what mattered.

When Industrial Logic was asked to help modernize their development team, we jumped at the opportunity. To start, we worked with five teams within the 22 team group. They were ready for change and specifically sought help with their outdated software practices. They recognized the importance of delivering value continuously and nothing made this more apparent than the effects the COVID-19 pandemic would have on their customers need for better and faster access to their finances.

Solutions

Our coaches started their engagement with the goal of deploying software daily, while delivering value continuously. They did this by:

collab_small

Distributing team responsibilities based on skills and desire to grow, not title or role.

metrics

Focusing on DORA metrics changed how teams measured themselves and how leadership measured success.

mob_product

Vizualizing data which influenced leadership and improved prioritization.

tdd_story

Re-introducing practices like BDD and TDD with new perspectives.

Results


With small, incremental changes beginning to take shape, deploying software daily became a more fluid and natural process. Teams would have a hypothesis and run experiments daily. Product owners gained confidence and better understood the concept of starting small and learning quickly. Making massive changes became obsolete.


"We are now implementing code into production eight to 10 times a day. When we demoed that capability to the very senior executives, the reaction was nothing short of astonishment. And the reason for that is we had tried to do this exact same thing about five years ago. We spent a year and a half and many, many millions of dollars, and we really never got beyond requirements." VP of Technology
rbc_releasefrequency

As the teams working with Industrial Logic gained confidence, their source code management made vast improvements. Slowly, they were getting rid of the branches and moving towards a much more efficient and lean trunk based development model. This new robust pipeline gave the teams the confidence to make a change that would go straight to the users.


Risk was also eliminated with the continuous use of small experiments to learn rapidly. Once the teams learned that development and testing are not two separate things, they could validate quality on a continual basis, while also building the software. Giving the developers more responsibility for testing made them become much more detail-oriented and changed the way they wrote their tests and automation, all of which brought more joy to their developing careers.

rbc_efficiency_notext
+200-400% EFFICIENCY since the start of this transformation
"If you talk to people on the team who, perhaps similar to me, spent 10 to 15 years working how we used to work, they will all tell you as well, that they actually think the quality of what we're delivering now is higher than it used to be because everybody takes accountability for it." VP of Technology

As a result of major improvements to the mobile and backend code, mobile registrations increased dramatically from less than 2 million users to 4.6 million active mobile users. RBC is now the #1 digital bank in North America as well as having the highest-rated Mobile banking app in Apple's App Store, globally.


rbc_mobile_user
From Less Than 2MM Mobile Users To Over 4.6MM Mobile Users And Counting

Benefits

  • Greatly simplified source code management: allows changes to be quick, onboarding new engineers becomes faster, and architecture easier to evolve
  • Greater confidence to deploy directly to production: reduces long meetings to approve changes, more focus on getting changes and fixes in place earlier for customers, higher responsibility on team's hands to own the delivery from idea to customer (idea to cash)
  • Learning rapidly from small experiments in production: enables the business to connect better with clients and bring small changes that have a compounding effect on improvement of the final solution
  • Greater quality via continuous testing: a safety net that enables the team to catch mistakes early in the process, before they become defects in production
  • Increase in Employee Participation: employees are more involved in solutioning and decision making across silos, thereby taking pride in ownership and feeling like they are part of a larger goal

rbc_time
Opening Accounts for New Customers

The team’s new processes were put to the test when suddenly the world was plunged into the COVID-19 pandemic. The Prime Minister of Canada quickly directed banks to implement several changes to their online banking systems. In one instance, the government provided a week’s notice before publicly announcing that all citizens would immediately have the option of receiving their stimulus checks by direct deposit to avoid ATMs. Since the teams working with the Industrial Logic coaches were already practicing continuous deployment, they were able to push those changes live in a few days.