IBM Client Engineering partnered with NatWest Group to deploy new features for its digital assistant, Cora, using the safe and secure A/B testing capabilities of Red Hat OpenShift Service Mesh.
“Customer expectations have skyrocketed in banking because of the great services provided by tech giants and FinTechs,” according to Ankit Chhajer, Artificial Intelligence Lead at NatWest. “Customers want to bank at the time of their choice, anywhere, with instant communication and instant assurance for their finances.”
Jake Collins: At NatWest, we are focused on delivering exceptional support to our customers, and a key part of this effort involves our cutting-edge conversational assistant, “Cora.” Cora is a built with a range of technologies, including IBM Cloud technologies like IBM Watson Assistant, which uses machine learning and natural language processing to understand user inquiries.
Partnering with IBM Client Engineering
Jake: In 2020, we worked with IBM to deploy Cora into containers, which involved packaging our microservices and all their dependencies into standardised and portable containers so that they could run on RedHat OpenShift on IBM Cloud. This was one of our first engagements with IBM Client Engineering and was a fantastic project that opened our eyes to the new ways IBM is working to support Financial Services clients like us.
The next year, when we were keen to explore how to safely experiment with and deploy new features and changes in Cora, we looked to IBM to partner up once more. Whilst we had an idea of the technology we wanted to use — Red Hat OpenShift Service Mesh — we wanted to ensure we didn’t miss anything in our eagerness to experiment with this new technology.
Rolling out changes safely
Jake: As we look to expand Cora’s functionality, our goal is to test and learn from experimental changes in a safe and secure way. By engaging with IBM Client Engineering, we spun up an engagement to discover the art of the possible around A/B testing, whilst leveraging the most out of our existing technology stack.
A service mesh is a configurable layer for microservice applications that makes communication flexible and reliable. A key feature of a service mesh is the ability to easily apply and administer granular routing rules between microservices. We believed that this capability would enable us to perform A/B testing, which would make it possible for us to soft launch new features. This supports our business goal of providing excellent customer service and meeting ever-changing customer demands.
We needed the ability not only to route new customer conversations between two or more versions of the same Cora application but also to roll changes back, should there be an issue. To keep it simple, we looked at routing between the existing version (v1) and a new version (v2). If this configuration was possible, we would have a safer method to release updates to Cora without negatively impacting our customers. With what we knew of service mesh and our subsequent workshops with Client Engineering, we were reassured that we had landed with the right technology.
Exploring with IBM Garage workshops
Tony Hickman: Our partnership with the Cora team began with a series of workshops sourced from the IBM Garage Methodology:
ABusiness Framing to understand the background of the Cora team.
Discovery sessions to understand both the end-to-end user journey and the existing technical landscape.
Solutioning to discuss how Red Hat OpenShift Service Mesh could be implemented.
Scoping to agree what items would need to be proven in an MVP.
For the Business Framing workshop, we invited stakeholders from the technical and business teams to validate that everyone had the same high-level understanding of the business problems facing Cora. We discovered that the current setup did not allow new versions of Cora to be soft launched and that, in addition to restricting the flexibility of the release process, it was also restricting the ability of the business to understand customer behaviour and provide a better customer experience. Fixing this problem would allow the team to get real-time understanding from customers on new Cora features and allow rapid improvements in Cora customer’s experience.
Bringing teams together
Tim Quigly: After Business Framing, we progressed into a successful User Discovery session. While this session was not originally planned, it ended up being highly valuable. It gave the team a full understanding of the end-to-end process spanning the business and technical teams and allowed everyone to collectively map out the target to-be user story that we want to work towards.
In the next session — a Technical Discovery and Solutioning workshop — we validated our understanding of the existing environment and delineated the main areas of focus for the MVP. This was great, as it allowed the team to properly understand how service mesh components and Cora would interact with one another.
Finally, we held a Scoping session. In this session, we presented a suggested scope and then discussed this with the Cora team, adjusting and then agreeing on the shape of the MVP.
Co-creating and exploring service mesh, hands-on
Tim: Using the insights captured during these workshops, we planned three-and-a-half weeks of technical hands-on sessions around six key user stories. These sessions, running for up to two hours every morning, involved an IBM engineer guiding a Cora team member through the implementation of Red Hat OpenShift Service Mesh within a mirror of the Cora production environment, as the team member controlled and shared their own screen (pair programming).
Tony: This co-creation process facilitated a deep understanding of Red Hat OpenShift Service Mesh through hands-on experience, while remaining controlled and structured. To engage the business stakeholders within NatWest, we performed demonstrations of completed user stories during end-of-week playbacks. Outside of these client engagements, the Client Engineering team used the remaining time to overcome technical challenges and prepare for future sessions.
Operating as one team
Jake: The MVP was a fantastic experience — structured but with the capability to flex as needed to cover new and emerging areas of interest. Most importantly for our own teams, the approach was very hands-on and collaborative. This meant that we were able to directly implement Red Hat OpenShift Service Mesh ourselves, in a safe space. We quickly learned about the OpenShift Service Mesh capabilities whilst being able to ask questions and drill into details with experts. We very much felt that the Cora and IBM Client Engineering teams operated as one during the MVP and this extended into debugging when issues occurred — especially the intricacies of our application in relation to the mesh. Additionally, the inclusive approach of IBM Client Engineering — bringing our business stakeholders into the workshops and playbacks — meant that we had the buy-in to rapidly proceed to implementation after the MVP.
IBM Client Engineering supporting NatWest’s business goals
Jake: When we started this journey, we knew of OpenShift Service Mesh but didn’t know if it supported our business needs. Working with IBM Client Engineering. we took it back to the beginning to understand the ask and business need and choose the right technology.
Throughout the engagement, our engineers have learned a lot about the technology, while demonstrating to non-technical users a very simple and highly configurable way to test new versions of Cora with our customers in a very safe and secure way.
Overall, the MVP showed us the route to live, built our confidence in the OpenShift Service Mesh technology and gave us a clear understand of what the target architecture should be. This was all invaluable experience that has certainly accelerated our thinking and our plans.
Providing the best customer experience
Jake: We are constantly looking to enrich Cora and provide more capabilities to our customers. Cora is now present within our IVR (Interactive Voice Response) system, and we are looking to expand Cora with push notifications, deepen her knowledge in our products and expand her capabilities to be a key point of navigation for our customers across our digital and “traditional” estates. It is critical that we have a safe way to release new features so that any issues can be picked up and addressed rapidly. Partnering with IBM Client Engineering for this MVP put us in the best possible position to move forward with OpenShift Service Mesh and has enabled us to continue to deliver the excellent experience our customers have come to expect.