Инженерная стратегия

Как написать стратегию, которая работает

Большинство письменных стратегий не работают, потому что описывают идеальное будущее, а не путь от текущих проблем к желаемому состоянию. Настоящая стратегия — это не видение, а диагноз проблем и согласованные действия для их решения.

Статья основана на материале Will Larson (lethain.com), автора книг "Staff Engineer" и "An Elegant Puzzle".

Три части стратегии

Если вас раздражает отсутствие инженерной стратегии в компании — она есть. Ваша стратегия — это то, как вы справляетесь с текущими проблемами. Вопрос в том, записана ли она и согласована ли между командами.

Эффективная стратегия состоит из трёх частей:

Часть Описание Пример
Диагностика Теория, описывающая природу проблемы Стабильность тестов снизилась на 40%, каждая третья сборка падает
Руководящие принципы Подходы к решению с явными компромиссами Соотношение 4:1 продуктовых инженеров к платформенным
Согласованные действия Конкретные действия, продиктованные принципами 10% времени команд на улучшение стабильности тестов
Ключевой инсайт: Стратегия имеет смысл только если она приводит к согласованным действиям. Красивые принципы без конкретных действий остаются декларацией о намерениях.

Процесс написания

Написание инженерной стратегии похоже на работу историка: посмотрите на то, как всё уже работает, запишите это и поделитесь записями.

Шаги

  1. Напишите это сами. Не делегируйте. Процесс написания — это процесс понимания.
  2. Определите стейкхолдеров. С кем нужно согласовать стратегию? Из них выберите 3-5 человек для ранней обратной связи.
  3. Напишите диагностику. Используйте:
    • Текущую дорожную карту
    • Конкурентное давление
    • Финансовый план
    • Опросы о культуре и продуктивности
    • Проблемы из 1:1 и командных встреч
  4. Напишите руководящие принципы. Ответьте на ключевые вопросы (см. ниже).
  5. Поделитесь с полным списком стейкхолдеров. Получите feedback.
  6. Напишите согласованные действия. Конкретные шаги для реализации.
  7. Проведите 1:1 с потенциальными критиками. Найдите людей, которые скорее всего будут недовольны, и обсудите с ними заранее.
  8. Опубликуйте и запланируйте Q&A. Дайте время на feedback и установите дату для оценки результатов (через 2 месяца).

Когда писать стратегию

Ответьте "да" на три вопроса:

Что делать, если нет бизнес-стратегии?

Сфокусируйтесь на неинженерных стратегиях, важных для инженерного отдела, и задокументируйте их самостоятельно, согласовав со стейкхолдером. Не делитесь этим черновиком широко, чтобы не подрывать авторитет.

Полезные вопросы для проработки:

Структурирование руководящих принципов

Ответьте на три ключевых вопроса:

1. Каковы приоритеты распределения ресурсов?

Пример: Мы поддерживаем соотношение 4 продуктовых инженера на 1 платформенного (безопасность, надежность, инфраструктура, DevEx). Дополнительно выделяем 10 инженеров на MFA и 10 на миграцию JS → TypeScript.

2. Какие правила обязательны для всех команд?

Пример: Вся разработка использует стандартный стек (Go для backend, TypeScript для frontend, Aurora PostgreSQL). Исключения требуют одобрения Tech Spec Review и CTO.

3. Как принимаются решения?

Пример: Технические отклонения от стандартов — через Tech Spec Review. Оргструктура и найм — через CTO. Остальное — командами, ближайшими к решению. Эскалация через процесс эскалации.

Проверка принципов

Каждый принцип должен быть:

Согласованные действия

Действия должны отвечать на вопросы:

Обеспечение соблюдения

Как будут поддерживаться правила?

Пример: Tech Spec Review проходит еженедельно и рассматривает запросы на исключения из стандартного стека.

Эскалации

Как оспаривать принцип, если он не работает?

Пример: Эскалация через цепочку технического или управленческого подчинения. Эскалации — это нормально, не враждебно.

Переходы

Как переходить от текущего состояния к новому?

Пример: Сворачиваем миграцию на микросервисы, возвращаемся к монолиту. Структура команд не меняется, но приоритеты пересматриваются.

Полный пример стратегии

Диагностика

Руководящие принципы

Принцип Обоснование
Соотношение 4:1 продуктовых к платформенным Работает уже несколько лет. В следующей итерации добавим соотношения для security и data.
45% на B2B, 35% потребители, 10% эксперименты, 10% DevEx Перераспределяем 20% в сторону B2B из-за роста. 10% на DevEx — для стабильности тестов.
Нулевой денежный поток Избегаем найма. При конфликте с vendor-решениями — эскалация на CTO.
Стандартный стек или эскалация на Tech Review Максимизируем инвестиции в DevEx, упрощаем переходы между командами, compliance.
Быстрая эскалация при неясности Эскалации — это нормально. Медленные эскалации — наша проблема, не процесса.
Анонсы в #tech-updates и #shipped Уменьшаем неожиданности от технических решений других команд.

Согласованные действия

Финальный шаг: Q&A на инженерном all-hands + канал #eng-ask-anything для вопросов. Ревью через 2 месяца.

Резюме

Ключевые принципы: