Сегодня мне вновь хотелось бы вернуться к соотношению рационального и иррационального, но уже в контексте решения задач, которые приходится решать Git in Sky. Впрочем, я уверен, что подобные проблемы характерны для всех компаний, которым приходится выполнять нетиповые проекты.
К нам обратился клиент, которого мы хорошо знаем и ценим, с предложением повысить отказоустойчивость и улучшить мониторинг управления своими серверами. Он захотел в свою уже работающую систему, состоящую из различных серверов с разными операционными системами, установить специфический код, который следил бы за параметрами их эксплуатации. В случае выхода этих параметров за определенные рамки система должна автоматически развернуть новый узел, установить на него необходимые программы и выключить вышедший из строя, по возможности бесшовно.
Любая задача такого рода начинается с рационального действия — составления технического задания. Не открою секрета, что формирование ТЗ, хотя и не очень хорошо оплачиваемая операция, составляет основу проекта и занимает порой до половины времени, приходящегося на его реализацию. К счастью, в данном проекте представителем заказчика выступил технический директор, который смог на техническом языке объяснить, как он видит решение задачи.
А дальше вступил в силу факт иррационального, когда наши программисты долго не могли дать четкого ответа, сколько времени займет решение задачи. Мы слышали традиционный ответ: «Как пойдет!». В конце концов, был пройден и этот этап, в договоре указали определенное количество часов на реализацию проекта. И он пошел в работу.
Здесь необходимо сделать небольшое отступление. Существует такое негласное правило, когда озвученное программистами количество часов нужно умножать на число Пи (3,14). Дело здесь опять в иррациональности исполнителя. У него в голове складывается картинка идеального процесса, который редко осуществляется на практике. Всегда найдется какой-то пустячок, который потребует дополнительного времени на его устранение. И иногда значительного…