ДИТ Москвы
От создания инженерной функции до управления цифровыми сервисами Москвы
За 6+ лет: от создания внутренней функции качества для mos.ru с нуля до технического управления портфелем городских цифровых продуктов.
Карьерная траектория
Рост зоны ответственности
Создание функции качества
Внутреннее тестирование mos.ru формируется практически с нуля, до этого экспертиза в основном находилась у подрядчика.
Масштабирование команд, автоматизации и поставки
Несколько команд, 100+ специалистов в функциональном контуре, автоматизация, нагрузка и промышленная поставка.
Руководитель технических проектов
Ответственность расширяется на разработку, подрядчиков, поставку, документацию и приёмку цифровых продуктов.
Эта схема объясняет весь кейс за несколько секунд: от создания функции качества до технического управления портфелем городских продуктов.
Масштаб
Масштаб ответственности
6+ лет
в ДИТ Москвы
Сентябрь 2016 — январь 2023.
100+
специалистов ручного и автоматизированного тестирования в функциональном контуре
Нагрузочное тестирование работает как отдельный сервис и в эти 100+ не входит.
12
сотрудников во внутренней команде в прямом подчинении
Команды тестирования, автоматизации и релиз-инженеры.
100+
городских веб-проектов и спецпроектов
Прошли через контур качества и промышленного запуска за 4+ года.
50+
специалистов прошли интервью и отбор с моим участием
Найм и отбор за время работы функции.
8
сотрудников выросли до руководящих ролей
Люди, которые внутри функции доросли до управленческих позиций.
Этап 1
Создание инженерной функции качества для mos.ru
В 2016 году основная экспертиза тестирования mos.ru находилась на стороне подрядчика. Внутри ДИТ мы начали формировать собственную функцию качества практически с нуля: команды, процессы, автоматизацию, управление релизами и инженерные практики промышленного запуска.
Контекст
Работа велась внутри государственного заказчика в среде с несколькими продуктовыми командами, техническими зависимостями и подрядными контурами.
Управленческая задача
На первом этапе требовалось построить функцию качества, способную выдерживать промышленную поставку mos.ru. На втором связать развитие портфеля продуктов, подрядчиков, поставку, документацию и приёмку в одном управленческом цикле.
Команды
- до 5 команд тестирования, автоматизации и релиз-инженеров
- 12 сотрудников во внутренней команде в прямом подчинении
- 100+ специалистов ручного и автоматизированного тестирования в функциональном контуре
- 7 лидов ручного тестирования и 2 лида автоматизации
Люди и развитие
- Индивидуальные планы развития и регулярные one-to-one
- Матрица компетенций и обучение
- 50+ специалистов прошли интервью и отбор
- 8 сотрудников выросли до руководящих ролей
Инженерная база
- Ручное тестирование и автоматизация
- Нагрузочное тестирование как отдельный сервис
- Mobile и API
- Контроль готовности релиза
Поставка
- Релиз-инженеры в прямом подчинении
- Выкладка и production-проверки
- Релизная документация
- Контроль готовности перед промышленным запуском
Контроль готовности
Контроль готовности к промышленному запуску
Релиз не получал готовность к промышленному запуску, пока оставались критичные или серьёзные дефекты, влияющие на работоспособность продукта.
Поставка mos.ru
Частота поставки mos.ru
1 релиз в неделюв среднем около 2 релизов в день
Перестройка release flow, автоматизации и развитие внутренней экспертизы поставки позволили команде поддерживать частые промышленные выпуски при управляемом качестве.
- Государственные сервисы mos.ru
- «Вывоз ненужных вещей»
- Реновация
- «Мой район»
- День города
- Ярмарки
- Мосбилет
Качество, автоматизация и мониторинг
Инженерная автоматизация качества
01
PROD-дефекты
−40%
Quality gate, релизный контроль и системный анализ дефектов после выпуска по данным Jira. Эффект был результатом комплексной перестройки тестирования, автоматизации, регресса, обучения, требований и контроля готовности релиза.
- Сравнение существующего уровня дефектов с результатом после перестройки процессов
- Без приписывания эффекта одному конкретному изменению
02
Автоматизация с нуля
Python · Selenium · Jenkins · Allure
Автоматизацию строили с нуля по направлениям web UI, API, mobile, smoke, regression, CI, параллельные запуски и мониторинг пользовательских сценариев.
- Покрытие UI, API и mobile-сценариев
- Smoke, regression и параллельные запуски в CI
- Мониторинг пользовательских сценариев как отдельное направление
03
Мониторинг пользовательских сценариев
30% → 90%
Автоматизированные проверки критичных пользовательских сценариев и контроль доступности сервисов. Основной цикл запускался примерно раз в минуту; при ошибке выполнялась повторная проверка примерно каждые 15 секунд.
- Команда получала сигнал о пользовательской проблеме в первые минуты
- Можно было начать разбор до массового появления обращений
- В отдельных случаях пользовательские проверки сигнализировали о проблеме раньше инфраструктурного мониторинга
04
Нагрузочное тестирование
до 400 тыс. пользователей/час
Нагрузочное тестирование работало как отдельный сервис: внутреннее ядро из двух инженеров и дополнительная экспертиза подрядчика при необходимости. Проверяли mos.ru, API, новые сервисы и крупные спецпроекты. Для проекта Реновации моделировали пиковую нагрузку порядка 400 тыс. пользователей в час на основе статистики посещаемости.
- Это моделируемая пиковая нагрузка в сценариях проекта Реновации, а не производительность платформы
- Стек: JMeter · Yandex.Tank
- Внутреннее ядро направления + ресурс подрядчика при необходимости
05
Мобильное приложение «Моя Москва»
Appium · Android · iOS
Приложение «Моя Москва» создавалось и вводилось в эксплуатацию в период моей работы. В моей зоне ответственности была организация качества: выделенный QA lead, ручное и автоматизированное тестирование, Android/iOS и готовность релизов.
- Выделенный QA lead на проекте
- Автоматизация на Appium
- Платформы Android и iOS
Результаты этапа качества
Что дала перестройка функции качества
1/нед → около 2/день
Частота поставки mos.ru
−40%
PROD-дефекты
30% → 90%
Покрытие мониторингом
8
сотрудников выросли до руководящих ролей
Карьерный переход
От качества к техническому управлению
После нескольких лет руководства функцией качества я перешёл к техническому управлению цифровыми продуктами. Зона ответственности расширилась с QA, автоматизации и релизов до разработки, подрядчиков, технической документации, ПСИ и приёмки.
Параллельно проходил MBA-программу «ИТ-директор» в НИУ ВШЭ, что совпало с расширением моего управленческого фокуса.
Было
команда качества · автоматизация · релизы
Стало
продукт · разработка · подрядчики · поставка · документация · контракты · приёмка
Этап 2
Техническое управление городскими цифровыми продуктами
Ответственность со стороны заказчика за развитие, поставку и приёмку портфеля цифровых сервисов.
Портфель
Портфель городских цифровых продуктов
Портал «Наш город»
Техническое управление поставкой и качеством, взаимодействие с подрядчиком и стабилизация запуска новой версии.
«Активный гражданин»
Техническое сопровождение и согласование документации в зрелой продуктовой команде.
«Город идей»
Планы технического развития, согласование решений, документация, ПСИ и приёмка.
Платформа «Электронный дом»
Техническое развитие, согласование решений, взаимодействие с подрядчиками, ПСИ и приёмка.
Центр автоматизированной фиксации административных правонарушений (ЦАФАП)
Техническое сопровождение, согласование решений и документации, ПСИ и приёмка.
Мини-кейс
«Наш город»: стабилизация проблемного проекта
Исходная ситуация
До передачи проекта в мою зону ответственности новая версия «Нашего города» более года не могла выйти в промышленную эксплуатацию.
Что изменили
Мы усилили управление поставкой, переработали процессы тестирования и автоматизации и дополнительно направили на проект около 20 специалистов по тестированию.
Результат
После стабилизации процессов новая версия была доведена до промышленного запуска, а поставка вернулась в управляемый график.
Поставщики и приёмка
Управление подрядчиками и технической поставкой
Подрядчики и поставка
- Ситуация
- Одновременно велись несколько подрядных потоков с разными командами, зонами ответственности и обязательствами по поставке.
- Изменение
- Технические синки, постановка задач, контроль сроков и реализации, демо, проверка результата, анализ оценок, аудит, техническая документация и привлечение внутренних архитекторов и экспертов.
- Эффект
- Поставка подрядчиков связывалась с готовностью результата и условиями приёмки.
Контроль качества поставки
- Ситуация
- Ответственность не заканчивалась постановкой задачи подрядчику. Результат проходил техническую проверку, ПСИ, документирование и формальную приёмку.
- Изменение
- Анализ оценок, аудит, согласование технической документации и решений с внутренними архитекторами и экспертами, ПСИ и приёмка по согласованному набору документов и актов.
- Эффект
- Контроль технической поставки и приёмки портфеля городских сервисов выстроен системно.
Второй этап
Масштаб технического управления
5
цифровых продуктов в портфеле
«Наш город», «Активный гражданин», «Город идей», «Электронный дом» и ЦАФАП.
до 5
подрядчиков одновременно
Команды подрядчиков суммарно около 150 специалистов.
около 150
специалистов в командах подрядчиков
Без прямого подчинения. Управление через технические синки, задачи и приёмку.
Новая версия
«Наш город» запущен после стабилизации проекта
Длительно проблемный продукт взят под контроль и доведён до промышленного запуска.
Технологии
Технический контекст
- Python
- Selenium
- Jenkins
- Allure
- Appium
- JMeter
- Yandex.Tank
- API
- CI/CD
- Управление релизами
- ПСИ
- Roadmap
Ссылки