Mashreq bank. Digital Transformation.

Reinventing User Channels

Overview

We partnered with Mashreqbank PSC, the oldest and one of the largest privately-owned banks in the UAE, providing financial solutions to customers since 1967. In 2019, Mashreq bank started an initiative to completely transform all of its customer-facing channel applications, including their Customer Mobile Banking Application, Customer Desktop Banking Application, Credit Cards Marketing Application, KYC Application and Branch Service Tablet Application.

Challenges

Other competing banks in the UAE had already started similar initiatives to upgrade or entirely redevelop their channel applications which put pressure to deliver working solutions fast. The MVP phases of the apps were about to roll out almost simultaneously, and they were expected to be completed within approximately one year. Delivering a solution of that size for such a limited period was a big challenge. Mashreq could not achieve this internally on its own. 

They required assistance from several departments and vendors to complete the digital transformation initiative in the desired period. Overall the team consisted of 40 members from different vendors, McKinsey Digital, and in-house Mashreq developers distributed in squads. Great cohesion, understanding, and cooperation among all units were required. Communication and alignment between teams were a primary concern, considering the required delivery speed and different deadlines set for the other applications.

Also, a key component in the old architecture - the Middleware (ESB) - was exposing all functionalities available within the bank operations. This imposed a challenge for the performance of all applications, as all applications would utilize the ESB instance, which in turn would lead to bottleneck & latency issues. To deliver the architecture promptly, we needed to quickly analyze how the bank’s existing components work and identify the best architecture concept whilst having security in mind. 

Solution

We were responsible for developing the backend infrastructure, which would be used by all channels, and for creating the first MVP (tablet branch application), which the bank's customers would use in the physical branches.

The issues with the old architecture were mainly handled through the use of the CQRS pattern & proper caching on the backend Layer. The new backend architecture was built using Java Microservices based on the Spring and Spring Cloud Frameworks. Each microservice is a stand-alone application that encompasses a bounded context (domain) following Domain-Driven Design (DDD) principles. The aim was to create one backend for all frontend channels and to detach as much as possible from the legacy infrastructure. Therefore, we introduced two main layers before the communication with the ESB.

To ensure the quality of the architecture, we developed deployment pipelines for Continuous Integration & Continuous Delivery so that every microservice is deployed autonomously in different environments - staging & production.

For the development of the MVP of the Branch Tablet Application, the goal was to completely digitize and automate all current user-facing services and introduce new ones. Account Closure was the most complex and was the first to be digitized and automated in the UB Tablet Application journey as it took about a week to complete manually. In 3 months, the team managed to develop and automate more than 50 service journeys, including Funds Transfers, Print Statements, Transaction Dispute Requests, Cheque Book Requests, Card Replacement, Update Details, etc. We successfully delivered the MVP, and the production version was first introduced in the Dubai Mall. 
 

Results

  • Delivered a fully-featured MVP tablet application 
  • Developed a complete set of backend services around the main domain object that was initially backing up the tablet application
  • Achieved greater scalability 
  • Improved the development process by implementing CI/CD pipelines

Quick Facts

Duration: 3 months

Technology Stack: Java 8, Spring Framework - (Boot, Batch, Cloud, Redis), RabbitMQ, MSSQL, React Native, Azure DevOps

Team: 5 Backend Developers, 4 Frontend developers

Let’s talk.

Contact Us