frequent deliveries in a multi-team project by roberts luksa
DESCRIPTION
Roberts works as a quality manager at odnoklassniki.ru. His responsibilities are release and test management, as well as new team members training and knowledge exchange support in the organization. A talk about dealing with a short release cycle in a project, where different teams practise different development approaches. How and what to change to meet project growth, how to deliver in time, what specific roles are needed? An experience of a big project that can be useful for a growing team.TRANSCRIPT
![Page 1: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/1.jpg)
Регулярные обновления в проекте с большим количеством команд
Роберт Лукшаodnoklassniki.ru
![Page 2: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/2.jpg)
про Одноклассников
![Page 3: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/3.jpg)
33 000 000 уникальных пользователей в день
![Page 4: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/4.jpg)
2 000 000
000 просмотров страниц в день
![Page 5: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/5.jpg)
«Под капотом»Более 4 500 серверов
JAVA, GWT, Cassandra, MS SQL,
Zabbix ...
![Page 6: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/6.jpg)
Контекст
— Заказчик – мы сами
— 3 офиса
— 14 распределенных команд
— Нужны частые обновления
![Page 7: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/7.jpg)
Необходимость обновлений
— Плановая разработка фич
— Партнеры, промо-акции
— Производственная необходимость
— Экстренная необходимость
![Page 8: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/8.jpg)
Эволюция
![Page 9: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/9.jpg)
Раньше
—Одна команда
—Много срочных задач
—Обновления по мере готовности фич
—Участие всех разработчиков в процессе
обновления
—Апдейт – одна фича и несколько фиксов
—Оффлайн-апдейт
![Page 10: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/10.jpg)
Раньшеплюсы
—готовый код выкладывался сразу же
—высокая скорость работы
—«атмосфера стартапа»
минусы
—остановки портала
—тяжело выдержать ритм
—в процесс обновления вовлечено много
людей
—высокий риск ошибок
![Page 11: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/11.jpg)
Сейчас
![Page 12: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/12.jpg)
Цикл обновления
пн втсрчт
пт сб вс пн вт ср чт пт сб вс пн вт ср чт пт сб вс
UPD-1
UPD-2
UPD-3
UPD-4
![Page 13: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/13.jpg)
Команды
пн втсрчт
пт сб вс пн вт ср чт пт сб вс пн вт ср чт пт сб вс
team-1
team-2
team-3
team-4
![Page 14: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/14.jpg)
Подготовка обновления
1. Разработка функциональности внутри команды
2. Интеграция на тестовой среде
3. Препродакшн
4. Обновление продакшна
![Page 15: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/15.jpg)
Разработка внутри команды
1. Разработка фичи в бранче
2. Функциональное и UI-тестирование на VM разработчика
3. Ревью кода
4. Коммит в мастер
![Page 16: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/16.jpg)
Общая тестовая среда
1. Коммиты в мастер
2. Обновление на тестовой среде
3. Тесты функциональности
4. Интеграционное тестирование
![Page 17: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/17.jpg)
Препродакшн1. Тестирование2. Ввод в ротацию3. Анализ (логи, графики, суппорт)⟳ При необходимости повторить
![Page 18: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/18.jpg)
Процесс обновления
1. Выкладка по модулям2. Тестирование3. Анализ
– если всё плохо – откат– если просто плохо – фикс– если не очень хорошо – регистрация бага
4. Информирование о замечаниях5. Ретроспектива
![Page 19: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/19.jpg)
Запуск функциональности
Проведение «экспериментов» для запуска фич
—ожидаемый результат
—статистика
—нагрузка
—фидбэк от пользователей
![Page 20: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/20.jpg)
Инструменты
—своя система статистики
—Portal Management System
—GIT
—Confluence
—Jira
![Page 21: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/21.jpg)
Роли
Дежурный разработчик
Дежурный тестировщик
Системный администратор
Менеджер апдейта
![Page 22: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/22.jpg)
Команды
—Отвечают за фичу от дизайна до поддержки
—Сами организовывают свою работу
—Общая культура, но индивидуальный подход
![Page 23: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/23.jpg)
Преимущества подхода
— Простые и понятные правила
— Предсказуемость планирования
— Быстрый proof-of-concept
— разработчикам интересно!
![Page 24: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/24.jpg)
Чего добились
—Адаптируемость подхода
—Ответственность и самостоятельность команд
—Программисты программируют
—Тестировщики тестируют
—Менеджеры поддерживают
![Page 25: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/25.jpg)
«Грабли»
—«еще 5 минут и закоммичу»
—полегче с «уплотнением»
—удобный сервис
—зависимость от высококлассных специалистов
![Page 26: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/26.jpg)
Скоро— Самостоятельные апдейты по
необходимости
— Автоматизация
– выкладка
– тестирование
![Page 27: Frequent deliveries in a multi-team project by Roberts Luksa](https://reader033.vdocuments.site/reader033/viewer/2022052905/55878bf2d8b42a505d8b4575/html5/thumbnails/27.jpg)
Сейчас
—Онлайн-апдейты
—Разделение по командам
—Апдейты по плану
—Роли
– дежурные
– ответственные
—Ревью кода
—Формализация процесса обновления, но не
разработки