Перейти к основному контенту
Tech Path Finder
КурсыИнтервьюКод-ревьюБлог
Tech Path Finder

Персонализированный путеводитель в IT. Квизы, мок-интервью, код ревью и аналитика прогресса.

@potapov_me

Платформа

  • Курсы
  • Прогресс
  • Мок-интервью
  • Код ревью
  • Живое ревью с ИИ
  • Тренажёр переговоров
  • Закладки

Контент

  • Блог
  • Главная
  • Обратная связь

Компания

  • О проекте
  • Тарифы
  • Условия использования
  • Конфиденциальность
  • Согласие на обработку данных
  • Cookie
  • Реквизиты

Аккаунт

  • Войти
  • Зарегистрироваться
  • Профиль

© 2026 Tech Path Finder. Все права защищены.

·ИП Потапов К.С.·Политика конфиденциальности·
Сделано с ❤️ в России
  1. Стратегия
strategy

Стратегия

Техническая стратегия, дорожная карта, архитектурные решения, управление техническим долгом

Учебник: Техническая стратегия

Время освоения: ~40 минут Цель: Научиться создавать и реализовывать техническую стратегию, которая связывает бизнес-цели с инженерными решениями и позволяет команде двигаться осознанно


#Быстрый справочник

#Компоненты технической стратегии

КомпонентЧто включаетГоризонт
ПринципыЦенности и правила принятия решенийПостоянно
ВидениеКуда движется архитектура через 2–3 года2–3 года
Дорожная картаКонкретные инициативы и приоритеты6–18 месяцев
ADRДокументация архитектурных решенийПо мере принятия решений
Risk RegisterРеестр технических рисковКвартально

#Горизонты планирования

ГоризонтПериодЧто планироватьДетализация
Now0–3 месяцаТекущий квартал, sprint backlogВысокая
Next3–6 месяцевСледующий квартал, крупные инициативыСредняя
Later6–18 месяцевСтратегические направленияНизкая

#Шаблон стратегического документа

## Контекст
Где мы сейчас, какие проблемы решаем

## Цели
Что достигнем за горизонт планирования (измеримо)

## Принципы принятия решений
Правила, которыми руководствуемся при trade-off'ах

## Инициативы
Конкретные проекты с приоритетами и ресурсами

## Риски
Что может пойти не так, как реагируем

## Метрики успеха
Как поймём, что стратегия работает

#Введение (5 минут)

Техническая стратегия — это мост между бизнес-целями и инженерными решениями. Без неё команды работают реактивно: тушат пожары, накапливают технический долг, принимают изолированные решения, которые со временем противоречат друг другу.

Почему стратегия нужна:

  • Даёт команде направление: «Почему мы делаем именно это?»
  • Помогает говорить с бизнесом на одном языке
  • Позволяет принимать согласованные решения без согласования каждого из них
  • Предотвращает архитектурный дрейф — когда система эволюционирует без плана

Кто создаёт техническую стратегию: обычно Engineering Manager или Principal Engineer вместе с командой. Стратегия, написанная в одиночку «в башне», не работает — нужен input от людей, которые будут её реализовывать.

💡 Ключевая мысль: Хорошая техническая стратегия — это не 50-страничный документ. Это несколько ясных принципов и приоритетов, которые помогают каждому инженеру принимать правильные решения самостоятельно.


#Технический долг: типология и управление (10 минут)

#Типология технического долга

Не весь технический долг одинаков. Мартин Фаулер предложил матрицу:

НамеренныйНенамеренный
Рассчитанный«Мы знаем лучший подход, но пока нет времени»«Мы не знали лучшего подхода»
Безрассудный«Давайте без дизайна, времени нет»«Что такое слои приложения?»

Рассчитанный намеренный долг — нормальная бизнес-практика. MVP запускают быстро, потом рефакторят. Главное — зафиксировать долг явно.

Устаревший долг — самый опасный: система эволюционировала, а части кода остались в прошлом. Люди, которые их писали, ушли. Документации нет.

Случайный долг — незнание лучших практик. Лечится обучением и код-ревью.

#Управление бэклогом технического долга

  1. Фиксировать явно: каждый элемент техдолга — задача в бэклоге с тегом tech-debt. Невидимый долг не управляется.

  2. Оценивать по влиянию: не всё надо чинить. Приоритизировать по формуле: влияние на скорость × вероятность наступления проблемы.

  3. Правило бойскаута: при касании кода — оставь его чище, чем нашёл. Маленькие улучшения накапливаются.

  4. Выделять % мощности: 15–20% capacity спринта на технический долг. Без явного выделения его не будет — всегда найдётся «более срочное».

  5. Debt ceiling: если долг превышает порог (например, 30% задач в бэклоге — tech-debt), объявить «debt sprint» только для рефакторинга.


#Техническая дорожная карта (10 минут)

#Горизонты: Now / Next / Later

Трёхгоризонтная модель помогает управлять неопределённостью:

Now (0–3 месяца): детальный план. Конкретные задачи, ответственные, сроки. Здесь работает sprint planning.

Next (3–6 месяцев): понятные направления с умеренной детализацией. «В Q3 мигрируем на PostgreSQL» — без разбивки на спринты.

Later (6–18 месяцев): стратегические ставки с низкой детализацией. «К концу года перейдём на микросервисы» — без жёстких сроков.

Не пытайтесь детализировать горизонт Later так же, как Now — это ложная уверенность.

#Alignment с продуктом

Техническая дорожная карта должна быть синхронизирована с продуктовой. Инструменты:

  • Совместное квартальное планирование: инженеры и продакт вместе
  • Dependency mapping: какие технические работы блокируют какие продуктовые фичи
  • Capacity allocation: явное выделение % мощности между product/tech/debt

#Принципы приоритизации

При выборе между инициативами задай три вопроса:

  1. Ценность: насколько это важно для бизнеса или пользователей?
  2. Риск: что происходит, если не делаем?
  3. Усилие: сколько ресурсов требует?

Приоритет = Ценность × Риск / Усилие


#Архитектурные решения (5 минут)

#ADR — Architecture Decision Records

ADR — лёгкий формат документации архитектурных решений. Решает проблему «мы не помним, почему так сделали».

Структура ADR:

# ADR-001: Использование PostgreSQL вместо MongoDB

## Статус: Принято

## Контекст
Нам нужна база данных для хранения заказов. Рассматриваем PostgreSQL и MongoDB.

## Решение
Выбираем PostgreSQL.

## Обоснование
- Структурированные данные с жёсткими связями → реляционная модель подходит лучше
- Команда знает SQL, нет эксперта по MongoDB
- Транзакционность критична для финансовых операций

## Последствия
+ Привычный стек, быстрый старт
- Горизонтальное масштабирование сложнее, если понадобится

#Когда нужна формальная документация ADR

  • Решение затрагивает несколько команд
  • Решение сложно или дорого обратить (выбор базы, языка, фреймворка)
  • Решение нарушает устоявшиеся паттерны команды
  • Есть несогласие внутри команды

#Architectural Fitness Functions

Фитнес-функции — автоматические проверки архитектурных ограничений. Примеры:

  • Тест, который проверяет, что сервис X не импортирует модули из сервиса Y
  • Alert, если время ответа API превышает 200ms
  • Pipeline-check, что coverage не падает ниже 80%

Это «исполняемая архитектура»: архитектурные принципы проверяются автоматически, а не на словах.


#Alignment с бизнесом (5 минут)

#Перевод бизнес-целей в технические

Инженеры говорят о микросервисах, бизнес — о росте выручки. Тимлид должен уметь переводить:

Бизнес-цельТехническая инициатива
Выйти на новый рынок за 3 месяцаСделать систему мультитенантной
Снизить стоимость операций на 30%Автоматизировать ручные процессы
Уменьшить время онбординга клиентовУлучшить API интеграций
Обеспечить 99.9% SLAВнедрить circuit breakers, redundancy

#OKR для инженерии

Objective and Key Results помогают сделать технические цели измеримыми:

Objective: Повысить надёжность платформы
KR1: MTTR < 1 часа (сейчас: 4 часа)
KR2: Change Failure Rate < 5% (сейчас: 12%)
KR3: 99.9% uptime (сейчас: 99.5%)

Хороший инженерный OKR: амбициозен, измерим, привязан к бизнес-ценности.


#Управление рисками (5 минут)

#Типы технических рисков

  • Операционные: система упадёт или будет работать медленно
  • Архитектурные: дизайн не масштабируется или создаёт жёсткие связи
  • Командные: key person dependency, отсутствие документации
  • Внешние: зависимость от third-party сервиса, который может стать недоступен
  • Безопасность: уязвимости, утечки данных

#Risk Register

Реестр рисков — простая таблица для управления:

РискВероятностьВлияниеScoreВладелецМитигация
Падение базы данныхСредняяКритическоеВысокийDevOps leadRead replicas, backups
Уход key developerНизкаяВысокоеСреднийEMДокументация, парное программирование

Score = Вероятность × Влияние

#Mitigation vs Contingency

  • Mitigation (предотвращение): действия до того, как риск материализовался. «Добавим мониторинг и алерты»
  • Contingency (реагирование): план на случай, если риск всё-таки случился. «Если база упала: failover на replica, runbook в Confluence»

Оба нужны. Только mitigation — наивность. Только contingency — отказ от профилактики.


#Типичные ошибки

ОшибкаПочему это плохоКак исправить
Стратегия написана тимлидом в одиночкуКоманда не понимает и не принимает стратегию, реализация страдаетВключать команду в разработку: workshop, ретро, brainstorm
Технический долг не документируетсяНевидимый долг накапливается, потом взрывается кризисомКаждый элемент долга — задача в бэклоге с тегом tech-debt
Дорожная карта детализирована на 2 года вперёдЛожная уверенность, документ устаревает быстрее, чем обновляетсяNow детально, Next средне, Later направление без дат
Архитектурные решения не документируются«Почему мы так сделали» — никто не помнит, решения повторяютсяВвести ADR: 1 страница на каждое значимое решение
Техническая стратегия не связана с бизнес-целямиИнженеры работают «в вакууме», бизнес не видит ценностиКаждая инициатива должна иметь бизнес-обоснование
Риски не отслеживаютсяРиски материализуются как «внезапные» кризисыВести risk register и пересматривать его ежеквартально

#Практические упражнения

#Упражнение 1: Технический долг-аудит (15 минут)

Проведи инвентаризацию технического долга в своей команде:

  1. Попроси каждого члена команды назвать 3 вещи, которые «давно надо переписать»
  2. Создай таблицу: описание, влияние на скорость (1–5), вероятность проблемы (1–5), оценка усилий
  3. Посчитай score = влияние × вероятность / усилие
  4. Топ-3 по score — это первые кандидаты для tech-debt бэклога
  5. Договорись о % capacity для работы с долгом

#Упражнение 2: Первый ADR (10 минут)

Вспомни архитектурное решение, принятое за последние 6 месяцев (выбор инструмента, паттерна, подхода):

  1. Напиши ADR по шаблону: контекст, решение, обоснование, последствия
  2. Опубликуй в общем репозитории (docs/, Confluence, Notion)
  3. Договорись с командой: следующее значимое решение — сначала ADR, потом реализация

Далее: Метрики