Миграция цифровой платформы для сбора средств на новый фреймворк

  1. Краткое описание

    Канадская компания создала международную цифровую платформу для сбора пожертвований, но столкнулась с проблемой её переноса с устаревшего фреймворка на новую версию. Инженеры Sibedge не только помогли с миграцией платформы, но также улучшили архитектурные решения, произвели полный рефакторинг кода и внесли в систему ряд критически важных для пользователей изменений.
  2. Задача

    Канадская компания разработала платформу, с помощью которой её клиенты могут создавать собственные площадки для сбора пожертвований. Например, клиника собирает деньги на аппараты ИВЛ. Ей нужна готовая веб-страница с уникальным URL, дизайном, описанием цели сбора средств, автоматизированной обработкой платежей и интеграцией популярных платёжных систем. Платформа генерирует такую страницу и клиника начинает собирать пожертвования. Платформа автоматически анализирует, сколько денег уже собрано, сколько ещё нужно собрать и сколько дней осталось до закрытия кампании. Создатели платформы получают небольшой процент с каждого пожертвования.

    Изначально платформа была написана на Angular 1.0. Но в 2021 году Google объявила, что сворачивает поддержку первой версии Angular, и возникла необходимость переноса системы на новый фреймворк. Кроме того, платформа нуждалась в доработке и расширении функциональности. В компании не был выстроен процесс разработки, что создавало дополнительные сложности для дальнейшего развития платформы. За помощью клиент обратился к Sibedge.
  3. Решение

    Рефакторинг

    Нашей главной задачей стала миграция платформы на фреймворк Angular 2.0, но предварительно мы осуществили полный рефакторинг кода и архитектуры системы. Сделали код легко читаемым, устранили ошибки, продумали архитектуру и убрали из системы ненужные компоненты, правильно назвали переменные. Если бы мы не сделали этого, работать с платформой в будущем было бы гораздо сложнее.

    Расширение команды

    Процесс миграции на Angular 2.0 начался в ноябре 2020 года и занял четыре месяца. Сначала над этой задачей работал один фронтенд-инженер Sibedge, который переносил на новый фреймворк компонент за компонентом. После успешного завершения этой задачи, клиент доверил нам разрабатывать и внедрять в платформу новые функции, чтобы удовлетворять постоянно растущие потребности пользователей. Чтобы справляться с новыми задачами, к команде в течение трёх недель присоединились ещё три бэкенд-разработчика, четыре фронтенд-разработчика и два UX/UI-дизайнера. Работая в рамках сервиса Team Extension, мы учитываем скорость формирования ИТ-команд и сроки масштабирования (scale up & down). Обычно выход нового специалиста на проект возможен в течение двух-четырёх недель.

    Поначалу функции аналитика на проекте выполнял СТО заказчика, у которого на это было не так много времени. Ценности в найме выделенного эксперта на эту роль заказчик не видел. Мы предложили на пару недель интегрировать в команду собственного аналитика. Если бы заказчик не увидел отдачи от его работы и решил отказаться от него, часы работы специалиста оплатила бы Sibedge. Но в итоге аналитика оставили в команде, так как клиент оценил пользу системной и бизнес-аналитики для развития платформы.

    Налаживание процесса разработки

    Нужно было выстроить процесс разработки таким образом, чтобы наладить эффективное взаимодействие внешней команды и внутренних разработчиков клиента. За административное управление инженерами отвечает руководитель проекта. Он же координирует процесс разработки. Мы интегрировали в разработку сервис Miro, который упростил коммуникацию между инженерами и заказчиком. Чтобы команда понимала, в каком направлении движется проект, мы проводили ежедневные встречи с разработчиками и разъясняли им текущие цели и задачи.

    Поскольку задач было много, и в один спринт их не решить, важно правильно расставлять приоритеты. Одни задачи нужно было решать в первую очередь, а какие-то сдвигать на второй план. Клиент в общих чертах описывал нам бизнес-требования, а мы разбивали крупные задачи на мелкие и переходили к планированию. Изучали каждую задачу со всех сторон: что будем делать, с помощью каких технологий, какие могут возникнуть подводные камни. Уточняли у клиента недостающие детали и требования, и только потом приступали к работе.

    Улучшение платформы

    Помимо переноса платформы с устаревшего фреймворка на новый, мы также добавили в систему несколько новых функций. Например, двухфакторную аутентификацию, так как этого требует законодательство некоторых стран, когда дело касается сервисов, работающих с денежными переводами. Также мы интегрировали в платформу новые платёжные решения.

    Благодаря большому количеству проектов инженеры Sibedge понимают особенности продуктов из разных отраслей и с готовностью делятся наработанным опытом и экспертизой с заказчиками. CTO клиента оценил, что разработчики Sibedge самостоятельно предлагают новые решения и придумывают способы улучшения архитектуры платформы. Например, раньше развёртывание платформы происходило через малоизвестный и не самый удобный инструмент Vagrant — он растягивал процесс сборки на несколько дней. Мы предложили реализовать процесс через Docker, который в несколько раз повышает скорость развёртывания и позволяет разделить бэкенд и фронтенд, вместо того, чтобы собирать всё вместе. Клиенту понравилась идея и в данный момент ведётся работа над этой задачей.
  4. Результат

    Сейчас с платформой взаимодействуют миллионы пользователей из Канады и Северной Америки. В ближайшем будущем она будет запущена на территории Австралии, Океании, Южной Америки и Европы. После того, как команда инженеров Sibedge пересмотрела архитектуру платформы и произвела рефакторинг кода, создателям будет значительно проще поддерживать и развивать свою систему.

    Мы также повысили скорость разработки системы, интегрировав в компанию клиента команду из бэкенд- и фронтенд-разработчиков, дизайнеров, аналитика, руководителя проекта и его ассистента. Заручившись поддержкой специалистов Sibedge, клиент решился на полноценный редизайн всей системы, с учётом пожеланий пользователей и требований UI и UX. В данный момент наша команда работает над этой задачей.

    Проект стал началом долгосрочного стратегического партнёрства между клиентом и компанией Sibedge. Мы начинали с переноса системы на новый фреймворк, но, постепенно завоевали доверие заказчика и приступили к работе над расширенной функциональностью платформы. Сегодня между двумя сторонами полное взаимопонимание. Мы прислушиваемся друг к другу, вместе находим решения и продолжаем улучшать систему.
Детали проекта
Миграция цифровой платформы для сбора средств на новый фреймворк
Индустрия:
Финансы и банкинг
Продолжительность:
11 месяцев
Команда:
  • Менеджер проекта (1)
  • Аналитик (1)
  • UX/UI Дизайнера (2)
  • Back-end разработчика (3)
  • Front-end разработчика (4)
Технологии:
  • PHP
  • Laravel
  • Angular