В качестве технического стека выбрали фреймворк Flutter — инновационную технологию кроссплатформенной разработки от Google.
Home Credit Bank использует Flutter в разработке других продуктов, поэтому интегрировать новое решение в системы банка было бы проще. Flutter позволяет вести разработку одного приложения сразу под две мобильные платформы iOS и Android, поэтому удалось существенно выиграть в скорости, что было важно для каждого из этапов проекта.
Не обошлось и без сложностей. В мировой практике мало банковских приложений, разработанных на Flutter, хотя это восходящий тренд: с ним работают Alibaba, Ebay, Google Ads и другие. Нужны были лучшие специалисты по платформе, которых в стране почти нет. Но у нас эта практика активно развивается, поэтому удалось привлечь лучших разработчиков.
Микросервисная архитектура
Выбирая архитектуру приложения, держали в фокусе амбициозную цель Home Credit Bank войти в топ-3 цифровых банков для предпринимателей Казахстана — для этого банк должен быть удобным, доступным 24/7 и, главное, легко масштабироваться в сервисах.
Поэтому была выбрана микросервисная архитектура. В отличие от монолита, она даёт гибкость и скорость, позволяя разрабатывать функциональность независимыми командами и сокращать time-to-market. А ещё приложение с микросервисной архитектурой позволяет гибко масштабировать сервисы, благодаря чему способно выдерживать растущий поток пользователей и обеспечивать высокую скорость отклика. Было важно заложить правильный фундамент, чтобы дать возможность банку идти в эту сторону и помочь распространить внутри лучшие практики.
На старте было решено, что вся разработка будет инкрементальная и каждые две недели нужно выдавать конкретные результаты. Поэтому сразу приняли решение идти по фреймворку Scrum.
Работали спринтами с прозрачными целями, предварительно совместно договариваясь о них. Это позволяло видеть и фиксировать реальный прогресс. В рамках спринтов проводили вторичные исследования и демо на команду банка, а ещё тестировали функциональность.
Разделили команды по четырём стримам, исходя из функциональности, которую они разрабатывали: core banking, платежи, ВЭД, личный кабинет продаж.
Это облегчало коммуникацию и разгружало регулярные встречи. В каждом стриме был менеджер проекта, дизайнер, разработчик и аналитик, которые отвечали за конкретный сценарий.
Договорились с командой Home Credit Bank о зонах ответственности, рабочих процессах, точках принятия решений и эскалации, а в каждом стриме наладили базовую гигиену для производственного цикла.
Было важно прозрачно видеть, на каком этапе находится работа стримов на протяжении всего проекта. Это позволяло в живом режиме эффективно управлять изменениями.