Re-architecting a two-star banking app to four-plus
A bank's application struggled at 2 stars on app stores decided to rebuild it from scratch due to its performance issues, however we showed how the underlying core systems are unable to handle the load as designed and we re-architected around the limitations to launch an app with now 4+ stars rating by their customers.
What the business got
Challenge
A regional bank suffered from a low reliability, low performance mobile application being <2 stars on app stores, eating into market share by a modern audience requiring better services.
Strategy
To build a new, high quality application, they started an organizational digital transformation and as part of it, built 3 new squads to deliver on the daily banking needs at first, then to extend into loan origination on the new architecture.
Our delivery
Uniquely, we joined after the transformation was already under way for some time, but the teams struggled to deliver a stable application into production.
We quickly:
- determined based on scripted, repeatable performance tests which components are the bottleneck and worked out mitigations (card transactions listing and core operations came back as weakest links), such as caching strategies and clever modifications on UX to keep the user informed, not annoyed,
- and we upgraded their DevOps capability while augmented all 3 teams on mobile application and backend delivery, shaving off 3 months until launch.
Outcome
Our largest impact was the velocity stabilization of the teams without increasing work hours, headcount and over time to achieve the 3 months faster delivery to market.
Additionally the organization of a staggered roll-out in a close knit country where the launch will be in the news in hours turned out to be the biggest leverage in achieving a 4+ star rating of the application and old, churned customers reactivated in the coming months.
Client testimonial
"Sandor and team worked across a language barrier and still pushed through performance and quality improvements at several levels of the organisation"
— transformation director.
The scope, and the squads that delivered it
Scope
Build · high effort
Change the product · least effort
Re-architect · moderate effort
Spinners · UX impr.
Caching strategy · −3 months
3 squads
Product owner, one per squad
3 scrum master
6 iOS and Android
8 backend engineers
3 senior engineers
Whose people
ours
the client's
The container architecture
A unique approach among our delivery types: services decoupled and each team owns their slice even from the monolithic mobile applications.
While the common platform problems were challenging to manage at first, the teams greatly increased in their ownership and initiatives to get the application over the finish line, that paid off as the launch quickly spread in the country.
Mobile apps had to be on feature parity as sponsors and stakeholders used iPhone while most of the audience used Android. Each team had 1-1 engineer assigned for each platform, working both as a mobile dev team (e.g. iOS team, chapter-like) but their incentives, singular backlog coming from the product teams they were part of.
Service discovery was necessary to account for quick version changes of a dozens of underlying newly written services as well as other dozens of integrations necessary throughout the existing organization and partners to deliver the comprehensive user experience.
Core bank was wired together on an IBM process manager, most critical flows edited in a BPMN diagram, driving the core functions of the banks. This was outgrown by the audience's scale and was a serious root cause of low performance. As a separate upgrade project was going on, we introduced not previously used caching mechanisms and changes in the product requirements so the performance hit wasn't experienced by the end users.
Tracing visualization and cybersecurity was cornerstone from day one, applications were protected for bank secrets. Penetration tests later identified no moderate to higher issues, and we addressed even low ones promptly.