К основному содержимому
TechLead Conf · 30 июня 2021

Как меняли разработку мобильного банка под бизнес

Взгляд CTO, который отвечает не только за решение, но и за его внедрение

/ Разработка мобильного банка под бизнес · TechLead Conf 2021

Содержание слайдов

  1. 1. Как меняли разработку мобильного банка под бизнес

    Взгляд CTO, который отвечает не только за решение, но и за его внедрение

  2. 2. От «как было» до «когда пора менять у себя»

    План выступления

    Как было до 2020 года

    Что поменялось и как мы это учли

    Как внедряли: команды, архитектура, качество

    Триггеры, итоги и что почитать

  3. 3. 01. Как было до 2020 года

    Конец 2019 года

  4. 4. Одна команда, квартальные релизы, монолит

    Команда, процессы и архитектура на конец 2019 года

    Одна общая IT-команда с общей приоритизацией

    Крупные релизы примерно раз в квартал

    Монолитное приложение по горизонтальным слоям

    И Mother API — монолит на Scala

  5. 5. Это работало — и вот почему

    Дизайн соответствовал тому бизнесу, который был

    Было несколько основных продуктов

    Команда была небольшой — порядка 50 человек

    Фокус был на расширении функциональности

    Крупные непериодические релизы устраивали бизнес

  6. 6. 02. Что поменялось и как мы это учли

    Бизнес вырос, структура IT изменилась

  7. 7. Банк-монолайнер вырос в группу компаний

    Развитие группы Tinkoff и структуры IT

    2007–2020: от Tinkoff Black до SuperApp

    Бизнес-вертикалей стало шесть

    Над инфраструктурой выросли платформы

    У каждой вертикали — свой темп

  8. 8. По команде на заказчика плюс платформа

    Платформа мобильного банка

    Шесть заказчиков — шесть feature-команд

    Release и Platform — общая поставка и модульность

    Design & Improvements — общий UI

    Performance и Reliability — общие качества

  9. 9. Релизы привязаны к датам, а не к функциональности

    Релизный поезд

    Команды должны работать независимо

    Релиз уходит по дате

    Не успел — едешь в следующем

    Состав релиза перестал быть обещанием

  10. 10. Меняются команды — приходится менять систему

    Закон Конвея и brownfield, а не greenfield

    Организации проектируют системы по своим коммуникациям

    Желаемая структура команд поменялась

    Значит, систему надо перепроектировать

    Бизнес не готов к паузам — редизайним эволюционно

  11. 11. 03. Как мы внедряли изменения

    Команды, архитектура, качество, Mobile DevOps

  12. 12. Автономность держится на общих правилах

    Унификация и автономность

    Процессные правила: delivery management и релизы

    Технические: модуль per команда и контроль в CI/CD

    Автономность даёт модульность приложения

    Из этого выросли три направления работ

  13. 13. Каждая feature-команда владеет своими модулями

    Разделение на модули

    Модули фичевых команд — по доменам

    Общие модули — ответственность платформенных

    Внутри модуля три слоя

    Моноприложение собирается под конкретную команду

  14. 14. От чек-листов к тест-кейсам и пирамиде тестов

    Обеспечение качества

    Тестовая модель: чек-листы → тест-кейсы

    Описали тест-долг по существующей функциональности

    Пирамида: unit, интеграционные, UI, end-to-end

    Плюс метрики качества, crowdtesting и контрактное тестирование

  15. 15. Возросшая нагрузка потребовала своих улучшений

    Mobile DevOps

    Больше билдов и автотестов — доработали инфру CI/CD

    Появились требования к коду, стилю и архитектуре

    Автоматизировали проверки: Danger для iOS, Sonar для Android

    Добавились клиентский мониторинг и feature toggles

  16. 16. Изменения в командах ведёт delivery manager

    Роль и алгоритм работы

    Data-driven менеджер изменений

    Отвечает за E2E-процесс поставки ценности

    Сокращает TTM и увеличивает прогнозируемость

    Год: от плана изменений до консультирующего режима

  17. 17. 04. Триггеры и итоги

    Когда пора менять команды у себя

  18. 18. Три триггера потребности в эволюции команд

    И симптомы, по которым их видно

    Софт стал слишком большим для одной команды

    Темпы поставки устойчиво замедлились

    Бизнес-сервисы опираются на разрозненные нижележащие

    Каждый триггер виден по своим симптомам

  19. 19. В нашем случае платформа отдаётся как сервис

    Типы команд и взаимодействий

    Stream-aligned — бизнесовые feature-команды

    Platform — платформенные команды мобильного банка

    Взаимодействие — X-as-a-Service

    Топология зависит от размера и зрелости

  20. 20. Всё поменялось сразу и связанно

    Что у нас получилось в итоге

    Требования бизнеса поменялись

    Триггеры потребности в эволюции команд сработали

    Пришлось редизайнить структуру команд

    И вместе с ней процессы, архитектуру, качество и CI/CD

    Все эти изменения взаимосвязаны и идут параллельно

    Именно это добавляет сложности и интереса происходящему

  21. 21. Бэкенд, фронтенд и мобайл идут одной дорогой

    Мысли о схожей эволюции подходов

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

    Монолитный фронтенд — на микрофронтенды

    Монолитное мобильное приложение — на модули

    Меняется словарь, а не сам ход

  22. 22. Что изучить

    Ссылки с финального слайда доклада

    Книга «Team Topologies» и саммари в трёх частях

    Обзор «SRE-практики в разработке мобильных приложений»

    Статьи про платформенные команды и удобный API

    Прошлые доклады: Teamlead Conf 2018 и ArchDays 2019

  23. 23. Спасибо!

    polomodov.tech

    Все слайды и ссылки — в Telegram-канале

    Александр Поломодов, Technical Director & Fellow, Т-Технологии

    @book_cube