How to build a better finance app: advice from a Principal Engineer at NatWest bank

Adam Law shares some practices and processes that his team uses to ensure that their finance app continues to serve the customer in the best possible way. We’re sharing them with you in the hopes that you pick up something new for your team!

It’s one thing to build a finance app, but it’s another to build a finance app that has a great user experience with layered security, functional accessibility, and more. Today, when you think of building banking apps, you may not think about the use of emerging technologies. However, banking sometimes does push the boundaries of technical innovation. 

With a forecasted compound annual growth rate (CAGR) of 25%, it’s safe to say that the fintech space is only getting more competitive. And, in such a competitive space, you’ll need to differentiate your offerings to attract and retain users. Apart from features, one way to do that is to better serve the customer by offering a better user experience, better app stability, and faster bug fix times.

In a recent episode of our podcast, we talked to Adam Law, a Principal Engineer on the Bankline Mobile team within the NatWest Group (one of the UK’s largest banking groups). In this episode, Adam shares some practices and processes that his team uses to ensure that their app continues to serve the customer in the best possible way. We’re sharing them with you in the hopes that you pick up something new for your team!

1. Go the extra mile for a better user experience

User experience is very important for users when choosing an app. If a finance app is not easy to use, they’re likely to abandon it and patronize a competitor. According to research, most users will only use a problematic app a max of three times before uninstalling it.

The NatWest Bankline mobile team adopts two major processes to help them continually strengthen the UX of their app.

They conduct a lot of user trials, especially when developing new crucial features. This allows them to evaluate the usability of the features and to decide whether they’re ready to be launched to a wider audience. Granted, there are other ways to get user feedback, such as A/B testing, but user trials have proved an effective way of getting direct feedback from their users.

They also prioritize accessibility. Nearly 80% of the world’s population are smartphone users, so you shouldn’t limit your app’s audience to those without disabilities or impairments. Many developers focus on app features, leaving accessibility as an afterthought. Prioritizing accessibility gives you a chance to serve all your existing customer base better, as well as be accessible to new customers that other finance companies may be ignoring.

Adam shared that for his team, accessibility is factored into every ticket. For them, every feature has to be usable to the full spectrum of their audience, so they invest a lot of time in accessibility-focused testing, where the app gets rated on its accessibility standard.

If you’d like to learn more about how to approach user trails and accessibility checks for your team, see our articles on beta testing and mobile app accessibility.

2. Test rigorously before pushing to production

Because of the delicate nature of finance, fintech apps are less tolerant of bugs. For your finance app to stand a chance, it needs to deliver top-notch service (minimal service downtime, reduced percentage of failed transactions, secure transactions, etc.). The only way to achieve that is to test rigorously before pushing to production to reduce the chances of a bug going undetected.

At Bankline, they perform several layers of tests. As Adam shared, they have a suite of automated tests that run nightly on the ‘develop’ branch to give them full insight into whether anything that could potentially break the app has been pushed.

When they’re ready to release, they move code from ‘develop’ to ‘staging,’ where they’ll run regression testing. Previously, they used to have a two-day manual regression testing period, which they’ve now automated with the help of a third-party cloud-based provider for physical devices. Currently, their regression tests take about an hour to run.

After a build has passed the regression test stage, they conduct penetration tests. At this stage, they produce different builds of their app with certain layers of security removed, just to try to find any underlying potential weaknesses.

Once they feel they’re in a good place, they push the app to beta for a week with a closed set of customers. Throughout the week, they’ll monitor performance logs and crash logs to see how the app is performing and also solicit feedback. If everything goes well after that one-week period, then the app is pushed to production.

To learn more about pre-release strategy for fintech apps, read our article on 3 things to do as part of your first-time release strategy for fintech apps.

3. Employ mobile-centric CI/CD tools

CI/CD tools facilitate test automation, which helps teams find bugs faster and save time. However, the wrong CI/CD tools or processes could end up costing you more time than necessary. That’s why mobile teams need to adopt mobile-centric CI/CD tools that are tailored for mobile development.

Currently, the Bankline team uses Bitrise as their CI/CD tool. Before that, they made use of an on-premise hosted infrastructure consisting of Jenkins installed on a haul of Mac Minis. With this on-premise setup, they faced a lot of challenges such as:

  • Software maintenance overhead, from deploying software updates to the Mac Minis to keeping them all essentially configured in the same way.
  • Inadequate scalability. They couldn’t easily scale up, so in peak volume periods where CI was being used heavily, they would have to build queues.
  • Fickle security. If there was a power outage, those machines needed to reboot and come back up, but they couldn’t do that without turning layers of security off. That put them between a rock and a hard place.
  • Non-remote-friendly setup. The bank used a sealed network that you could only get to through actually being in the office, so those machines could not be accessed remotely. As COVID came along, it became evident that their existing on-premise arrangement would not work if they were to work remotely.
The Bankline team has since moved their CI/CD needs to Bitrise, and those challenges have become a thing of the past. In Adam’s words:

“Bitrise has mobile-centric offerings, tailored to mobile, and therefore tailored to solving the problems that we’re all facing when it comes to writing apps. At the end of the day, who wants to really kind of reinvent the wheel? Now we’re doing a lot more with CI. We’re able to access our setup remotely and fan out CI jobs that take considerable time (such as UI tests) to save time. We also have consistent, reproducible machine states, which are great for diagnosing problems. All these help us to identify bugs faster.”

The future of fintech demands innovation

The fintech sphere will continue to evolve, and institutions that fail to get in line will be left behind.

We asked Adam what he predicts for the future of finance apps and mobile in general. He’s expecting improved AI-powered, human-like, conversational-style interaction through chats and voice to become widespread and probably the primary way people interact with many apps, including financial ones.

He also mentioned that fintech apps that are more personalized and allow users to download only the items or capabilities they require will become the norm. Different people could want different things from a fintech app.

The first step you need to take to stay on par with innovation in the mobile world is to move from a self-hosted CI/CD like Jenkins to a cloud-hosted, mobile-centric CI/CD platform like Bitrise, so your team can enjoy all the benefits that the NatWest Bankline team enjoys too.

Get Started for free

Start building now, choose a plan later.

Sign Up

Get started for free

Start building now, choose a plan later.