Бага в релизе. История

Среда. Менеджер собирает собрание посвященное письму “главного заказчика” в котором говориться о критической проблеме выявленной на продакшене. Менеджер имел неприятный разговор с заказчиком, а потом с директором. На совещании кроме менеджера Михалыча присутствуют программист Коля, тестировщик Петя и администратор Витя.

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

Живописание ОПЫ закончено, начинается собственно разбор полетов:

М: Как можно было допустить такую ошибку? Коля, ты не тестируешь свой код?

Р: Конечно тестирую. Несколько раз тестировал. Даже больше. Я вчера пол дня старался воспроизвести баг у себя. Все работает. На моих данные баг не проявляется. А продакшен окружение я себе поставить не могу, машина не позволяет.

М: Хорошо. Петя, а ты тестировал? У тебя ведь копия продакшена с данными за прошлый месяц.

Т: Ага, сейчас я расскажу вам как я 2тестировал” (и зло посмотрел на админа Витю). Значицца в пятницу в обед я открываю Рэдмайн…

Тут начинается рассказ о том, почему он только в пятницу в обед начал тестировать таск, который в понедельник должен был быть на продакшене. В котором выясняется, что первую половину пятницы он тестировал что-то срочное для Палыча (менеджер, у которого все срочное). Так же обнаруживается что Коля (Р) сдал таск только в четверг поздно вечером. Что двухнедельный (2 недели были оценены на глазок, без анализа требований: ~3 дня, умножаем на два, округляем до двух недель –> точно успеем, даже с запасом), двухнедельный таск он фактически начал делать только в понедельник из-за нестыковки в требованиях (михалыч, ты был в копии письма). Что заказчик ответил только в четверг, да и то как-то криво. На что сразу же получил еще одно письмо. Ответ на которое пришел только на выходных…

Т: Так вот. В пятницу я обнаруживаю, что тестовые сервера лежат. Я поковырялся и сразу побежал к Вите так как в понедельник релиз и мне нужно протестировать (обратите внимание на этот шаг, если бы Петя написал письмо Вите (Михалыч в копии, так как все умные) или побежал бы сначала к Коле, то все было бы хуже). Прихожу я к Вите, и что обнаруживаю?!!!! Что наши сервисы отрублены, потому что у него, видите ли, ПОКАЗ.

А: Конечно показ. ГЕНЕРАЛЬНЫЙ каким-то шишкам что-то показывал. Перед показом он обнаружил, что система тормозит. Я посмотрел и доложил, что для одновременной работы ваших и наших сервисов не хватает памяти. Отдельно они нормально работают, а вместе нет. Генеральный велел ваши сервисы отключить.

М: Но ты бы хоть меня предупредил!!!

А: Ага, я заикнулся, что у тебя релиз. ОН так на меня посмотрел, что я тут же побежал выключать сервисы.

Т: Ты дальше, дальше рассказывай.

А: Ну… закончился, значит, показ,… (Ну, дальше!). Генеральный ушел. Довольный! а я начал стартовать ваши сервисы. И получил… BSOD. Железо старенькое, материнка не выдержала. Хорошо, что не упало во время показа. Генеральный бы меня с .. съел. А я давно прошу у тебя, Михалыч, новый сервер. А тут еще Петя вокруг меня бегает: “У меня релиз, мне тестировать нужно, меня Михалыч…” Снял материнку, кое-как запустил только за полночь. Сервисы не стартанули. Пошел домой.

Т: Я побыл на работе до 7. Смотрю Вите еще много. Написал тебе, Михалыч, письмо. И пошел домой. (Михалыч писма, понятно, не читал, так как понимает, что он в нем в роли пугала, чтобы Витя сразу же бросился решать проблему).

В субботу Витя из бэкапов поднял систему. Позвонил пете, он вечером подключился из дому (днем ходили за покупками), оказалось, что “ничего не работает”. Позвониле Коле. Он был на ДР лучшего друга. Попытались настроить систему по телефону. Не вышло. В воскресенье коля к 14.00 настраивает систему (проснулся поздно, голова болела). Петя кое как “прощелкал” основной функционал, попутно получив от жены, так как к пяти часам они должны быть у тещи, а он “уткнулся в свой ноутбук”.

В понедельник Петя пришел пораньше, чтобы протестировать. Но успел не все протестировать, так как прибежали коля с Витей и заявили, что нужно релизить, а “добро” от тестировщиков еще не получили. Петя пошел к Михалыу, рассказал о проблеме, в ответ получил “мне все равно что вы будете делать, но чтобы через 2 часа ОТТЕСТИРОВАННЫЙ релиз был на продакшене!”.

Деплоить нужно минимум час. Петя опять прогнал основной функционал и упал на стол без сил. Витя с Колей развернули систему, отчитались и тоже упали без сил.

Во вторник пришло письмо.