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