Analysts of the Intervale company, together with VTB Bank, conducted market research and formed the functional architecture of the solution.
Flexible development methodologies
As an approach to implementation, an iterative Feature Driven Development was adopted, within which we determined the stage of implementation, where each stage provided the user of the mobile application with new self-sufficient functions. A detailed study of each function, as well as their decomposition into realizable parts (features), allowed us to organize the development process into several threads. At the early stages of the project development, when the requirements for the product were identified, but not finalized, this approach allowed the requested functions to be successfully put into operation on time.
To manage requirements, we use the licensed Sparx Enterprise Archtitect product - a recognized leader among CASE tools. The possibilities of rapid modeling and requirements management, as well as automation of processes, made it possible to describe the product in the form of diagrams in a short time and make the necessary changes to the terms of reference. The adopted methodology of requirements formation was highly appreciated by fellow analysts of VTB Bank.
The use of microservice architecture with services containerization made it possible to update the system faster and spend less effort on technical support of services.
In addition to standard payment functions, in which we have extensive experience, the particularity of this project is an intelligent chatbot.
The main requirement of the bank was to implement a self-written chatbot that could be constantly and quickly trained and at the same time go into operations as quickly as possible.
We accept challenges and give solutions
A classic challenge during development was the lack of sufficient data to train an AI model. To achieve this goal, the model training algorithm was significantly optimized, as well as the approach to database formation in such a way that insufficient data does not affect the quality of chatbot responses. In cases where user requests cannot or should not be resolved automatically, the possibility of switching to communicate with the operator has been provided. In addition, in order to solve recurring user requests that require clarifications and additional data input, a mechanism for conducting users according to the provided scenarios has been implemented.