Do monólito ao sistema distribuído

O constante crescimento da concorrência entre os bancos torna necessário a adaptação a diferentes categorias de clientes. Portanto, é mais fácil acessar o site e solicitar um produto bancário on-line, enquanto outros costumam escolher novos produtos e serviços diretamente durante a comunicação ao vivo com um representante do banco. Em setembro de 2019 O Home Credit Bank decidiu lançar um novo processo para o Cliente, cujo principal objetivo era manter o contato "Cliente - Operador do Banco" e recusar a conexão física do operador ao escritório ou balcão do Banco no shopping.

A data de lançamento do projeto piloto foi marcada para o início de dezembro de 2019. Para sua implementação, o mais rapidamente possível, foi necessário desenvolver um sistema com funcionalidade para registrar um cartão de débito pessoal e não pessoal para clientes novos e existentes do Banco.

A caminho de uma nova plataforma


Eles começaram a olhar para a solução do tablet. A implementação de um novo processo em um tablet baseado na arquitetura do atual sistema de front-office do Banco para os Operadores trabalharem com o Cliente parecia irracional devido a uma pilha tecnológica desatualizada, como O front office atual é um aplicativo da web monolítico escrito há 8 anos no Silverlight. As tentativas de trabalhar com a frente atual no tablet não tiveram êxito devido à sobrecarga da parte da interface do usuário do aplicativo e à falta de layout adaptável. Além disso, a falta de suporte do Silverlight da Microsoft sugeria sutilmente que o ciclo de vida de nosso aplicativo atual estava chegando ao fim e que houve um momento de reformulação radical e transição para novas tecnologias. Chegamos à decisão de implementar a arquitetura de microsserviços. Por que foi necessário abandonar o monólito? Primeiramente,devido à escalabilidade da solução, melhor tolerância geral a falhas e atualizações independentes de componentes. Em segundo lugar, no Banco, a tendência de distribuir a funcionalidade entre equipes de produtos e a abordagem de microsserviço, neste caso, oferece maior flexibilidade e independência de equipes.Nas primeiras etapas, os seguintes domínios (microsserviços) foram alocados para o projeto piloto: usuário, cliente, cartão de débito e incidente. Para criar a parte traseira do aplicativo, eles usaram a plataforma .Net Core 2.2 (recentemente trocada para 3.0), emprestando elementos da lógica de negócios do legado do sistema. Decidiu-se construir a parte da frente usando reagir.

UI / UX


Paralelamente à definição de arquitetura, foram discutidas a interface do aplicativo e a lógica de negócios do processo. Foi necessário determinar como o Operador irá interagir com o Cliente, que pacote de documentos é necessário, quais informações o Operador precisa em cada etapa específica da venda. O objetivo era simplificar o processo de negócios atual, em vez de simplesmente copiar a funcionalidade para uma nova plataforma. Portanto, na nova decisão, o número de campos foi reduzido quando um aplicativo de cartão de débito foi aberto e o questionário para o Cliente foi excluído (coletando informações sobre como o Cliente descobriu o Home Credit Bank). Uma função para acesso rápido ao registro de produtos de débito prioritário foi adicionada à página principal com dados do cliente. E na fase de aprovação, os aplicativos exibiram informações detalhadas sobre as tarifas e condições do produto, o que também ajudou o Operador.

Por 8 anos em um ambiente produtivo, a página inicial da página inicial com dados do Cliente e a funcionalidade para conectar produtos e serviços ficaram sobrecarregados devido a inúmeros ícones e campos.



Eu queria adicionar "ar" à interface. Aqui, tive que priorizar, determinando que funcionalidade os Operadores precisavam antes de tudo para acessar a página principal, que pode ser exibida no painel lateral e que pode ser abandonada devido à inutilidade (sim, sim! Esses campos foram encontrados). Como resultado do frutífero trabalho da equipe com o designer, foram projetadas as primeiras miniaturas da página com dados do cliente e a página com as etapas de criação de um aplicativo para um cartão de débito.



Documentação


A base de conhecimento para o front-office atual “vive” no Word com co-edição no SharePoint. O novo projeto decidiu pilotar um novo processo de documentação no Confluence em conjunto com o Swagger para auto-documentação. Nosso caminho de transição, os prós e os contras da solução selecionada serão descritos em um artigo separado. Só posso dizer que o tópico de escolha de uma ferramenta de gerenciamento de requisitos ainda está aberto; estamos no estágio de procurar a solução ideal para manter a documentação atualizada com um investimento mínimo de recursos.

Vamos pegar a estrada!


Como resultado, nosso roteiro para iniciar o cobiçado piloto era assim.



O sistema interno de interação da equipe conseguiu cumprir o prazo do piloto. No início do projeto, a equipe teve que abandonar a cachoeira e pisar na trilha Agile. Foi um Agile adaptado por nossa equipe. Paralelamos: os desenvolvedores começaram na fase de acordo com a equipe sobre a implementação, que geralmente se reflete nos requisitos anteriores ao início do desenvolvimento e concordou com todos os participantes do processo. Perguntas abertas foram discutidas nas reuniões. As decisões foram tomadas por uma equipe em conjunto. A qualquer momento, cada membro da equipe podia falar sobre o status do projeto, todos se sentiam envolvidos no processo e aguardavam ansiosamente o piloto de acordo com os resultados do nosso trabalho.

Piloto


O piloto ocorreu em um dos maiores shopping centers de Moscou na véspera do Ano Novo. Para o projeto piloto, foram contratados novos especialistas em vendas que não conheciam produtos bancários e não haviam trabalhado anteriormente com nosso atual sistema de front-office. Os resultados do piloto mostraram que novos Usuários descobriram facilmente a sequência necessária de ações em nosso novo aplicativo, o que significava que esse esquema poderia ser lançado em outros locais, recrutando novos especialistas com requisitos mínimos.

No novo aplicativo, buscamos a atualização constante da funcionalidade do produto, com base nas necessidades de operadores e clientes. Então, na primeira semana de lançamento, 25 pequenas melhorias foram lançadas com base nos resultados do piloto. Por exemplo, no pacote de documentos ao concluir o contrato, foi adicionado um formulário impresso com tarifas de produtos, porque A maioria dos Clientes, tendo visualizado as tarifas no tablet do Operador, expressou o desejo de receber tarifas impressas “na mão”.

As atividades de vendas por meio da nova plataforma foram monitoradas on-line por meio de um relatório na Graphana e regozijadas a cada nova assinatura do contrato.



Erros


Há um problema no front office atual ao analisar erros do produto - nem sempre é possível restaurar a sequência de ações do Operador, especialmente nos casos em que há transições imprevisíveis entre as telas do aplicativo (identificadas ex post facto) que não estão incorporadas na lógica de negócios do processo. O apelo ao usuário é geralmente inconclusivo, porque devido ao grande fluxo do cliente, é impossível restaurar a sequência de ações executadas no aplicativo com um cliente específico em um determinado momento. O novo sistema também queria resolver esses problemas. Registro de ponta a ponta para todos os microsserviços na estrutura da Sessão do Cliente e do Operador, gravação adicional no log de mensagens de texto para cada ação do Operador (criou um novo Cliente, assinou um contrato,informações de sms conectadas) e uma captura de tela cheia ajudaram a restaurar rapidamente a imagem do processo de negócios, agilizando a análise de erros do produto ao visualizar logs no GrayLog.


O objetivo do piloto não era apenas implementar uma solução para tablets, mas também lançar as bases para nossa futura plataforma do sistema de front-office do Home Credit Bank. Agora continuamos a melhorar. Estamos trabalhando na adição de um novo módulo "Créditos" para trabalhar com os produtos de empréstimo do Banco. E também no processo de pesquisa do uso de novas tecnologias (graphql, cujo objetivo não é gerar dados extras de trás para a frente; camunda para configuração flexível do processo de negócios; Prometheus para coletar métricas de negócios para criar relatórios).

No futuro, vemos o avanço da solução para tablets, adicionando a funcionalidade de vendas de vários tipos de produtos bancários. Agora, a prioridade é criar o processo de emissão de um cartão de crédito bancário. Além disso, ampliando a área de aplicação do tablet para lojas de eletrônicos e escritórios de representação de fundos de pensão.

All Articles