Руководитель разработки в CSI. Автор книги «Разработка программного обеспечения».
7–10 команд · до 100 специалистов · Санкт-Петербург
Работаю с несколькими инженерными командами как с одной системой — с их зависимостями, ответственностью, процессами, данными и технологическим контекстом.
Особенно интересны ситуации, когда все заняты и процессы существуют, но результат не соответствует усилиям и непонятно, где находится настоящая причина.
Когда становится интересно разбираться
Не всякая проблема разработки находится там, где её сначала замечают
Симптом может быть виден в сроках, производительности команды или качестве процесса. Причина при этом может находиться в структуре зависимостей, границах ответственности, способе формирования работы или самой модели поставки продукта.
Результат не соответствует усилиям
Несколько команд работают, процессы существуют, люди заняты — но общий результат не растёт так, как ожидается. В такой ситуации добавлять ещё один процесс обычно рано: сначала нужно понять, где находится ограничение.
Предстоит серьёзное изменение
Меняется структура, система метрик, способ поставки или сам подход к разработке. До запуска полезно проверить, действительно ли изменение затрагивает ту часть системы, в которой находится проблема.
Изменение уже буксует
Работа идёт несколько месяцев, действий много, а ожидаемого эффекта нет. Тогда вопрос часто не в том, как сильнее протолкнуть внедрение, а в том, верна ли исходная гипотеза.
Подход
Не начинать с решения
Сначала разобрать систему и отделить наблюдения от предположений.
Понять, что реально ограничивает результат, и проверить альтернативные объяснения.
Только после этого решать, что менять: процесс, структуру, ответственность, метрики, технологический подход — или сам способ организации работы.
Решение для меня не заканчивается выводом: его нужно довести до первых изменений и посмотреть, выдерживает ли гипотеза проверку реальностью.
Инженерная система
Что я обычно пытаюсь увидеть
Не «идеальную организацию» и не одну универсальную метрику. Скорее устройство конкретной системы и связи между её частями.
01
Результат
Что именно должна производить разработка и как выглядит результат для бизнеса и продукта.
02
Границы команд
Как разделена работа, где возникают зависимости и какие локальные оптимизации мешают системе целиком.
03
Ответственность
Где находятся полномочия, решения и ручные компенсации плохой конструкции.
04
Поток работы
Как задача проходит от идеи до production и где на этом пути возникают задержки, возвраты и потери контекста.
05
Данные и метрики
Что видит руководство, какие выводы из этого делает и не создают ли показатели ложное ощущение контроля.
06
Связи с продуктом и бизнесом
Что происходит на границах engineering, продукта и бизнеса и как эти взаимодействия влияют на общий результат.
Примеры из практики
Иногда правильное изменение — это другая схема работы
Ниже не «консалтинговые кейсы», а несколько примеров из моей текущей управленческой практики. Они лучше всего показывают тип задач, который мне интересен.
Изменение модели поставки
Когда ускорять DevOps оказалось не главным решением
Новых DevOps брать нельзя, а существующая команда участвует в установке продукта у клиентов. Вместо попытки просто ускорить эту команду была изменена сама схема поставки: продукт стал передаваться в воспроизводимом виде, чтобы клиент мог выполнить установку самостоятельно. Ограничение снималось не локальной оптимизацией, а изменением конструкции работы.
AI и способ создания продукта
Не «ещё один инструмент разработчика», а изменение процесса
В работе с AI мне интереснее не выдача очередного помощника программисту, а более широкий вопрос: как AI может участвовать в создании продукта, проверять противоречия, помогать удерживать контекст и менять сам способ производства software. Здесь технология важна только вместе с изменением процесса и ролей.
Запуск новой схемы работы
Сначала спроектировать способ работы, потом масштабировать исполнение
При подготовке одного из запусков задача была не только в том, чтобы «успеть к дате», а в том, чтобы заранее собрать понятную схему взаимодействия и убрать неопределённость между участниками. Запуск, вероятно, состоялся бы и без этого, но позже, с большим количеством ручного разруливания и менее устойчивой организацией работы.
Сейчас
Руководитель разработки в CSI
7–10 инженерных команд. До 100 специалистов.
Уровень работы
Несколько команд и инженерное направление, а не отдельная команда как самостоятельная система.
Фокус
Диагностика сложных проблем, устройство взаимодействия команд, процессы, организационные изменения и новые способы работы.
Путь
От технических задач — к устройству разработки целиком
Техническая база помогает не отделять управление от того, как software действительно проектируется, собирается, поставляется и поддерживается. Со временем основной масштаб работы сместился от отдельных технических решений к системе нескольких команд.
РазработкаБазы данныхКачествоПроцессыМетрикиНесколько командОрганизационные изменения
Практическое руководство для новичков в IT-команде.
Книга выросла из попытки собрать в одну понятную систему то, что новичку обычно приходится узнавать фрагментами: роли, процессы, взаимодействие людей и путь работы от идеи до результата.
Для меня это отдельный профессиональный артефакт — не «книга про management», а способ структурировать практический опыт разработки для тех, кто только входит в профессию.