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

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

@potapov_me

Платформа

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

Контент

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

Компания

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

Аккаунт

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

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

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

Управление изменениями

Модели Коттера и ADKAR, работа со скептиками, постепенное vs радикальное изменение, измерение принятия

Управление изменениями

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


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


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

  • Люди сопротивляются не изменению, а потере — компетентности, статуса, предсказуемости
  • Модель Коттера: 8 шагов, самые частые провалы на шагах 1 и 8
  • ADKAR диагностирует, где именно застряло изменение: знание, желание, умение или закрепление
  • Скептики бывают трёх типов — каждый требует отдельной стратегии
  • Early adopters — ваш главный ресурс: используйте их как агентов изменений
  • Gradualism работает для культуры и инструментов; Big Bang — для безопасности и compliance
  • Измеряйте adoption: активное использование, error rates, обращения в поддержку

#1. Почему люди сопротивляются изменениям

Сопротивление изменениям — не слабость характера и не злой умысел. Это нормальная нейробиологическая реакция.

#Loss aversion: потеря бьёт сильнее выгоды

Нобелевский лауреат Даниэль Канеман описал феномен: потеря ощущается примерно в два раза сильнее, чем эквивалентная выгода. Вы говорите разработчику: «Переходим на новый фреймворк — будет быстрее». Он слышит: «Твой накопленный опыт, твои горячие клавиши, твои любимые паттерны — всё это теряет ценность». Интеллектуально он понимает, что выгода есть. Эмоционально — ощущает угрозу.

#Status threat: угроза компетентности

У инженера с пятилетним опытом в определённом стеке есть статус — его уважают за экспертизу, к нему приходят с вопросами, его решения принимаются. Если команда переходит на новую технологию, этот статус обнуляется: завтра Junior, который уже изучил новый инструмент, будет знать больше него. Переход на новый процесс также несёт скрытый вопрос: «Значит, то, как мы делали раньше, было неправильно? Значит, я делал неправильно?»

Лидеры часто недооценивают этот момент. Правильный фрейм: «Мы делали правильно для тех условий. Условия изменились — меняемся и мы».

#Неопределённость активирует угрозу-ответ

Мозг воспринимает неопределённость как угрозу по умолчанию. Когда людям говорят «скоро будут изменения, детали расскажем позже», они автоматически заполняют пробел худшими сценариями. Молчание лидера интерпретируется не как «всё хорошо», а как «скрывают что-то плохое».

#Инженеры — особый случай

Разработчики по природе своей профессии скептичны и data-driven. «Покажи мне данные, что это лучше» — не саботаж, а профессиональная позиция. Попытка продавить изменение авторитетом («я решил, делаем так») без аргументов вызывает особо сильное сопротивление именно в инженерных командах.

Что работает с инженерами:

  • Данные и факты, а не «так делают крутые компании»
  • Признание trade-offs: что мы теряем, переходя на новое
  • Участие в обсуждении решения (ownership)
  • Прозрачность о том, что ещё не известно

#2. Модель Коттера: 8 шагов изменений

Джон Коттер, профессор Harvard Business School, изучил сотни программ изменений и вывел 8 шагов, пропуск любого из которых резко снижает шансы на успех.

#Шаг 1: Создать чувство срочности

Изменение не начнётся, пока достаточное количество людей не почувствует, что статус-кво опасен или неприемлем.

Частая ошибка: Лидер чувствует срочность сам, но не создаёт её у команды. Объявляет решение («переходим на CI/CD»), не объяснив, почему сейчас это критично.

Для инженерных команд: Используйте конкретные данные. «За последний квартал 30% релизов потребовали хотфиксов в первые 24 часа. Три из них — критические. CI/CD снизит этот показатель» — это срочность. «Надо бы автоматизировать деплой» — это нет.

#Шаг 2: Собрать коалицию лидеров

Одного тимлида недостаточно. Нужна группа людей с авторитетом и влиянием, которые поддерживают изменение.

Для внедрения code review: Найдите 2-3 Senior Engineers, которые видят ценность. Они будут отвечать на скептические вопросы коллег убедительнее, чем менеджер — потому что говорят с той же позиции.

#Шаг 3: Сформулировать видение и стратегию

Видение должно быть достаточно простым, чтобы его можно было объяснить за 5 минут. Если не можете — оно ещё не готово.

Для внедрения новых процессов: «Через полгода каждый PR проходит ревью минимум одного Senior, у нас есть автоматический прогон тестов, и время от коммита до деплоя в стейджинг — менее 15 минут» — это видение.

#Шаг 4: Коммуницировать видение

Коттер подчёркивает: большинство лидеров недооценивают, сколько коммуникации нужно. В десять раз больше, чем кажется достаточным.

Ключевой принцип: действия говорят громче слов. Если вы объявляете, что code review — приоритет, а сами мёрджите без ревью «потому что горит» — команда берёт сигнал от действия, не от слова.

#Шаг 5: Устранить препятствия

Люди хотят измениться, но что-то мешает. Это может быть: нет времени (все заняты feature-задачами), нет инструментов, нет знаний, нет полномочий.

Задача лидера на этом шаге: активно искать и устранять барьеры, а не ждать, что люди преодолеют их сами. «У нас нет времени на ревью» — это сигнал, что нужно переоценить WIP, а не призывать стараться больше.

#Шаг 6: Создавать быстрые победы (Quick Wins)

Долгосрочные изменения теряют импульс без промежуточных результатов. Людям нужны доказательства, что изменение работает.

Пример: Внедряете code review — через месяц покажите: «Ревью поймало 12 потенциальных проблем до мерджа, включая одну, которая бы привела к потере данных». Это топливо для продолжения.

#Шаг 7: Закрепить результаты и продолжать

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

#Шаг 8: Укоренить изменение в культуре

Изменение должно войти в ДНК команды: в найм («мы ищем людей, которые ценят code review»), в онбординг, в ретроспективы, в описание процессов.

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


#3. ADKAR-модель

ADKAR (Prosci) — прагматичная модель для диагностики изменений. Она описывает 5 состояний, через которые должен пройти каждый человек, чтобы изменение состоялось.

#Awareness — Осознанность

Знает ли человек, зачем нужно изменение?

Не «слышал об этом», а понимает причины и контекст. Если Awareness отсутствует, человек не чувствует потребности меняться.

Диагностика: Спросите разработчика: «Как ты понимаешь, зачем мы вводим обязательный code review?» Если ответ размытый или неточный — Awareness не сформирован.

#Desire — Желание

Хочет ли человек участвовать в изменении?

Awareness есть, но человек говорит: «Да, понимаю зачем, но мне это не нужно / я не согласен». Это Desire-проблема.

Важно: Desire нельзя создать приказом. Его создают через вовлечение в принятие решений, через демонстрацию личной выгоды, через устранение страхов.

#Knowledge — Знание

Знает ли человек, как делать по-новому?

Многие лидеры переходят сразу от Awareness к требованиям, пропуская Knowledge. «Внедряем TDD» — хорошо. А кто-то объяснил команде, как это делается на практике в вашем конкретном стеке?

#Ability — Способность

Может ли человек применить знание на практике?

Знание и способность — разные вещи. Разработчик посетил воркшоп по code review (Knowledge). Но первые реальные ревью даются с трудом: непонятно, как давать обратную связь конструктивно, сколько времени тратить, что комментировать. Это Ability-проблема. Решается практикой с поддержкой, не лекциями.

#Reinforcement — Закрепление

Поддерживается ли изменение системой?

Если новое поведение не поощряется и не требуется — люди постепенно возвращаются к старому. Reinforcement создаётся через: признание («отличное ревью, поймал важный баг»), встроенность в процессы (нельзя смёрджить без ревью технически), регулярное обсуждение на ретроспективах.

#Как использовать ADKAR для диагностики

Если изменение «не идёт», пройдите по каждому компоненту последовательно. ADKAR — каскадная модель: нельзя прыгнуть через этап. Если проблема в Desire, добавление Knowledge ничего не исправит.

СимптомВероятная проблема в ADKAR
«Зачем вообще это нужно?»Awareness
«Понимаю зачем, но не хочу»Desire
«Хочу, но не знаю как»Knowledge
«Знаю как, но на практике не получается»Ability
«Делали, но постепенно забросили»Reinforcement

#4. Работа со скептиками

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

#Три типа скептиков

Тип 1: «Не верю, что нужно»

Сигналы: «У нас и так всё работает», «Это решает проблему, которой нет», «Мы уже пробовали что-то похожее — не взлетело».

Стратегия: Работайте с Awareness. Покажите данные, которые создают неудобство со статус-кво. Признайте, что предыдущий опыт был неудачным — и объясните, чем этот раз отличается. Не спорьте; задавайте вопросы: «Что убедило бы тебя, что проблема реальна?»

Тип 2: «Не верю, что получится»

Сигналы: «Хорошая идея, но у нас это не сработает», «Команда к этому не готова», «Слишком сложно, не хватит ресурсов».

Стратегия: Это Desire или Knowledge-проблема, замаскированная под скептицизм. Спросите: «Что конкретно, по-твоему, пойдёт не так?» Разберите каждое опасение. Предложите пилот на ограниченном объёме: «Давай попробуем с одной командой на один спринт».

Тип 3: «Боюсь потерять»

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

Стратегия: Это самый сложный тип — страх потери редко признаётся вслух. Создайте условия для честного разговора: «Слушай, я хочу понять, что тебя беспокоит по-настоящему. Мне важно, чтобы переход был нормальным для всех, включая тебя».

#Early adopters как агенты изменений

Не каждый человек одинаково легко принимает новое. Диффузия инноваций (Everett Rogers) описывает кривую: сначала инноваторы и ранние последователи (early adopters), затем большинство, затем консерваторы.

Тактика: Не пытайтесь убедить всех одновременно. Найдите 1-2 early adopters — людей с авторитетом в команде, которые видят ценность изменения. Поддержите их, дайте ресурсы, сделайте их успех видимым. Остальные будут наблюдать за тем, что происходит с первыми.

Early adopter в инженерной команде убеждает коллег принять изменение в несколько раз эффективнее, чем менеджер, — потому что не воспринимается как «у него нет выбора, он должен продвигать это».

#Toxic skeptics: когда разговор перестаёт быть продуктивным

Есть разница между здоровым скептицизмом и токсичным. Токсичный скептик:

  • Поднимает одни и те же возражения после того, как на них ответили
  • Саботирует изменение скрыто (делает вид, что согласен, но действует иначе)
  • Вербует других против изменения («между нами — это полная чушь»)

Разговор с токсичным скептиком должен быть прямым: «Я слышу твои возражения и отношусь к ним серьёзно. Мы их обсуждали. Решение принято. Что мне нужно от тебя — либо следовать договорённостям, либо открытый разговор о том, что ты не согласен. Тихий саботаж — не вариант».


#5. Gradualism vs Big Bang

Не все изменения вводятся одинаково. Выбор между постепенным и резким внедрением — стратегическое решение.

#Когда постепенно (Gradualism)

Культурные изменения: Психологическая безопасность, открытость к обратной связи, культура code review — это меняется месяцами и годами. Попытка «запустить культуру» за один спринт не работает.

Новые инструменты разработки: Внедрение нового IDE, фреймворка, инструмента мониторинга — людям нужно время на освоение. Резкий переход создаёт продуктивность-яму: короткое время команда работает медленнее, пока не наработает навык.

Ситуации, где риск высок: Если изменение затрагивает production, постепенность снижает риск. Мигрировать 5% трафика на новую архитектуру и наблюдать — лучше, чем переключить всё разом.

#Когда резко (Big Bang)

Security incidents и compliance: «Начиная с понедельника все секреты хранятся только в Vault, никаких переменных в коде» — это не обсуждается постепенно. Здесь Big Bang оправдан.

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

Когда разделение создаёт больше проблем: «Некоторые используют новый процесс, некоторые — старый» — худший вариант. Если изменение требует консистентности всей команды (например, branching strategy), тогда Big Bang.

#Feature flags и dark launches

Техника, которая объединяет плюсы обоих подходов: изменение в коде есть (Big Bang для разработчиков), но для пользователей включается постепенно (Gradualism для adoption).

Для внутренних инструментов: Dark launch — новый инструмент работает параллельно со старым, данные пишутся в оба места. Команда сравнивает результаты. Только после подтверждения — переключение.

#Pilot teams: как выбрать и что делать с результатами

Пилот снижает риск и создаёт данные для аргументации перед остальными.

Как выбрать пилотную команду:

  • Достаточно репрезентативна (не самая исключительная и не самая проблемная)
  • Есть хотя бы один early adopter внутри
  • Тимлид поддерживает изменение
  • Размер позволяет извлечь данные за разумное время

Что делать с результатами:

  • Измеряйте с самого начала (до/после)
  • Собирайте не только количественные данные, но и качественные: что было сложно, что пошло не так
  • Если пилот провалился — это ценная информация, а не катастрофа. Разберитесь почему. Проблема в идее или в реализации?
  • Если успешен — сделайте успех видимым: дайте пилотной команде рассказать об опыте остальным на всей-командной встрече

#6. Измерение принятия изменения

Изменение, которое не измеряется, не управляется. «Кажется, приживается» — не метрика.

#Leading indicators (опережающие сигналы)

Показывают, движетесь ли вы в правильном направлении, раньше чем финальный результат станет виден.

Примеры для внедрения code review:

  • Процент PR, получивших хотя бы один комментарий (не «одобрен без ревью»)
  • Время от открытия PR до первого ревью (снижается — хороший знак)
  • Количество людей, сделавших хотя бы одно ревью за неделю

#Lagging indicators (запаздывающие)

Финальный результат, который изменение должно было произвести.

Примеры:

  • Количество дефектов, найденных в production (должно снизиться)
  • Время на исправление багов (снижается, если ревью ловят проблемы раньше)
  • Субъективная удовлетворённость разработчиков качеством кодовой базы

#Adoption metrics

МетрикаЧто измеряетКак собрать
Active usersКто реально используетЛоги инструмента
Error ratesПроблемы при использованииМониторинг
Support requestsСложность освоенияТикеты, вопросы в чате
Time-to-completeЭффективность нового процессаЛоги, ручные замеры
Regression rateВозврат к старомуРегулярный аудит

#Feedback loops: как собирать честную обратную связь

Люди редко говорят «это не работает» открыто, если боятся, что их услышит автор идеи.

Что работает:

  • Ретроспективы с фокусом на изменение через 4-6 недель после старта
  • Анонимные опросы (1-2 вопроса, не полчаса)
  • 1:1 встречи, где вы явно говорите: «Мне важна честная обратная связь, даже негативная»
  • Observation: смотрите, как люди реально работают, а не как говорят, что работают

Красный флаг: Если все говорят «всё отлично», но метрики плохие — честная обратная связь не поступает. Ищите причину.


#Кейс: Внедрение обязательного code review в команде, где его никогда не было

Контекст: Команда из 8 разработчиков. До этого каждый мёрджил сам. Несколько серьёзных инцидентов в production за год. Новый тимлид решает внедрить обязательное ревью.

Первая реакция (сопротивление):

  • «Это нас замедлит» (самый частый аргумент)
  • «Мы опытные разработчики, нам не нужен надзор» (угроза статусу)
  • «Кто будет ревьюить мой код — у всех свои задачи» (ресурсный аргумент)
  • Один Senior Engineer публично сказал на встрече: «Я за 7 лет написал меньше 5 серьёзных багов, зачем мне это»

Что пошло не так в первой попытке: Тимлид объявил: «С этого спринта все PR должны иметь ревью». Никакого объяснения почему, никаких договорённостей о процессе. Результат — PR висели по 3 дня без ревьюеров, разработчики злились, тимлид злился. Через три недели негласно вернулись к старому.

Что сработало во второй попытке:

  1. Создание срочности через данные: Тимлид собрал данные за год: 7 production-инцидентов, 3 напрямую связаны с отсутствием второй пары глаз. Показал команде. Не как обвинение — как контекст.

  2. Вовлечение команды в дизайн процесса: «Я хочу внедрить code review. Мне важно, чтобы процесс был рабочим. Давайте вместе решим: как это будет устроено, чтобы не стало болью». Команда сама выработала правила: ревью в течение 24 часов, максимум 2 ревьюера, что обязательно проверять, а что — по желанию.

  3. Early adopter: Один из Senior Engineers (не тот, который возражал публично) видел ценность. Тимлид поговорил с ним заранее, сделал его первым ревьюером. Он показывал, как давать конструктивную обратную связь.

  4. Pilot sprint: Первые 2 недели — добровольно. Те, кто хотел, пробовали. Результаты обсуждались публично.

  5. Quick win: На третьей неделе ревью поймало потенциальную уязвимость в коде авторизации. Тимлид обратил на это внимание всей команды: «Вот что ревью даёт».

  6. Работа с главным скептиком: После успешного пилота тимлид поговорил с Senior Engineer, который возражал. Не чтобы переубедить — чтобы услышать. Оказалось, его главный страх был: «мой код будут судить публично». Договорились: первые его ревью видит только один конкретный человек, не вся команда.

Метрики через три месяца:

  • 100% PR проходят ревью (было 0%)
  • Среднее время ревью: 4 часа (цель была 24 — перевыполнили)
  • Production-инциденты за квартал: 1 (было 7 за год)
  • NPS внутри команды по процессу: +40 (через 3 месяца люди сами говорили, что это полезно)

Ключевой вывод: Первая попытка провалилась, потому что тимлид пропустил шаги 1-4 по Коттеру и компоненты A и D в ADKAR. Вторая сработала, потому что изменение началось с вовлечения, а не с приказа.


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

ОшибкаПочему плохоКак правильно
Объявить изменение и забытьБез постоянной поддержки люди возвращаются к привычному — сила привычки сильнее разовых объявленийСоздать систему Reinforcement: напоминания, ретроспективы, метрики — изменение должно жить в процессах
Игнорировать скептиковСкептики не молчат — они вербуют команду против изменения, пока лидер делает вид, что не замечаетРаботать со скептиками активно: выяснить тип, ответить на реальный страх, а не на декларируемое возражение
Двигаться слишком быстроЛюди не успевают адаптироваться → нарастает тревога → пассивный саботаж → изменение проваливаетсяОриентироваться на скорость команды, а не на идеальный план; пилоты дают темп
Нет quick winsЧерез 2-3 месяца без видимых результатов люди теряют веру и мотивацию продолжатьНамеренно искать и визуализировать ранние победы, даже небольшие; «ревью поймало баг» — win
Менять слишком много одновременноКогнитивная нагрузка — люди не знают, на что фокусироваться; изменения конкурируют за вниманиеМаксимум 1-2 значимых изменения параллельно; приоритизировать и секвенировать
Не измерять принятиеБез данных не знаете, работает ли изменение или вам только кажется, что работаетОпределить leading и lagging indicators до старта; проверять еженедельно в первые месяцы

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

#Упражнение 1: ADKAR-аудит текущего изменения

Возьмите любое изменение, которое сейчас идёт в вашей команде или буксует. Для каждого члена команды оцените по шкале 1-5, насколько сформирован каждый компонент ADKAR.

  1. Заполните таблицу: имя / A / D / K / A / R
  2. Найдите паттерн: где самый низкий балл?
  3. Сформулируйте один конкретный шаг для работы с самым слабым компонентом у самого влиятельного скептика

Цель: Превратить «изменение не идёт» в «у конкретных людей проблема в конкретном компоненте — вот что делать».

#Упражнение 2: Карта коалиции

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

  1. Для каждого скептика определите тип (не верит в нужность / не верит в возможность / боится потерять)
  2. Для каждого сторонника оцените: насколько он авторитетен в команде?
  3. Определите двух человек, на которых стоит потратить наибольшее время на следующей неделе

Цель: Работать стратегически — не пытаться убедить всех сразу, а выстраивать коалицию от наиболее влиятельных к остальным.

#Упражнение 3: Пост-мортем провалившегося изменения

Вспомните изменение, которое не взлетело (у вас или в командах, о которых вы знаете).

  1. Пройдите по 8 шагам Коттера: какие были пропущены?
  2. Пройдите по ADKAR: где застряло большинство людей?
  3. Определите: это была проблема идеи или проблема реализации?

Цель: Отделить «плохая идея» от «хорошая идея, плохо реализованная» — и не повторять ошибок реализации с хорошими идеями.

Далее: Код-ревью