Upgrade to Pro — share decks privately, control downloads, hide ads and more …

«Как построить бизнес-ориентированную разработк...

Badoo Tech
May 31, 2018
9.1k

«Как построить бизнес-ориентированную разработку. Опыт ДомКлик» — Алексей Кузьмин

Выступление на Badoo Techleads Meetup #3 19/05/2018

В ДомКлик с недавнего времени работают только разработчики и Product Owners. Как команде из почти 250 человек жить без требований, тестирования и других привычных процессов и инструментов? Оказалось, довольно удобно и несложно.

В своем докладе Алексей поговорит о преимуществах и нюансах подобного устройства, таких как:

короткий релизный цикл
конвеер разработки. CI/CD
требование покрытия тестами на уровне 80%
горизонтальные коммуникации
метрики по каждому продукту

Badoo Tech

May 31, 2018
Tweet

More Decks by Badoo Tech

Transcript

  1. Привет! 2 Меня зовут Алексей Кузьмин. Я директор разработки в

    ДомКлик – дочке ПАО Сбербанк, занимающейся вопросами недвижимости и ипотечного кредитования. Я курирую направления машинного обучения и работы с данными. Связь: ▪ [email protected] ▪ @alex_kuzmin
  2. Краткое содержание 1. Как мы работали год назад 2. Новая

    структура компании 3. Что нам потребовалось сделать a. CI/CD b. Метрики 4. Итоги 4 Или о чем мы будем сегодня говорить
  3. ДомКлик Как мы работали раньше 6 Генеральный директор Директор WEB

    разработки Директор по контролю качества Директор проектов Коммерческий директор Разработка Тестирование Руководитель проектов Продуктолог Команда
  4. ДомКлик Плюсы и минусы Разделение ответственности Каждый сотрудник выполняет одну

    определенную функцию Простой контроль Контроль за качеством ПО осуществлялся по классической схеме. Все просто и понятно Легкость реализации Известная технология разработки. Так делают многие. Ее легко реализовать 8 Незаменимость Рост эксклюзивных компетенций. Людей сложнее менять Соответствие продукта Продуктолог слабо вовлечен в процесс разработки. Из-за этого есть риски несоответствия продукта и ожидания от него Долгий релизный цикл T2M затягивается ввиду обилия коммуникаций
  5. ДомКлик Как мы стали жить по новому Слияние компетенций 11

    Фабрика продукта Вовлечение продуктологов
  6. ДомКлик Вовлечение специалистов по продукту 12 Генеральный директор Директор WEB

    разработки Директор по контролю качества Директор проектов Коммерческий директор Разработка Тестирование Руководитель проектов Продуктолог Команда
  7. ДомКлик Вовлечение специалистов по продукту Что нам дало? 13 ▪

    Продукт стал соответствовать ожиданиям продуктолога ▪ Сокращены сроки T2M ▪ Команда теперь отвечает и за «прибыльность» продукта ▪ Разработка и бизнес «скованы одной цепью»
  8. ДомКлик Как восприняла команда? ▪ В целом позитивно - Их

    голос начал учитываться - Продуктолог – не чужой человек ▪ Что помогло хорошей интеграции? - Провели обучение зачем и для чего - Сели рядом в одном месте - Договорились о правилах работы и ритуалах ▪ Правда, не все члены команды приняли новые правила игры (чаще дергают, новые встречи и тп) 14
  9. ДомКлик Слияние компетенций 15 Генеральный директор Директор WEB разработки Директор

    по контролю качества Директор проектов Коммерческий директор Разработка Тестирование Руководитель проектов Продуктолог Команда
  10. ДомКлик Слияние компетенций Что нам дало? 16 ▪ Уменьшение автобусного

    фактора ▪ Повышение компетенции команды в разных частях разработки ▪ Повышение соответствия создаваемого продукта ожиданиям ▪ Нет стоп-факторов. Что-то непонятно - можешь сам сходить узнать ▪ Минус – сложный поиск персонала (больше требований к кандидату)
  11. ДомКлик Куда дели людей? ▪ Провели обучение - Несколько курсов

    по разработке - Один по машинному обучению ▪ Часть людей все-таки не смогла адаптироваться =( 17
  12. ДомКлик CI/CD Если выполнять интеграцию разрабатываемой системы достаточно часто, то

    можно избежать большей части связанных с ней проблем. 22 ▪ 3 стенда - QA - STAGE - PROD ▪ Автоматизированный pipeline (Jenkins) ▪ Deploy одной кнопкой
  13. ДомКлик Как прошло внедрение? ▪ Разработчики были готовы к этому

    и понимали необходимость ▪ Прошло скорее позитивно ▪ Были проблемы с унификацией ▪ Потребовалось серьезное обучение продуктологов «как ставить задачи» 23
  14. ДомКлик Jenkins ▪ Плюсы - Бесплатно - Широко распространено ▪

    Минусы - Не очень очевидный интерфейс - Настройка pipeline’ов требует достаточно высоких компетенций 25
  15. ДомКлик Метрики работы ▪ Запущенный сервис != работающий сервис ▪

    Обязательные измерения - Время ответа - Количество 500-ых ошибок - Ping ▪ Обязательное уведомление о качестве работы 26
  16. ДомКлик NewRelic ▪ Плюсы - Удобно / красиво / метросексуально

    - Внешний хостинг - Алерты и проверки ▪ Минусы - Нет поддержки асинхронных фреймворков для Python - Сложно (почти невозможно) достать свои данные 28
  17. ДомКлик Prometheus + Influx + Grafana ▪ Плюсы - Данные

    всегда доступны - Работает бесплатно ▪ Минусы - Нужно поддерживать 30
  18. ДомКлик Контроль качества кода ▪ 80% покрытие unit-тестами ▪ Code-review

    ▪ Проверка кода SonarQube ▪ Запрет выкатки, если код не достаточно качественный ▪ Интеграционные тесты при сборке API-тесты Selenium 32
  19. ДомКлик Как мы с этим живем? ▪ Меньше незаменимых людей

    ▪ Выкатить релиз может кто угодно ▪ Сокращение T2M ▪ Повышение прозрачности ▪ Высокая доступность – 99.85% + ▪ Повышение вовлеченности разработки 39