Блог компании ВТБ

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

Привет, Хабр! Я Павел Наумов, лидер стрима «Мобильный банк» в ВТБ. Полтора года назад мы собрали команду, чтобы доработать банковские приложения ВТБ Онлайн для iOS и Android. Первоначально речь шла об их «перекраске», но в итоге пришлось переписать половину унаследованного кода и перейти на новую микросервисную архитектуру. Попутно мы сократили сроки релизов с 1,5 месяцев до 2 недель. С чем нам пришлось столкнуться, как мы решали проблемы и какие уроки из этого вынесли, мы с ребятами из команды рассказываем ниже.

Первые шаги: перерисовка главного экрана

Изначально задача не выглядела такой уж сложной: приложение морально устарело, нужно было визуально освежить ВТБ Онлайн и решить основные проблемы без серьёзных доработок на бэке. Но мы столкнулись с тем, что старый бэкенд не позволял гибко менять логику работы приложения и UI — всё упиралось в необходимость доработок бэка, на которые у нас не было ресурсов. Приходилось искать компромиссы. Кроме того, не было документации по многим сценариям, нужно было искать в приложении, как они выглядят и какая у них логика.
Как платформенная команда мы начали с разработки общей концепции и принципов нового дизайна. Мы понимали, что это будет масштабироваться на все продуктовые команды банка (которых уже больше 50), поэтому сразу упаковывали всё в дизайн-систему. После этого мы взялись за главный экран приложения и навигацию. Затем начали привлекать продуктовые команды. На примере главного экрана мы показали, как применять концепцию и принципы дизайна, чтобы команды могли сделать редизайн своих продуктов.
Обновление дизайна — это когда лучше один раз увидеть
С самых первых шагов мы начали подключать к задаче разработчиков. Это позволило нам обезопасить себя от ситуации, когда дизайн готов, а реализовать его некому и нечем.
Всего мы обновили более 1000 экранов старого приложения.

Дизайн-ревью

Иван Шапотатев
дизайнер
В банке больше 50 продуктовых команд, и их число постоянно растёт. Каждая команда делает свой раздел, например переводы, платежи, кредиты. У всех свои задачи, цели, взгляды и дизайнеры. Но в какой-то момент они должны сойтись в одной точке — приложении ВТБ Онлайн. Цель нашей команды в том, чтобы приложение не развалилось и выглядело консистентно. Для этого мы используем дизайн-систему и дизайн-ревью.
Новому приложению — новые экраны
Любая фича, прежде чем попасть в прод, проходит дизайн-ревью. На ревью мы смотрим, использует ли команда компоненты дизайн-системы, проверили ли функциональность на юзабилити-тестировании, как функциональность встраивается в приложение, не нарушена ли логика, все ли крайние состояния учтены и т. д.
Мы не хотим, чтобы дизайн-ревью было шлагбаумом, который мы выставляем в последний момент, и стараемся общаться с командами на самом раннем этапе. Обсуждаем вместе задачу команды и помогаем ребятам найти лучшее решение в рамках дизайн-системы.

Дизайн-система

Максим Галеев
дизайнер
Дизайн-система, которую мы разработали в сжатые сроки, позволяет командам быстро решать свои задачи. В ней зафиксированы основные компоненты дизайна: типографика, цвета, сетка, поля ввода, кнопки, ячейки и другие элементы, и, главное, всё это реализовано в коде.
Есть общий файлик в Figma для дизайнеров и разработчиков, там находятся все утверждённые компоненты, которые разбиты по группам: поля ввода, ячейки, кнопки, текстовые блоки и т. д. Каждый компонент — самодостаточная часть интерфейса.
Чем меньше компонентов, тем лучше. Компонент — это разметка/контейнер, который может иметь много разных представлений или состояний. Например, есть 4 базовые ячейки, из которых можно собрать почти 100 разных вариаций. Следить за несколькими ячейками проще, кроме того, это помогает лучше сочетать и очень быстро добавлять новые состояния. Вариации каждого компонента также представлены в Figma.
Сложный путь компонентов в дизайне и коде
При этом очень важен баланс между сложностью и количеством, чтобы, с одной стороны, компонентов не было слишком много, а с другой — чтобы не создавать компоненты-монстры, которые потом будет сложно поддерживать.
Когда дизайнер берётся за изменение своего сценария, он заходит в дизайн-систему и смотрит, с помощью каких компонентов может решить свою задачу. Если всё необходимое есть, он может быстро собрать интерфейс и перейти к юзабилити-тестированию. Если оказывается, что с помощью готовых компонентов задачу решить нельзя, мы собираемся с командой, обсуждаем и добавляем новый компонент или дорабатываем один из существующих.
Важная задача — обеспечить синхронизацию дизайна и кода. Тут нам помогает правильный синтаксис компонентов + мы используем комментарии к компонентам в Figma и статусы готовности в названии. Figma API и автоматическая синхронизация тоже в процессе, но после постройки фундамента.
Мы начинали с MVP, собрав самые простые/базовые компоненты, которые нужны всем командам, а потом стали добавлять всё больше и больше новых компонентов и состояний. Затем появились шаблоны, гайды и разные правила.
Мы крупные, а эффективно развивать наши сервисы без набора инструментов под названием «дизайн-система» невозможно. Но никогда не надо строить систему ради системы — это просто инструмент, чтобы делать наши сервисы лучше и эффективнее.

Переход на разработку in-house

Павел Дащак
лидер платформенной команды iOS
Помимо создания дизайна, перед нами стояла задача перейти с аутсорса на in-house-разработку. До перехода разработка приложения велась разными подрядчиками, переходя из одних рук в другие. В итоге получилась цепочка из 4 подрядчиков. На подрядчика были завязаны практически все процессы по запуску мобильного приложения. У него были собственные пайплайны и процессы тестирования, сопровождение тоже лежало на нём. Он же запускал приложение в маркет. Все эти процессы нам нужно было в короткий срок перенести в контур банка и сформировать костяк разработки внутри ВТБ.
Антон Шаляев
лидер платформенной команды Android
Репозитории раньше принадлежали подрядчику, и код приложения хранился у него. Но нельзя просто взять и перенести код приложения в контур банка. Нам пришлось полностью перестроить весь процесс по поддержке, мониторингу и сопровождению приложения и выстроить его внутри, а также создать DevOps-пайплайны для упрощения процесса разработки и публикации (CI/CD).
Сборка теперь выполняется автоматически и распространяется по продуктовым командам, тестировщикам, чтобы каждый видел исправления, тестировал, проверял. Это отняло много сил, но мы это сделали в короткие сроки. Теперь все, кто принимает участие в разработке мобильного приложения, используют наши процессы для тестирования, получения сборок, исправления и пр.
Все компоненты собраны — можно строить UI
Мы стали отвечать за мобильное приложение полностью — и за разработку, и за релизы, и за сопутствующие им процессы.

Команда

Раньше в банке не было отработанного процесса найма разработчиков. И выстраивание in-house-команды началось с нас. Собственно, мы этим и занимались: полностью проводили интервью, готовили требования, которым должны соответствовать приходящие к нам люди. В итоге удалось увеличить команду разработки, которая развивает проект ВТБ Онлайн, с 40 человек до 150. Это только разработчики платформ Android и iOS. Из них 20 человек в платформенной команде, остальные ребята стали частью продуктовых команд. Совокупно в стримах сосредоточено около 100 команд общей численностью 1 000 человек.
Сами мы как-то поскромничали. По численности у нас достаточно небольшой стрим — около 50 человек, но в следующем году планируем расшириться до 60. Костяк команды, 6 человек, пришёл вместе со мной из другого крупного банка. Там мы тоже занимались большими вещами — первыми в России запустили ApplePay и сократили релизный процесс с полугода до 2 недель.
В нашем стриме 5 направлений разработки — это платформы iOS и Android. Отдельная команда занимается ускорением приложений на обеих платформах. Команда Force, отвечающая за скорость и качество релизов, добавилась в конце года. В отличие от других команд, у нас в принципе нет разработчиков бэкенда — фокус полностью на мобильной разработке. Помимо разработки, есть релизная команда плюс команда дизайна: 3 дизайнера и иллюстратор, — и команда аналитики: 2 аналитика и 2 архитектора.

Agile

В разработке мы придерживаемся Scrum. Этот подход нам уже был знаком, поэтому для нас не составило труда сразу включиться в процесс.
Каждое направление ежедневно проводит стендапы: команда рассказывает, в чём им нужна помощь, что они сделали за предыдущий день. Два раза в неделю я провожу часовые встречи с лидерами команд. Это позволяет всему большому стриму понимать, куда мы идём, и избегать расфокуса, когда одна команда делает одно, другая — другое, третья — третье.
Демо. Мы работаем спринтами по 2 недели. В конце каждой итерации проводим одно большое демо нашего стрима — что сделали. Мы были первой командой в банке, которая стала проводить такие демо. Сейчас эта история стала общей: каждые 2 недели за один день проходят демо всех продуктовых команд.
Ретро. В конце спринта также проводим встречи на час-полтора, где обсуждаем проблемы, с которыми столкнулись во время итерации: не успели сделать какую-то задачу, слишком много времени потратили на ненужные вещи и т. п. По итогам обсуждения составляем список того, что сделать, чтобы в дальнейшем минимизировать риск подобной проблемы.
При этом мы применяем Scrum не ради Scrum. В случае необходимости меняем подход — сейчас такая необходимость есть: для глобального обновления Scrum не вполне подходит. Часто прилетает куча ошибок, дефектов, которые необходимо исправлять, и здесь мы скорее ближе к Kanban. Да и не для всех есть смысл работать по Agile, например DevOps-инженер работает только по канбану.
После выпуска релиза разработка вернётся к Scrum.

DOR

Елена Леотова
лидер релизной команды
Процесс вывода продукта в продакшн раньше занимал полтора месяца. За это время на рынке много что меняется, и мы всегда были отстающими. Проблема была в том, что одни подрядчики разрабатывали приложение, другие — тестировали. Из-за дискоммуникаций и отсутствия мотивации на выходе получали много ошибок. Сейчас за вывод новых версий приложений отвечает релизная команда из 2 релизных менеджеров (по iOS и Android) и 7 тестировщиков.
И вот так день за днём
В процессе выпуска приложений участвует множество смежников. Чтобы выводить продукт в прод быстро, качественно и с минимальными затратами, мы придумали свод правил, который у нас называется «Определение готовности» (Definition of Readiness, DoR). Это такой чек-лист для продуктовых команд: что нужно сделать, чтобы запустить свою фичу, к кому из участников и в какой последовательности надо обратиться и т. д. DOR помогает соблюсти баланс между качеством и скоростью.
За полтора месяца набиралось очень большое количество исправлений и фичей — всё это вместе было очень тяжело регрессить. Изменения в одном месте затрагивали ещё кучу других. Команды торопились попасть в релиз, чтобы успеть с новой фичей. Это повышало шанс что-то сломать в другом месте. Мы смогли сократить срок релиза с полутора месяцев до 2 недель. И доводим поставки до клиента с неплохим качеством. Основное количество жалоб, которые сейчас оставляют в комментариях, связано со старым бэкендом.

Смена бэкенда

Дмитрий Нелепов
главный архитектор мобильного приложения
Многие решения, которые мы хотели сделать, упирались в старый бэкенд. Вся логика была на стороне бэкенда, что приводило к долгому заполнению даже самых простых, не интеграционных полей операции. Мобильное приложение выступало аналогом браузера или тонкого клиента — отображало то, что отдавал бэкенд. Интерфейсы имели плоскую структуру, что усложняло их кастомизацию. Для того чтобы поменять кнопки, перекрасить что-то, изменить расположение, требовалось дорабатывать бэкенд-систему. А это долго и не всегда возможно — приходилось идти на компромиссы.
Из таких «кирпичиков» построена работа над мобильной платформой
Ближе ко второй половине нашего пути ребята, которые занимаются разработкой бэкенда, предложили поменять его архитектуру: отказаться от монолита и перейти на микросервисы. В новой парадигме мы хотим перейти на RESTful-архитектуру. Бэкенд так и будет присылать объекты, которые необходимо заполнить, но логика заполнения будет переложена на приложение. Это позволяет делать кастомизированные экраны, которые так хочет наш UX/UI- отдел.
Первоначальная задача расширилась — это не только «перекраска» визуала, но и смена архитектуры бэкенда. Бэкенд не разрабатывается только под мобильное приложение или только под сайт. Мы идём в сторону омниканальности и унификации. Если мы делаем, например, вход, то методы и API разрабатываются сразу для мобильной платформы и для веба.

Что мы получили

Месяц назад мы выпустили стабильную версию старого мобильного приложения для AppStore и PlayMarket и взяли небольшой тайм-аут с выпуском регулярных релизов. Все команды полностью сосредоточились на разработке нового приложения на новом бэкенде.
В итоге мы полностью ушли от старого дизайна и сделали приложение в минималистичном стиле. Хотели соблюсти баланс: сделать приложение новым и современным, но оставить простым и понятным. На главной странице только счета и баланс, нет рекламы, баннеров, навязываемых услуг. Приложение, где ты хранишь деньги, должно быть сейфом без лишней информации.
Сократилось время отклика интерфейсов — войти в приложение теперь можно за пару секунд, а не за полминуты. За счёт чего это удалось? Мы переписали и оптимизировали 50 % кода приложения, перешли на новый бэкенд, на микросервисы. Сделали кэширование разделов, что позволяет отображать информацию пользователя моментально.
Кроме того, мы добавили много разных новых фишек и функций для удобства пользователей — например, плавающее контекстное меню Air Bar, кастомизируемый интерфейс главного экрана, возможность снятия наличных в банкомате без карты. Другой пример: часто клиенты совершают операции в транспорте, на фуд-корте, в других многолюдных местах. Не каждому хочется светить баланс своего счёта. Теперь на главном экране можно спрятать сумму от посторонних глаз — она будет скрыта звёздочками.
Такое масштабное обновление мобильного приложения не могло бы произойти без помощи продуктовых команд, которые занимались разработкой своих сервисов для ВТБ Онлайн. Наша задача как платформенной команды заключалась в том, чтобы собрать из всех этих продуктов целостное и качественное приложение.
Нам очень важно получить фидбэк о проделанной работе и узнать ваше мнение о новом приложении — приглашаем всех заинтересовавшихся в комментарии.

Комментарии 80

    +4

    Проделана большая работа, но у меня сложилось впечатление что вы взяли гайды Тинькофф и чуть перекрасили. Работать действительно стал быстрее чем раньше, но в первую очередь нужно менять сервис. Предыдущая версия — худший мобильный банк (я клиент 7-ми банков), причём большее недовольство было именно сервисом. С приложением ещё более менее можно смениться.


    На чем backend написали?

      +1
      Как вы понимаете, в моменте сменить все не получится, поэтому backend написан на разных языках: Java, C# — как основные. Вообще — это тянет на отдельную статью.
      +11

      Клиент банка с 2006. Пользователь приложения с его появления.


      1. За все годы никто так и не исправил банальное — о чем неоднократно писалось в поддержку. В интерфейсе карты/счета (например, мастер-счёт) жму «перевести» — выбираю «между своими счётами», открывается форма перевода ииииииии… в «откуда списывать» может стоять НЕ карта/счёт с которой началось движение (например, мастер-счёт). /facepalm/


      2. Почему так много сбоев и ошибок? Вроде все работает нормально, но несколько раз приходилось открывать Сбербанк Онлайн, потому что приложение ВТБ в нужный момент (срочный перевод) выдавало «сервис временно недоступен»...


      3. Вот вы пишете, что нет ресурсов. Второй по величине банк страны. Огромное количество мобильных клиентов. Жёсткая конкуренция в этом сегменте с другими банками. Вашему руководству не стыдно? Пофиг?



      Ну и на последок. Вы пришли и спрашиваете мнение. А что с другими каналами? Почему на все отзывы в App Store отвечают однотипно будто посадили мартышку писал одинаковый текст на все отзывы? Почему при обращении через email нет обратной связи? Банального спасибо и описания когда это исправят/сделают? Невежливо как то получается.


      PS Про ускорение работы новой программы. Интерфейс стал загружаться быстрее, однако балансы карт и счетов при запуске приложения — даже медленнее старого.

        +4
        Вот вы пишете, что нет ресурсов.

        Почему на все отзывы в App Store отвечают однотипно будто посадили мартышку писал одинаковый текст на все отзывы?


        Все силы были брошены на написание бота который будет однотипно отвечать на отзывы в app store
          –3
          Сожалеем, что сложилось такое ощущение. Обновление остатков после операций заметили, удобно?
            +1
            В каком месте у вас остатки обновляются? Как было так и осталось.
          +9

          Открываю приложение, предлагают кредит. Закрываю, открываю, снова предлагают. Раз, два, но не три же!
          Вчера бонусы поменял на рубли. Сегодня на мастер счёте прибыло, бонусы в доступных не изменились.
          Про скорость выше написали.
          В 2007 лучший, имхо, банк. Сейчас нет.

            +6
            всё упиралось в необходимость доработок бэка, на которые у нас не было ресурсов.

            Т.е. иметь овер 100 человек только в мобильной команде — норм, а дорабатывать по сути "ядро" системы — нет ресурсов?) Это как так?)


            Мобильное приложение выступало аналогом браузера или тонкого клиента — отображало то, что отдавал бэкенд.

            Так это ж server-driven-ui. К нему как раз многие и стремятся, чтобы управлять приложением, а вы от него ушли как раз по причине выше?)


            Бэкенд не разрабатывается только под мобильное приложение или только под сайт. Мы идём в сторону омниканальности и унификации.

            А разве это не хуже? Такое обычно приводит к тому, что не удобно всем. Скажем частый костыль — вместо одного запроса к серверу, нужно делать два, чтобы "смержить" нужные данные… потому что "апи не заточено под конкретную задачу конкретной платформы"

              +1
              Поддерживаю ваши опасения. Хотя бы банальная публикация в стор это не мгновенная история. С UI полностью в приложении вы сразу прибавляете себе к ТТМ еще недельку. Плюс не представляю как с развитием функциональности такое кол-во разработчиков сведут наработки таки в одну ветку с учетом всех кросс-зависимостей. По опыту работает баланс: по таким критериям — натив, по таким — server side.
                +1
                Так это ж server-driven-ui. К нему как раз многие и стремятся, чтобы управлять приложением, а вы от него ушли как раз по причине выше?)

                Это ж анти-паттерн из нулевых, кто к нему стремится?

                  +1

                  Ну на мобилках он очень хорош для динамического UI, когда бизнес хочет быстро менять что-то и собирать профит. Представьте, что поменять местами две ленты данных на UI вам может обернуться в 2 недели ревью в аппсторе, а потом окажется, что юзеры дизлайкают это и о потом ещё 2 недели возвращать всё.
                  Ссылка1, Ссылка2, Ссылка3

                    +1

                    А, ну тут проблема с пересборкой проекта. У веба такой проблемы нет — бандл грузится с бека один фиг.


                    Не понятно просто зачем тут какие-то новые термины придумывать, типа server-driven уи и все такое. Технология уже 20 лет назад устареть успела)

                    0
                    Это ж анти-паттерн из нулевых, кто к нему стремится?

                    да как бы все
                    Сервер выгрузил и все 100% получили апдейт, а мобилка пока пройдет модерацию, пока апдейт расползется по всем может и 2 месяца пройти
                    +1
                    — Не вдаваясь в подробности, можем лишь сказать, что это так выглядело, но по факту были сложности. Мы не останавливаемся на достигнутом, а продолжаем исследование разных подходов. Считаем, что нужен баланс, возможно решением станет симбиоз двух подходов.

                    — Конечно, всегда есть нюансы, но мы стремимся минимизировать точки отказа.
                    +7
                    Стало конечно лучше, красивее и быстрее. Но на белом фоне стали незаметны кнопки управления андроида. Вот например гугло-поиск — image
                    а вот ВТБ —
                    image
                      –3
                      Приветствуем! Спасибо за интерес к статье и за обратную связь! Да, есть такая проблема, в отзывах тоже про это пишут пользователи. Пока в качестве системного решения видим добавление тёмной темы или нейтрального стиля.
                      +7

                      150 человек только андроид и iOS разработчиков? Боже, чем они занимаются все? С таким подходом можно по 100 приложений непрерывно релизить и поддерживать. Тем более имея дизайн-систему.


                      Что-то мне кажется, что здесь где-то кроется плохой менеджмент, ну либо там такие феерические костыли приходится писать из-за того что бэк «не заточен под платформу». Блин да даже если в приложении 100 экранов это в среднем по 1.3 экрана на человека. Можно до идеала довести )


                      Я понимаю да, что есть там модули, другие Настройки и тд и тп. Но они зачастую пишутся один раз. А дальше то, что вы делаете?


                      P.S. Установил приложение. 150 человек, а сделать обработку разрешений не можете? Почему со старта аппка засыпала меня запросами на гео и пуши? Сейчас даже джуны знают, что так нельзя делать ибо конверсия в разрешение от юзера будет около нуля

                        +4

                        Да даже если бэк там совсем днище, то надо не очень много разрабов, чтобы сделать хороший "фасад", который предоставит норм апи. Что делают остальные — загадка..

                          +2
                          ВТБ — по сути гос.банк. Они не переживают за прибыль, за пользователей — государство вольет столько денег, сколько нужно. Они могут раздувать штат, днями размышлять как запустить свой SpaceX, а в пятницу вспомнить о задачах которые стояли на неделю и по-быстрому все написать. Если бы был коммерческий банк — с таким подходом разогнали бы всю команду андроида до максимум 10 человек
                            +1
                            Да это как-то совсем за гранью добра и зла… Типичное приложение мобильного банка, и такая прорва людей… У них больше времени, вангую, уходит на согласования и проч, чем собвственно на проектирование и разработку.
                              +1
                              Джуны знают, что так нельзя делать, ибо эпл не рекомендуют.
                              А вот ребята постарше доверяют, но проверяют. И знают, что такой подход все равно работает лучше ))
                              Это примерно как экран «купи премиум подписку» сразу после онбординга. Кажется дичью — ну кто будет покупать, не попробовав?! Ан нет, отлично работает.
                                +1
                                Ну да, зачем читать то, на что отвечаешь. Я про конверсию вы мне про эппл не рекомендует.
                                  +1
                                  вот именно. перечитайте. я вам тоже про конверсию.
                                  как это не странно, но подход, с запросом пуш-пермишенов тупо на старте работает лучше. конверсия получается выше.
                                    +1
                                    Вот вы и перечитайте. Причем тут тогда эппл не рекомендует вообще? К чему вот вы это написали? Надеюсь вы не отвечаете за запрос на пуши ни в одном сервисе, которым я пользуюсь
                                      +1
                                      сейчас вы пытаетесь соскочить с темы конверсии на тему удобства. господи, эпл топит за удобство юзеров. а еще юзеры хотели бы, чтобы все вообще было бесплатно. и че теперь?
                                      Про конверсию не я первый начал.
                                      >Сейчас даже джуны знают, что так нельзя делать ибо конверсия в разрешение от юзера будет около нуля

                                      у вас тут ошибка. не около нуля, а порядка 50%,
                                      а если сделать наоборот, «как правильно», то конверсия будет в несколько раз меньше.
                                        +1
                                        после того, как эпл сделала удобное отключение пушей из самих пушей проблема практически отпала.
                                        проще подписаться, вдруг че-то полезное будет, а если задолбают, то выключить нафиг уже по факту.
                                          +1
                                          для банковского приложения пуши очень важны, чтобы не тратить деньги на смс-ки.
                                          так что они все правильно сделали. не тратят свои и ваши деньги на смс-ки, а также свои и ваши деньги на лишнюю разработку
                                  +2
                                  простите, конечно, но 50+чел на ios и android, и команда 2-3 чела и 50 команд…
                                  но при этом нет ресурсов на бекенд??
                                  50+ чел на приложение, Карл!!!
                                  Вы там затеяли процесс ради процесса или процесс ради частых релизов в дев\альфу?
                                  чем у вас эти ребята вообще занимаются???
                                    0

                                    Подозреваю, что бэкенд находится в другом подразделении. Для таких крупных окологосударственных контор передать вакансии из бэкенда во фронтенд — это уменьшить влияние начальника мобильного фронтенда и увеличить административную силу начальника подразделения, где пилится бэкенд. А начальник бэкенда может быть чем-то не угодил более высокому начальнику, или начальник фронтенда чей-то близкий друг. Тогда лучше пусть 50 фронтендеров будут кушать кактус, чем усилят разработку бэкенда.

                                      –1
                                      Самое забавное, что эти ребята даже занесли на Хабр несколько сотен тысяч рублей, чтобы об этом всем поведать сообществу в отдельном посте)
                                      +1
                                      Слишком «широко» все сделано, хотелось бы компактнее, меньше промежутков между элементами.
                                      Болячки бека остались, при переводе между своими счетами информация о балансе счета куда должны прийти деньги не обновляется без перезапуска приложения.
                                        0

                                        Подскажите, что за "плавающее контекстное меню Air Bar"?
                                        Пробовал загуглить, ничего конкретного

                                        • НЛО прилетело и опубликовало эту надпись здесь
                                            0
                                            Это TabBar, который предназначен для навигации по главным экранам приложения. При этом на внутренних экранах данный элемент может иметь от 1 до 5 действий. Почему Air? Случайно кто-то его так назвал, и привязалось) наверное, еще потому что там есть разные анимации при скролле и переходе.
                                            +2
                                            Вы бы лучше бэк все таки переделали, а не фронт. С конца января так и не заработал мобильный банк. Даже после описания проблемы на банки.ру. Скоро уже год пройдет. Самый ужасный онлайн сервис, по крайней мере среди тех банков, с которыми сталкивался.
                                              –1
                                              Бэк тоже меняется, только их изменения не так заметны, но у них очень много работы. Изменения бэка будут также в мобильном приложении.
                                                +1
                                                23 января ± пара дней будет год, как у меня не работает онлайн-банк. В итоге карта используется в режим «получил ЗП — перевел на нормальную».
                                              +5
                                              VTB а для чего была написано это: «Нам очень важно получить фидбэк о проделанной работе и узнать ваше мнение о новом приложении — приглашаем всех заинтересовавшихся в комментарии.»?

                                              Вы за несколько дней даже не удосужились написать хоть какой то ответ на хоть какой то оставленный комментарий.

                                              Это лишь говорит о том, что вам пофиг на аудиторию.
                                                +5

                                                Они же написали — "Получить и узнать"! Отвечать никто не обещал же:)

                                                  +2
                                                  Да, чего это я… :)
                                                  –2
                                                  Приветствуем! Мы видим все вопросы и комментарии и каждый нам интересен) К комментариям тоже подходим итеративно, сейчас вопросов поднакопилось, мы в команде их обсудили и возвращаемся с ответами =)
                                                    +1
                                                    Вот вы у себя в команде и подходите к комментариям как пожелаете. А хабр не ваша команда и подход к комментариям тут другой. Например, не отвечать через 2,5 недели.

                                                    А подход «собрание, обсудили, возвращаемся» как минимум тянет на тупой бюрократический подход. Еще один признак того, что вашему руководству не нужно эффективно расходовать деньги. Их сотрудники могут собраться и заобсуждаться, вместо реальной работы.
                                                  +4

                                                  Мне как клиенту вашего банка все эти ваши ui-прибамбасы даром не нужны. Мне что старая версия была нормальной, что новая. Я не любоваться дизайном приложение запускаю, а управлять своими финансами. Поэтому сколько бы вы ни нарисовали экранов, меня будет интересовать вопрос, почему пропал мой шаблон оплаты карты Тройка.

                                                    0

                                                    Ну, все правильно. Вместо того, чтобы делать продукт — вбухали все деньги в рекламу на первом канале с топовыми актера отечественного кино. Просто позор ((((
                                                    У нас с женой очень долго были дебаты какой же банк лучший. В общем, втб с его мобильным клиентом и недоступностью переводов («технические работы») — даже ниже сбера в личном рейтинге

                                                    +1
                                                    Вот кто это придумывает что
                                                    приложение морально устарело, нужно было визуально освежить ВТБ Онлайн
                                                    … Надоело что дизайнеры постоянно норовят что-то где то поменять. Хотя у меня есть большие сомнения что к приложению приложили руку именно нормальные грамотные дизайнеры. Скорее кто-то как-то раскидал по сетке те кнопки, которые написали в ТЗ…
                                                      0
                                                      Моё мнение, приложение испорчено. Предыдущее было интуитивно понятно. Как открыл новое — потерялся на экране и в экранах.
                                                        0
                                                        Открываю новую версию приложения. Сразу предлагает оценить. Как я могу оценить если еще не посмотрел ничего. Подождите хотя-бы пару запусков.
                                                          +2
                                                          Почему ВТБ с завидной периодичностью уходит «на профилактику», чего ни разу не видел в том же сбере? Что вы там постоянно профилактируете?
                                                            –1
                                                            Мы стремимся проводить обновления без downtime. Но, в банке много легаси, что-то просто не поддерживает пока такого режима.
                                                            0
                                                            А мне не понравился интерфейс ВТБшных банкоматов, где для продолжения операции, перехода на следующий экран (условно «далее») надо нажать КРАСНУЮ кнопку, которая у всех ассоциируется с остановкой или отменой.
                                                              0
                                                              Более того, активна не вся огромная кнопка, занимающая изрядное пространство экрана, а небольшая область вокруг «галочки», в любом случае на тех банкоматах что я использовать последнее время, приходится несколько раз тыкать пока не сработает.
                                                                0
                                                                Кстати да, есть такое, с первого разу никогда не срабатывает, сберовские банкоматы приучили лишь бы попасть по кнопке.
                                                              +2

                                                              Мы осовременили дизайн и выпустили новое супермодное мобильное приложение без темной темы.


                                                              Заканчивался 2020-й год. В ВТБ все еще клепали приложения по гайдам нулевых.

                                                                0
                                                                Добрый день! Мы очень стараемся, чтобы в ближайшее время в приложении Вы увидели классную реализацию темной темы. Поэтому взяли немного времени на проработку задачи. Следите за обновлениями, постараемся не разочаровать.
                                                                0
                                                                Просто интересно. А что помешало сделать сразу поддержку альбомной ориентации для iPad? Тем более, в старой версии такая поддержка была.
                                                                  0

                                                                  Это тренд по-ходу) Многие компании почему-то забивают на поддержку планшетов(или как минимум откладывают в долгий ящик)
                                                                  Скажем судя по гуглу кол-во Андроид планшетов, не более 15%. А при разработке часто надо делать отдельную вёрстку каждого экрана для лендскейпа.

                                                                    0
                                                                    Воистину всё так. Занимаемся разработкой мобильного приложения для одного из банков — заказчиков тема планшетов вообще не задевает. Не скажу точно по актуальной статистике, но с планшетов заходит очень мало людей.

                                                                    И париться под спец. раскладку (слева один фрагмент, справа другой) — никто не видит смысла. С учётом того, что тогда нужно делать и специальный дизайн под альбомный вариант… За это время успеем несколько новых фич запилить.

                                                                    Не, разумеется, если в команде разработки сидит 50 с лишним человек, которым нечем заняться — да, можно кого-то этим озадачить. Но это прям явно перебор какой-то, примерно так на порядок.
                                                                      +1
                                                                      Ну вот Тинькофф и Альфа запариваются (даже Сбер, прости господи). Я не думаю, что это сильно сложнее или требует каких-то больших ресурсов. Зато я как клиент обращаю на это внимание и не выберу банк, у которого отсутствует поддержка планшетов.
                                                                    0
                                                                    Приветствуем! Чтобы при разработке и тестировании не терять фокуса с основного приложения под iOS мы перенесли адаптацию под iPad на следующий этап и уже сейчас этим активно занимаемся. Так что в ближайшее время ждите обновлений, в которых появится адаптация под альбомный режим.
                                                                    +2

                                                                    Здравствуйте! Подскажите, а зачем новой версии мобильного приложения доступ к звонкам?

                                                                      +1
                                                                      Ну зачем вы такие неудобные вопросы задаете :-)
                                                                        –1
                                                                        Приветствуем! Доступ к звонкам был нужен и раньше, он запрашивался нативным окном. Сейчас же по перед запросом доступа сделан специальный экран, который объясняет простым языком для чего это нужно. А сам доступ используется для работы системы фрод мониторинга, в частности для определения входа в аккаунт с нового (неизвестного) устройства.
                                                                        0
                                                                        Нам очень важно получить фидбэк о проделанной работе и узнать ваше мнение о новом приложении — приглашаем всех заинтересовавшихся в комментарии

                                                                        Тут прямо какой-то "барнаул, алтайский край" сценарий. Какой фидбек может быть, если вы даже тёмную тему не можете сделать в "новом" приложении?


                                                                        У вас приложение для инвестиций не может даже в банальную альбомную ориентацию даже на айпаде. Новое банковское не может тоже. Приходится смотреть графики в книжном, параллельно переключаясь на другие приложения, которые прекрасно работают в альбомном режиме.


                                                                        Если вы на чисто косметический процесс потратили полтора года, и вам не стыдно на тематическом сайте об этом писать, то по ходу IT индустрия в стране умерла окончательно.

                                                                          0
                                                                          Приветствуем! Почему же не можем? Можем, но решили “есть слона по частям”. В архитектуру приложений специально заложена такая возможность, которую мы в ближайшее время реализуем.
                                                                          –1
                                                                          Много вопросов про кол-во человек в команде. Мы начали с 20 человек. Вернее сначала вообще с 5)) И за эти 1,5 года прошли интересный долгий путь увеличения команды, организации процессов и погружения разработчиков в архитектуру и процессы. А еще организовали школу разработчиков для джунов, многие из которых стали частью команды.

                                                                          В платформенной команде, которая занимается основными экранами, дизайн-системой и базовыми механизмами около 20 человек (iOS и Android). А еще большое кол-во продуктовых команд, которые занимаются важнейшими сервисами банка. Почти в каждой команде есть iOS и Android разработчики, которые отвечают за поддержку и развитие своего сервиса вместе с командой.

                                                                          Так как приложение разрабатывалось разными вендорами, то потребовалось время на рефакторинг и разработку базовых механизмов, правил и архитектуры. Разрабатывать с нуля всегда проще, чем поддерживать и переписывать код, который разрабатывали 4 разных вендора.

                                                                          И за это время, мы так же занимались поддержкой и обновлением старого приложения.

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

                                                                          Впереди еще очень много планов, сейчас мы поставили наш UI кит на рельсы и будем продолжать развитие — главная задача была сделать интерфейс гибким.
                                                                            +2

                                                                            Учитывая количество комментариев, часть из которых вполне конкретные — такое ощущение что вы в итоге сами с собой пообщались. Зачем собирать обратную связь и публиковать статью на Хабр, если не готовы с аудиторией общаться.

                                                                              0

                                                                              Можете рассказать подробнее о технической части. У вас бекенд отдает приложению сразу разметку с данными и приложение рендерид, по типу server side rendering? Или у вас rest и бекенд отдает просто данные, а вся разметка предопрелена в приложении? На чем пишете бекенд? Как устроен ui kit можете описать поподробнее? Спасибо

                                                                                0
                                                                                Ребят правда, сделайте, чтоб разрешения спрашивались только там, где это реально необходимо. Если вам зачем-то нужны уведомления покажите это, например, при нажатии на кнопку подписаться на новостную рассылку (взял из головы) и там типа нам нужны уведомления, чтобы вы не пропустили новости.

                                                                                P.S. Да, наверное легаси аппку переписывать очень сложно и так далее, но собственно, в чем проблема была сделать рядом MVP и его уже докручивать? А то пока звучит примерно так, что вы сами себе самосвал на плечи загрузили и теперь жалуетесь как это тяжело
                                                                                  0
                                                                                  Приветствуем!
                                                                                  По теме разрешений:
                                                                                  В ВТБ Онлайн по сути так и сделано: там где нужен пермишн, там он и запрашивается. Например, к камере при первой попытке считать QR и так далее. Но пермишн к телефону нужен именно на старте, так как он необходим для работы системы фрод-мониторинга. Раньше запрос пермишна тоже был на старте и мы получали много негативных отзывов. Поскольку отказаться от него невозможно, то в новой версии мы решили отдельным экраном объяснить для чего это нужно и уже после запрашивать пермишн. В целом отзывов на эту тему стало меньше.
                                                                                  В наших планах сделать правильный клиентский опыт, который позволит дать полное понимание для чего мы спрашиваем разрешения доступа к определенной информации.
                                                                                  Насчёт отдельно стоящего приложения в качестве MVP:
                                                                                  Такой вариант тоже прорабатывался. Он хуже по двум пунктам:
                                                                                  1. Быстро сделать его не получится, а значит чтобы его сделать основным — нужно долгое время догонять по функционалу основное приложение, то есть делать множество фичей параллельно в двух экземплярах. Поскольку нам нужно было перейти на другую бэк-архитектуру, то у основного и нового приложения ещё и реализация была бы разная.
                                                                                  2. Охват клиентов, которые готовы поставить себе MVP, совсем не большой.
                                                                                  Для нас же было важно обновиться в короткие сроки на максимальное число пользователей. Чтобы у бОльшей части клиентов было обновленное приложение, которое работает с обновленным бекэндом. А это в свою очередь нужно для снятия нагрузки со старого бекэнда перед сезоном повышенной нагрузки в декабре.
                                                                                0
                                                                                Удалил ваше приложение после того как оно с меня потребовало дать ему доступ к звонкам чтобы читать серийный номер телефона и прочее.

                                                                                Если уж слизываете интерфейс с тинькова то и тотальное отсутствие необходимости в каких-либо правах доступа тоже копируйте. Для обеспечения безопасности личного кабинета знать такие вещи как серийный номер телефона уж точно не обязательно.
                                                                                  0
                                                                                  Не каждому хочется светить баланс своего счёта. Теперь на главном экране можно спрятать сумму от посторонних глаз — она будет скрыта звёздочками.

                                                                                  Screenshot-20201217-152853-ru-vtb24-mobilebanking-android

                                                                                  Молодцы!
                                                                                  За идею пять, за реализацию двойка.
                                                                                    0
                                                                                    А можно узнать, что заставило вас убрать возможность пользоваться приложением на 5м андроиде?! Самое интересное, что на 4м оно работает
                                                                                      +2
                                                                                      Приветствуем! Мы подняли минимально поддерживаемую версию API, оставив поддержку версий Android от 6.0 и выше. Для версии старше мы, по-прежнему, в PlayMarket публикуем более старые релизы. Можно узнать, Вы на Android 4 видите какую версию приложения?
                                                                                      А если в целом про поднятие версии, то:
                                                                                      В первую очередь, это сделано потому, что тестовая модель и количество распределённых по всей стране команд, резко увеличилось, а официально закупить устройства с версией Android старше 6.0 проблематично. Если раньше мы могли свободно в офисе передавать тестовый девайс из рук в руки для тестирования и разработки, то в текущих условиях удалённой работы такая опция пропала.
                                                                                      При этом выходят новые версии Android, которые надо добавлять в матрицу девайсов для регресса. И если совсем не исключать из неё старые ОС, то существенно увеличится время на тестирование каждого релиза. Само собой, мы также при принятии решения учли количество активных пользователей, которых на старых ОС осталось мало.
                                                                                        0
                                                                                        Браво!!! А не кажется ли вам, что лишив людей с версиями андроид ниже 6 пользоваться мобильным приложением, вы подрываете доверие к ВТБ? Вы, как разработчики, пользуетесь нерасторопностью и некомпетентностью своего полугосударственного заказчика, который не задумывается по последствиях своих шагов. Впрочем, качество вашей работы вполне в тренде общего уровня клиентского софта этого банка — скажем, что в десктопной версии, что в мобильной квитанции по переводам с карт внезапно перестали содержать строку получателя платежа. Продолжайте в том же духе…
                                                                                          –1
                                                                                          Добрый день! Почему же лишили такой возможности? Вот цитата из комментария выше: “Мы подняли минимально поддерживаемую версию API, оставив поддержку версий Android от 6.0 и выше. Для версии старше мы, по-прежнему, в PlayMarket публикуем более старые релизы”. Иными словами, мы собираем для релиза мультиапк, как раз для того, чтобы клиенты со старыми ОС тоже могли пользоваться приложением, но более старой версией. Это штатный механизм Google.
                                                                                    +1
                                                                                    На следующей итерации обновления будут так же писать про код нынешней команды)
                                                                                      +2
                                                                                      Поздравляю с почином и желаю удачи!

                                                                                      Новое мобильное приложение, еще и in-house, и даже статья на Хабре — это повод надеяться, что банк решил повернуться лицом к физическим лицам (каламбур, да).
                                                                                      Насчёт самой статьи: написано как будто для руководства, а не для Хабра.

                                                                                      Аргументирую:
                                                                                      1. Во втором предложении вводится термин «стримы». Откуда-кому знать, что назвали стримами в вашей конкретной компании? Да, неявная расшифровка есть, но намного позже.
                                                                                      2. Обзор всего галопом. Всё в кучу: люди и их рассказы, старое легаси, новое приложение. Местами технические детали, местами по верхам. На мой вкус: нет рассказа, есть обрывки и маркетинговое продвижение: «мы крутые — у нас большая команда и новое крутое приложение».
                                                                                      3. Про объем легаси — одна строчка «обновили более 1000 экранов». В итоге это осталось совсем незаметным. Пишу задним умом, но, судя по комментариям, стоило полнее раскрыть подробности того, что было, и сколько всего переделали.
                                                                                      4. Вы переписали очень много кода, но цепочка рассуждений, которая приводит к тому, что компании это было нужно — разбросана по тексту и неполна. Если бы Вы выступали с этой статьей внутри компании — все бы всё поняли. Здесь же, естественно, это вызвало вопросы.
                                                                                      5. Почему для компании плох тонкий клиент? Почему хорошо идти к омниканальности? Много вопросов, но почти всё не раскрыто. Кмк, лучше меньше, да лучше.
                                                                                      6. «Новая архитектура на старом фундаменте» — а что осталось от старого фундамента в конце? Тоже не раскрыто.
                                                                                      7. Даже раздел «Что мы получили» написан так, что точно понять, что произошло — не получается. В начале фраза: «В итоге мы полностью ушли от старого дизайна и сделали приложение в минималистичном стиле». Сделали новое рядом со старым и переливали трафик? Сделали полностью новое совсем начисто и выкатили обновление, заменяющее старое приложение? А зачем тогда обновляли старое на 1000 экранов, чтобы через месяц его заменить? Или сделали новое подновив кодовую базу старого? Таким образом даже главное, что произошло по тексту статьи — описано неконкретно. И дальше до конца раздела реклама «как стало хорошо» (что плохо).

                                                                                      Чтобы починить всё это — стоило бы дать вычитать статью нескольким «свежим» людям.

                                                                                      В завершение: ещё раз желаю успеха в работе!
                                                                                        0
                                                                                        Добрый день! Спасибо за интерес к статье и аргументацию! Когда мы запустили столь большое обновление и пришло время рассказать о нём, оказалось, что деталей слишком много, чтобы обернуть это в одну статью. Поэтому действительно решили первой статьёй пройтись “по верхам”, не углубляясь в техническую составляющую.
                                                                                        По сути для многих аргументов выше мы сейчас продумываем возможность выпустить отдельные статьи на уже более узкие темы: отдельно про процессы и стримы; отдельно про численность, рост команды и совместную работу таким большим коллективом; отдельно про переработку технической составляющей серверной части и отдельно про фронты. И, конечно, отдельно стоит осветить тему тонкого/толстого клиента.
                                                                                        В какой очерёдности будем создавать статьи — пока не ясно. Но большое влияние на это как раз окажут комментарии к статье и Ваш в частности.

                                                                                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.