Хабрахабр

[Перевод] Петля страха

Как только вы начали бояться своей технологии, вскоре появятся новые причины для страха.

Петля страха затягивается так:

  1. Небольшие правки приводят к непредсказуемым, пугающим или дорогостоящим последствиям.
  2. Мы начинаем бояться изменений.
  3. Мы стараемся делать все правки как можно более мелкими и локальными.
  4. Кодовая база наполняется заплатками, исключениями и особыми случаями.
  5. Страх усиливается.

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

Возможно, набор тестов был недостаточным. Возникла такая нервотрёпка, потому что разработчик не смог предсказать все последствия изменения. (Например, у единственного клиента, чьи настройки данных отличаются от всех остальных). Или всплыл особый случай, который наблюдается только в продакшне. Какова бы ни была конкретная причина, результат такой: «Я не знал, что это произойдёт».

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

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

С этого момента цикл страха становится самоподдерживающимся. Порочный круг замыкается, когда один из этих страусов становится виновником чужого бага. Время, необходимое для выпуска изменений, тоже увеличивается. Цена даже маленьких изменений продолжает расти без конца.

Это может закончиться тремя способами:

  1. Кардинальный рефакторинг кода (обычно с другой командой) под девизом «уж теперь мы сделаем это правильно!» См. также: синдром второй системы и «Что никогда нельзя делать, часть I».
  2. Масштабный аутсорсинг.
  3. Продажа поражённых активов другой компании.

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

Трибунал — худшая реакция на неудачу.

Чтобы избежать петли страха, требуется мудрое руководство. Разница между «техническим спецназом» и трибуналом заключается в том, как конкретные люди подходят к этой проблеме. Ищите людей с опытом работы в DevOps и управлении техническими проектами.

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

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть