Moving to Modern Software Development and Continuous Integration for Banks: Insights from Romano Roth (Zühlke)
A lot of banks are moving to modern software development despite the traditional industry hurdles like compliance, regulations, and legacy architecture. The shared goal: becoming more adaptable to meet customers’ changing demands.
We sat down with Romano Roth, Chief of DevOps at Zühlke, who shared his insights on how major banks are moving to modern software development processes and getting features to market faster. He covers the debate between moving to the cloud vs developing on-premises, continuous integration, and how teams can move away from legacy architecture.
What Prompts Banks to Start Modernising Software Development?
Three main things drive change:
- Faster time to market
- More value for money
- Customer satisfaction
It often starts by noticing inefficiencies. Management and teams realise they’re paying a lot and waiting a long time for simple changes. The legacy processes, mindsets, infrastructure, tools, organisation and regulations start to stand in the way and make things move slower than teams would like.
This makes the development of products and services quite expensive, and teams can end up investing a lot of time and money to make even simple things happen.
Modernising Development Processes
The solution is usually modernising the whole development process, which can involve migrating development to the cloud or adopting a hybrid approach with on-premises deployments.
Developing in the Cloud
Teams can move the whole development approach out of the back so that they’re developing in the cloud with modern tools and modern approaches. This means they don’t need to worry about the bank’s internal regulations.
This requires some—potentially substantial—investment, though. There are other options but if teams invest their development processes can run about 25% faster.
There’s often a massive amount of resistance to moving to the cloud, though, especially from the people that have built, operated and maintained the internal legacy infrastructure and applications. There’s also resistance from the security side because it seems easier to implement security restrictions on-premises than in the cloud. Lastly, teams need to remove confidential data and use synthetic test data (which many would argue they already should have done in the first place.)
A Hybrid Approach: Developing Outside and Deploying On-Premises
One solution, in the case of confidential data, is to develop the software outside and bring the source code or compiled code into the bank—and deploy it to the on-premises infrastructure. So it’s running on-premises (and meeting the security requirements and regulations) with development happening outside.
Getting Products to Market Faster
Efficiency is one of the main things teams notice when they start modernising their processes. Companies will simply get more value for money.
What also happens is a faster time to market, which is usually the business driver. If development was too slow, costly, and the developer experience wasn’t working well, then changing that and getting products to market faster is always a good thing.
This is where teams start to use the practice of continuous deployment. This means that every code change that passes automated testing goes into the production environment with the feature flag off. Teams can then deploy small changes with low risk and release on demand.
To make this possible, teams often start using tools like Flagsmith and feature flags. They can then continuously deploy and easily enable or turn off features, the developer experience improves exponentially and things start to get released much faster.
When teams can continuously deploy, they will inevitably adopt other modern software development practices and engineering practices as well. This means things like introducing test-driven development, separating deployment, canary releases, A/B-testing, dark releases, etc.
This is what it starts to look like:
Looking Ahead: The Future Development for Processes in Banks
The journey to modern software development is a vital process for banks looking to compete in today's dynamic market where adapting modern techniques lets teams higher efficiency, value, and customer satisfaction. When they can overcome the resistance tied to legacy systems and regulations, banks can leverage the advantages of continuous deployment and use feature flags to transform their development processes.
This transition is not just about cutting costs or speeding up development; it's about creating a more agile, responsive, and innovative banking landscape that meets the ever-evolving needs of the customers. The pathways to modernization may vary, but the goal remains the same: a future where banks are more adaptable, efficient, and tuned in to the market's demands.
Read More About Modern Development Processes
- Rob Moffat (FINOS) on open source in banking
- Back to the Future of Software Development
- Decoupling deployment from release with feature flags