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

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

Платформа, релизный поезд и закон Конвея — на масштабе крупного финтеха

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

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

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

    Платформа, релизный поезд и закон Конвея — на масштабе крупного финтеха

  2. 2. О чём поговорим

    Шесть шагов от «было» до «как менять у себя»

    Как было до 2020

    Что изменилось в business / IT

    Платформа, поезд, Conway

    Триггеры изменений у себя

  3. 3. 01. Конец 2019

    Как был устроен мобильный банк

  4. 4. Команда мобильного банка

    Заказчики и разработка — две большие группы

    Заказчики: продукты, маркетинг, support

    Разработка: iOS, Android, backend

    Один дорожная карта на всех

    Architecture / performance — ничья зона

  5. 5. Релизный процесс 5.x

    Большие релизы раз в несколько недель

    Фичи едут пачкой

    Freeze → regression → beta → rollout

    Откат = новый релиз

    Скорость = slowest feature

  6. 6. Архитектура мобильного приложения

    Большая монолитная кодовая база

    Большой проект на платформу

    Общий dependency graph

    Build обратная связь часами

    Toggles без общего контракта

  7. 7. 02. Что изменилось

    Бизнес и IT в 2020–2021

  8. 8. Развитие группы и новые продукты

    Мобильный банк перестал быть «приложением банка»

    BNPL, investments, lifestyle

    Каждый продукт хочет дорожная карта

    App = главный канал поставки

    Десятки команд в одном app

  9. 9. Новая структура IT и мобильные платформы 2021

    Stream-aligned команды и платформенный слой

    Десятки feature teams

    iOS/Android platform teams

    Modularity, SwiftPM/Gradle, DI

    Mobile DevOps = mandatory layer

  10. 10. 03. Решение

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

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

    Заказчики — фичевые команды

    Platform: modularity, DI, build infra

    Design: UI-kit и navigation

    Performance: metrics, profiling, budgets

    Reliability: crashes, ANR, monitoring

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

    Регулярные релизы по расписанию, а не «когда соберём»

    Поезд уходит по расписанию

    Freeze / stabilization timebox

    Toggles ship unfinished off

    Rollout % + kill switch

  13. 13. Закон Конвея в мобильной разработке

    Структура приложения повторяет структуру команд

    Команды по модулям

    Platform team → platform layer

    Feature team owns module

    Module contracts = team contracts

  14. 14. 04. Унификация × Автономность

    Баланс правил платформы и свободы команд

  15. 15. Что унифицирует платформа

    Общие правила для всех фичевых команд

    Modularity / dependency rules

    Release train process

    Shared feature toggles

    DevOps + quality metrics

  16. 16. Что остаётся за фичевой командой

    Внутри своего модуля команда решает сама

    Internal architecture / patterns

    Feature order in train

    Product metrics / experiments

    Dependencies within platform rules

  17. 17. Разделение приложения на модули

    Фичевые модули + общий common-слой

    Feature modules by domains

    Common: UI, navigation, networking

    Platform: build, train, toggles

    Rule: feature → common → platform

  18. 18. 05. Триггеры изменений

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

  19. 19. Сигналы, что нужна платформа и поезд

    Если узнали 2+ пункта — пора начинать

    Релизы становятся реже

    Команды блокируют друг друга

    Architecture ad hoc

    Performance / reliability ownerless

  20. 20. Ссылки и материалы

    Org design, delivery, mobile release practice

    Conway's Law + Team Topologies

    Accelerate / DORA

    Continuous Delivery

    Release trains / feature flags

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

    polomodov.tech

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

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

    @book_cube