The fact that rapidly evolving technologies are changing the very nature and model of banking is now du jour. New competition, new technologies and changing customer expectations are driving the digital transformation for large established players in banking.
To meet these evolving market and consumer needs, large banks are investing in technologies and software to simplify their business and operating models. Offering a truly digital consumer experience means becoming digital on the backend as well. It means having a bimodal architecture that helps run the operations smoothly on the core backend and build a responsive open digital platform through which customer can seamlessly use the banking services across channels.
The software development along with product management needs to keep pace with these dynamic technological forces, and consumer needs and preferences. Let’s look at some of the key areas impacting this.
There is a 50 percent chance that machines will outperform humans in all tasks within 45 years, according to a survey of more than 350 artificial intelligence (AI) researchers.
Today’s AI is impacting all stages of the SDLC right from conceptualization to support. There are two main impacts of AI on the software development process:
a) It has the potential to enable developers build cognitive software, using AI technologies such as advanced machine learning (ML), deep learning, natural language processing, and business rules. Leveraging these technologies developers will be able to program algorithms or configure them to self-learn, instead of relying on coded rules to program applications to be smart.
Automation is also making it easier to test software. Today, DevOps world the teams spend significant time on mitigating issues than preventing. AI can bridge that gap by enabling developers to test for functional correctness; ability to perform under expected load; and resilience to foreseeable failures; thus, making the testing process smarter and faster, and improving time to market.
b) Leveraging AI, developers can now create better functionality that is more responsive to user needs. It can feed into software functionality to provide highly customized and personalized services for customers. A simple example of AI doing this is the predictive text on smartphones.
The banking industry has been leveraging AI across its customer lifecycle management process for a while now. AI is being implemented across areas such as customer analytics, customer behavior, customer advisory and fraud management. For example, a leading Indian private bank recently deployed an AI bot (intelligent robotic assistant) and a Facebook messenger bot. Within six months of its launch the bot has completed over 1.2 million customer conversations addressing about 2.7 million queries.
In 2016, when JPMorgan Chase launched a new website, Gavin Michael, Head of Digital for Consumer and Community Banking, credited much of the success and speed (it took 18 months) of the project to the bank's recent migration to agile development.
Legacy systems, while they’ve proven to be robust over the last 30 plus years, have been an obstacle in introducing newer technologies at large banks. With these systems now slowly moving away, banks are better placed to use modern methodologies such as agile development to drive their software development process. Additionally, newer applications in the areas of mobile banking, online banking and payments are also driving the move towards agile. Also, the fact that banks are now creating most of their customer-facing technology in-house, means they need to adapt quickly to changes in customer preferences. Agile methodologies are helping banks release a minimum viable product fast, learn quickly from customer response, and react quickly to come out with new releases and versions of the software.
However, agile methodologies being used by start-ups, app developers, or digital design agencies, do not necessarily work for large banks that have complex needs of scaling to a global footprint, diverse teams and customer base, compliance requirements across geographies, etc. Value creation at all stages now dictate what practices to adopt to amplify the impact.
So, for instance, to make agile at scale work, banks need to modify certain roles to ensure there is streamlined communication and coordination amongst teams. For example, in a recent report Deloitte takes about a leading credit card issuer, who, when implementing scaled agile within its development teams, modified some traditional agile roles (e.g., scrum master, PO) and established a few new ones like Chief Product Owner (CPO), Workstream Lead (WL), and Agile Delivery Manager(ADM) to improve efficiencies in the program.
Another example is that of the Commonwealth Bank, one of Australia's leading integrated financial services providers. The bank has set up a private cloud that runs internal applications as a service, that use more than 300 Oracle databases; all of which have been consolidated into on-demand Oracle instances that application teams can quickly provision within a browser interface. This has led to reduced lead time for development teams, provisioning a production quality environment from three months to two minutes.
A leaf off the agile methodologies, is the continuous improvement process in software development and testing. As customers and technologies grow and change, many banks are leveraging the Six Sigma approach to continuous improvement within their software development methods to forge ahead on the digital journey.
As part of their digital transformation, banks are dealing with huge amounts of data. And to truly get the right insights from this data, and fast, it is important to have skills and processes that enable their development teams to cut to the chase and attack the real issues. This is where the synergies between the Six Sigma methods and the software development process come in. With its focus on improve the quality of the output of a process by identifying and removing the causes of defects and minimizing variability in manufacturing and business processes, Six Sigma brings in quality and speed to banks’ response to the dynamic digital world.
Continuous improvement principles are also used in software testing. Accordingly, developers begin the software testing process early in the application life cycle, not just in the traditional validation testing phase after the coding phase has been completed. Essentially, testing should be integrated into application development, thus improving time to market for new applications and subsequent enhancements.
The fast pace of technology changes and evolving customer needs in the external world mean banks need to improve the time to market for either a new software and/or improvement to it. By adopting new-age technologies and methodologies such automation, agile and continuous improvement, software development teams within banks and their technology partner organizations, banks meet the rapidly changing and evolving customer needs.