понедельник, 30 августа 2010 г.

Косячный штраф

Скоро у нас в отделе ПО введут штрафы за косяки.
У меня косяки случаются регулярно. В основном, из-за того, что возможности тестирования сильно ограничены или вообще отсутствуют, поэтому приходится проверять на живых абонентах. Мне ещё повезло, что от меня обычно страдают физлица, а не юрлица. Я знаю, что косяков у меня ещё будет много, поэтому данное нововведение меня огорчает.
Да и каждый мало-мальски критичный к себе человек знает, что не совершает ошибок лишь тот, кто ничего не делает.

Первый раз с таким предложением испольнительный директор Рома подошёл к нам, когда я положил около четырёх районов города тем, что неверно изменил запрос SQL для выдачи аренд DHCP. Он дал задание создать регламент в основе сводящийся к тому, что если ты накосячил и от тебя пострадали многие, то тебе не поздоровится.

В прошлую пятницу "накосячил" коллега тем, что выполнил требования начальника другого отдела, который прибежал и сказал, что нужно быстро-быстро выключить тех юрлиц, которых включил его сотрудник по ошибке. Быстро-быстро и вырубили. Оказалось, что вырубили слишком много. Виноватыми, как всегда, назначили исполнителей. Может, заказчикам тоже не повезло. История об этом умалчивает.

Рома пришёл сегодня в понедельник и сказал, что за "немного тронуть базу" 5 тысяч, за сильно - 10. Так он был рассержен, когда ему сказал много приятного кто-то из тех самых юрлиц. Вообщем, его настрой можно понять.

Меня огорчает именно то, что в данном случае Рома не хочет решать проблему, а ищет виноватых. В данном случае все себя чувствуют плохо - и исполнители, и заказчики. Решением проблемы могло бы стать выяснение, почему сотрудник решил включить тех юрлиц, которых включать не надо было. Можно сделать выговор, но ведь главное, чтобы такого больше не повторялось.

В книге "Pragmatic programmer" я нашёл очень уместную вещь по этому поводу. Там говорится, что всё программное обеспечение должно снабжаться тестами, которые нужно прогонять после каждого изменения программы, дабы найти возможные появившиеся ошибки. Но не всё возможно протестировать. Не все ситуации возможно предусмотреть. В конце концов, глаз может просто замылиться. Поэтому если обнаруживается какая-либо новая ошибка, то она должна добавляться в эти самые тесты для проверки при последующих тестированиях. Лишь в данном случае она никогда не повторится больше, т.к. будет учтена.

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

Итог: надо решать проблемы, а не искать виноватых.