Slide 1

Slide 1 text

Автоматизации процессов разработки Спикер: Алена Тямейкина

Slide 2

Slide 2 text

Алена Тямейкина Senior Python Developer atyam [email protected]

Slide 3

Slide 3 text

Островок — ведущая travel-tech-компания. Мы создаем продукты для путешественников, тревел-агентов и отельеров по всему миру делаем путешествия доступными для каждого Наши бренды: 700+ ИТ- специалистов создаем технологии, меняющие индустрию туризма на Python, Go и React/Next.js 300+ сервисов запросов в секунду выполняет наш поисковый кластер 30 тысяч О компании С 2010 года

Slide 4

Slide 4 text

Лень Забывчивость Неопределенная ответственность ● Задачи слишком долго висят в Code Review ● Задачи не всегда находятся в актуальном статусе ● Не выставляются необходимые лейблы в Gitlab ● Много запросов к команде - нужен ответственный ● Накопление слишком большого количества задач к релизу Зачем понадобились автоматизации?

Slide 5

Slide 5 text

Отдельный сервис для получения, обработки и хранения данных Сервис для обработки данных GitLab Postgres Корпоративный трекер Grafana Корпоративный мессенджер

Slide 6

Slide 6 text

Django 5.* Django-ninja ARQ GitLab Client Redis Postgres Custom Client Отдельный сервис для получения, обработки и хранения данных

Slide 7

Slide 7 text

Процессы постдеплоя Блоки процессов разработки Процессы подготовки задач Процессы работы над кодом

Slide 8

Slide 8 text

Поддержка/On call Закрытие задач Мониторинг и аналитика Третий блок. Процессы

Slide 9

Slide 9 text

Третий блок. Автоматизации Duty Scheduler помогает ратировать и назначать участников команды на дежурство ● Поддержка/On call ● Дежурный - не техническая поддержка, а человек, который следит за продуктом и его состоянием. Первый, кто придет на помощь

Slide 10

Slide 10 text

Закрытие задач Если забыл перенести задачу - это произойдет автоматически Мониторинг и аналитика Отчеты о задачах в статусах дисциплинируют и дают соревновательный эффект Третий блок. Автоматизации

Slide 11

Slide 11 text

Работа над кодом Ревью кода Тестирование кода Деплой Второй блок. Процессы

Slide 12

Slide 12 text

Второй блок. Автоматизации Работа над кодом и тестирование Перевод задач из статуса в статус - рутина, Забыть описать проверки для QA - классика! Ревью кода Стараться как можно дольше не касаться ревью - жизнь

Slide 13

Slide 13 text

Второй блок. Автоматизации Деплой Нельзя просто вмержить - нужно проверить!

Slide 14

Slide 14 text

Создание задач Оценка задач Распределение задач Первый блок. Процессы

Slide 15

Slide 15 text

Создание задач Сервис по созданию и декомпозиции задач Новая фича Task 1 Task 2 Task 3 Task 5 Task 4 Task N … Проверка и внесение правок в описания Создание задач в корпоративном таск- трекере Первый блок. Автоматизации OPEN AI

Slide 16

Slide 16 text

Оценка задач Распределение задач Получение всех задач, требующих оценки Добавление дефолтных и стандартных категорий задач и их оценок Выделение и сохранение ключевых слов с помощью AI Проверка задач на ключевые слова Проставление оценок для задач в корпоративном таск-трекере Получение всех задач для распределения Добавление навыков, необходимых для работы в команде Выделение навыков для каждого участника Подбор подходящих участников по наличию нужных навыков Распределение участников на задачи Первый блок. Автоматизации

Slide 17

Slide 17 text

Процесс разработки Фичи, покрывающие процесс % автоматизации 1 Создание задач Issue Creation 80% 2 Оценка задач Issue Estimation 80% 3 Распределение задач Issue Assignation 90% 4 Работа над кодом QA notification, Status Change 40% 5 Ревью кода Auto Assign Reviewers + Notifications 90% 6 Тестирование кода QA notification, Status Change, Trigger autotests 80% 7 Деплой Auto Merge, Release Scheduler 70% 8 Поддержка/On call Duty Scheduler, Notification submodules 80% 9 Закрытие задач Close Tasks, Statistics Sender 90% 10 Мониторинг и аналитика Statistics Sender, Duty Scheduler 80%

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

Полезные материалы Статья про наши автоматизации на Хабре