This article explores how Credem, one of the most prominent banks in Italy with 100 years of active history, started a journey of technological (and mindset) transformation in a manner more typical of a startup.
Credem has released a new mobile app, based on the cloud-native Temenos Infinity, to accelerate its digital banking strategy. This solution enables a short time-to-market for new digital banking experiences, starting with a brand new mobile app for retail and SMB customers. The new app also allows Credem to significantly improve customer experience and to create an omnichannel experience at the highest level.
The journey towards innovative IT in the banking sector involves four steps:
1) use of low code platforms for software development
2) use of public Cloud technologies for backend management
3) use of pipelines for software lifecycle management (development, code analysis, automated testing, deployment)
4) team management with Agile Scrum methodology
Let’s take a look at how innovation and cutting-edge technologies can be applied even in ‘rigid’ environments such as finance to activate successful projects with international partners, and rapidly develop a mobile banking experience that rivals the very best in Italy.
Low-code Platforms are game-changers
The software industry is facing a massive transformation when it comes to providing development environments for the creation of applications and software. However, this change is not about a new technology, programming language, or development stack. Quite the opposite; the transformation in process involves the development of software applications with little to no code needed. The concept is given one of two names, depending on the quantity of raw code a user needs to implement or adapt in order to achieve the desired result: known as the ‘no-code’ or ‘low-code’ approach, it’s a game-changer on a large scale.
A low-code approach is a software development strategy that requires little to no coding in order to build applications and related tasks. This approach uses different visual interfaces and tools that allow different types of applications, such as mobile and business apps, to be built in a declarative way. Behind the scenes, these apps usually generate hundreds or thousands of lines of code, which are able to be accessed and modified in a low-code approach.
The low-code method of building software has quickly become a fast, easy, and powerful alternative to traditional approaches, allowing users with little to no knowledge of code development to create customized software of differing degrees of complexity to meet the various demands of modern business. This approach allows for lines of code to be written and updated adaptively, and for the incremental integration of pre-existing libraries or packages. It is also possible to transform the original code into a different final format, such as native code.
The low-code strategy opens up new possibilities and solutions in the banking sector and fintech in general. Some of the main advantages that come into play in this scenario are:
– Significant aid in development and deployment
Using high-level abstractions instead of hand-written code segments, low-code application platforms (LCAP) support both rapid application development and fast deployment. LCAPs have the potential to facilitate super-fast implementation of new features, upgrades, and components, and to speed up bug-fixing, making the development of software faster than ever while maintaining professional-grade results.
– Less investment and shorter time-to-market
It is far less expensive to adopt a low-code development platform than to use a traditional development environment. The latter demands the presence of a team of professional developers – an expensive proposition that is only getting more so as businesses adopt digitalization. Hiring the right talent, with both business route and development skills understanding is difficult, and likewise expensive, as is the need to maintain high-rated skills within the organization.
However, in today’s fintech world, time is one of the most valuable resources. Software created using a traditional approach takes far longer to be developed, tested, and finally deployed in comparison with a no-code or low-code approach that helps banks to reach the market sooner.
A high-level abstraction provided by visual interfaces allows less-skilled developers, or even a non-developer to maintain, update, and test the application.
– Professional results
The use of a low-code strategy not only speeds up the development and deployment of banking software, but using an API backplane and featuring automatic code production behind the scenes allows the generation of professional-grade and responsive front-end user interfaces and experiences, packed with modern functionalities.
Public Cloud technologies for back-end management
When we talk about the Cloud we mean a set of servers on which it is possible to save data, accessible anywhere and from any device that has an Internet connection. The Cloud represents a revolution in the world of the Internet, both for individuals and for companies, enabling access through the network to programs and services that would otherwise demand the use of huge resources to function. The benefits of the Cloud for businesses are numerous; the Cloud service provider, known as the “hosting service provider”, manages everything related to hardware and software, freeing companies that access the provided service and its data via the internet to focus on its own business. Technologies or
Abstraction processes such as virtualization are used to separate resources from physical hardware and make them available in the Cloud; automation software and management tools allocate these resources and provision them for users to access at any time.
The back-end layer which communicates with the front-end layer through APIs is managed directly by Temenos technology and is deployed on AWS (Amazon Web Services – the most broadly adopted, leading Cloud computing platform). This achieves higher scale efficiency, increased security and resilience, and delivers a frictionless digital experience. Credem is also able to make ‘hot’ releases on this component, taking advantage of the high reliability native to AWS and its ability to scale in the presence of increased loads.
In a scenario like this, in which the overall setup obviously requires several stages to enable secure communication between Credem’s data center and Temenos’ ASW element, necessitating exposure of the evolutionary environments on the internet, extra security measures are required for environments that are not normally exposed. In a business that is very sensitive to security and privacy issues, such as the banking sector, these strategies and activities are more delicate and require specific attention, maintaining a strong focus on both overall scalability and increased security in the Cloud.
At an administrative level, the platform provides a dedicated portal for bank staff for direct management and to support account holders in their banking activities. In addition, it accumulates detailed account holder records to be used exclusively by bankers in a convenient web-based interface, with data mirroring that which the account holder would see in their own mobile or online interface.
Using pipelines for software lifecycle management
Getting many different systems to talk to each other is a non-trivial task, and the setup and synchronization phase is both important and delicate. This task was performed using high-quality technologies and tools, starting with a clear and detailed strategic plan.
Credem implemented a proprietary solution from Temenos in order to manage a software release pipeline based on Jankins. This open-source automation server aims to help in automating the elements of software development related to building, testing, and deploying, in order to promote both continuous integration and continuous delivery. Written in Java, Jankins runs in servlet containers such as Apache Tomcat.
During the setup phase, all the configurations necessary to integrate the Credem repository (Microsoft Azure) were carried out. Then, the elements that make up the low-code application platform (the application itself, the business management console, both database components, and application software) were configured on the pipeline.
Two very important additional tools were SonarQube and AWS’ Device Farm component. The first is an open-source platform useful for progressive code inspection to ensure quality and to perform automatic reviews with static analysis to detect bugs, code smells, and security vulnerabilities.
The presence of a tool of this kind is of utmost importance in a low-code strategy in order to provide stable, secure code that is less prone to vulnerabilities.
Finally, AWS’ Device Farm was used as an application-testing service, further helping to improve the quality of the application by testing its front-end layer across an extensive range of desktop browsers and real mobile devices. The test was run concurrently on multiple desktop browsers and devices in order to speed up the execution of the test suite, with videos and logs generated in order to identify issues quickly.
Team management with Agile Scrum methodology
In the modern world of software development, integrating an Agile approach is of the utmost importance. Let’s take a look at the key points of the Agile approach to software development. The term “Agile” refers to a software development methodology. The use of the term was introduced by the Agile Manifesto published in 2001. Most Agile methods aim to reduce the risk of failure by developing software in limited time windows called iterations that typically last a few weeks.
Each iteration is a small project in its own right and must contain all that is needed to deliver a small increase in software functionality: planning, requirements analysis, design, implementation, testing, and documentation. Basically, the Agile methodology uses short development cycles, called ‘sprints’, to focus on continuous improvement in the development of a product or service.
In terms of benefits for the company, the digital workplace and Agile provide:
• greater flexibility
• higher productivity
• greater transparency
• superior-quality products
• decrease in the risk of missed goals
• increased involvement and satisfaction of interested parties
“Scrum” is a term that denotes an agile development methodology used in the development of software based on iterative and incremental processes. Scrum is an adaptable, fast, flexible, and effective Agile framework designed to deliver value to the customer throughout the development of the project. The primary objective of Scrum is to satisfy the customer’s needs through an environment of transparency in communication, collective responsibility, and continuous progress. Development starts from a general idea of what needs to be built, elaborating a list of characteristics the owner of the product wants to obtain in order of priority (product backlog). Scrum is a flexible methodology that rewards the application of the 12 Agile principles in a context agreed by all team members and executed in short, time-limited sprint blocks, usually between 2 and 4 weeks in length, a time period that also allows for feedback and reflection.
Credem has made tremendous steps forward in recent years and, thanks to this project, has also started a major initiative to scale towards the widespread use of Scrum methodology in more and more of its teams and project tables.
Establishing an innovative and agile environment resembling that of a startup within a prestigious industry like finance, as well as improving the lives of customers by finding innovative and secure digital solutions is a job well done. The use of technology in combination with a cutting-edge mentality based on technological innovation facilitated the rapid and professional creation of a multi-channel banking experience, its modern and advanced customer interface aiming to provide a highly-engaging digital experience for clients.
Discover more about innovation at Credem in this video