me.neoascetic

Не брей яков!

Перевод отрывка из книги The Productive Programmer. Глава о преимуществах и недостатках автоматизации рутинных задач. Узнал об этой аллегории, решил поделиться. Сам сталкивался с подобной ситуацией, разумеется, и не раз! :)

Кроме прочего, не позволяйте вашему побочному проекту по автоматизации превратиться в “бритьё яка”. “Бритьё яка” - это часть официального программистского жаргона. Она описывает следующий сценарий:

  1. Вы решили генерировать документацию на основе логов Subversion.

  2. Вы попытались добавить хук для Subversion, но обнаружили, что используемая библиотека несовместима и потому не будет работать с веб-сервером.

  3. Вы начинаете апгрейдить веб-сервер, но обнаруживаете, что необходимая версия не поддерживается текущей версией ОС и потому решаете обновить и её.

  4. У новой версии ОС есть известный баг с дисковым массивом, используемым для бэкапов.

  5. Вы скачиваете экспериментальный патч для дискового массива, который должен заставить его работать с новой версией ОС, и оно вроде как работает, но приводит к проблемам с видеодрайвером.

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

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