September 9, 2015

Недавний Яндекс-факап

Классическая история о том, что дедлайны — зло, что попытка порвать жопу, но выдать релиз в срок no matter what — зло, что забивание хера на QA менеджментом в моменты, когда хренов дедлайн под угрозой — зло. IT-компании хвастаются, что у них качество на первом месте, но раз за разом доказывают, что у них дедлайн на первом месте, а качество идёт лесом. Работа кучи народа идёт побоку, и получается вот такое (сорри, я процитирую самое-самое):

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

Тут можно прям по каждому предложению писать список факапов в их процессе. «Запланированное время запуска» — говорит о том, что в списке приоритетов качество не наверху. «Тянуть не хотелось» — это переводится примерно как «менеджеры обеспокоились судьбой своей жопы», и является признаком нездоровой атмосферы в менеджменте (наряду с упомянутым выше сдвигом в приоритетах). «Фикс релизной версии был тривиальным», но его не сделали. При этом неверно оценили риски и не полностью учли все отличия релизной и дебажной версий («Но логи — это не всё» — really? то есть при принятии решения никто не имел перед глазами полного списка отличий?). Да и для чего же существует вообще это различие между релизной и дебажной версиями? Думаю, решение было принято в обход всяческих нормальных людей и вопреки всем принятым стандартам. Какой-то менеджер так обеспокоился за задницу (или так захотел понтануться удачным своевременным запуском), что плюнул на всё. И тем самым подверг всю компанию репутационному удару.

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