Когнитивный сдвиг целей — это ситуация, когда во время выполнения задачи разработчик незаметно для себя переключается на другую цель. Эта новая цель может быть более интересной, технически увлекательной или просто казаться “логичным следующим шагом”. В результате основная задача остаётся незавершённой или сильно затягивается.

Это похоже на то, как если бы вы пошли почистить зубы — и оказались через час в кладовке, сортируя коробки.

Как проявляется

  • Вместо реализации конкретной фичи — переписывается вся архитектура модуля.
  • Вместо настройки CI/CD — начинается написание собственного GitHub Actions runner’а.
  • Вместо настройки логирования — внедряется собственная обёртка над OpenTelemetry.

Пример

Задача: настроить аутентификацию через OAuth в веб-приложении.

Что происходит:
Разработчик начинает с настройки OAuth, но сталкивается с неудобным API у выбранной библиотеки. Решает написать обёртку. Потом обнаруживает дублирование в middleware и делает рефакторинг. Вместо настройки OAuth увлекается улучшением всей логики авторизации, хотя это не планировалось изначально. Через два дня задача с OAuth всё ещё не завершена, хотя в коммите уже 27 файлов.

Почему это опасно

  • Нарушает сроки.
  • Деморализует — ощущение “много сделал, но ничего не готово”.
  • Вызывает недопонимание в команде — ожидали одно, получили другое.
  • Затрудняет поддержку — побочные изменения могут повлиять на остальной код.

Как распознать

  • Объём задачи сильно вырос по сравнению с исходным планом.
  • Вы работаете над чем-то, что не упоминалось в оригинальном описании.
  • Трудно ответить: “Что я хотел закончить сегодня?”

Как избегать

  • Фиксируй цель задачи в одном предложении. Пример: “Добавить кнопку входа через Google”.
  • Выпиши идеи и улучшения в отдельный backlog. Потом — приоритизируй.
  • Регулярно проверяй: я всё ещё решаю изначальную задачу?
  • Ограничивай время на побочные исследования. Например: “Не больше 30 минут на выбор библиотеки”.
  • Обсуждай с коллегами. Это помогает заземлиться и не унести задачу в космос.

Заключение

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