
ИНТЕРМЕДИЯ II: Продакшенское подземелье
Intermezzo Summary: Продакшен-подземелье: 237 багов висят, 189 P0 перекодируются в P1, P1 в P2, P2 в техдолг, техдолг — в воркшоп следующего квартала (который ещё планируют). Гибкая методология как формализованное избегание программирования. Четыре летучки в день для синхронизации команды, которая ничего не производит между летучками. Satire sharper than most post-mortems.
Алиса спустилась в подвал московского бизнес-центра «Белые сады» и оказалась в полутёмном помещении, освещённом только мониторами Samsung на adjustable arms и аварийным зелёным светом — именно такая атмосфера, которая должна способствовать продуктивной работе по мнению современных офис-дизайнеров. Пахло кофе из автомата и перегретой электроникой. За длинным столом из ЛДСП сидели несколько человек с усталыми лицами и кругами под глазами, посередине восседала элегантная дама в строгом костюме от российского дизайнера, а рядом с ней (всё тот же полосатый кот) только теперь он печатал что-то на ноутбуке MacBook одной лапой.
— О, девочка пришла на летучку! — объявила дама с радостью хозяйки, встречающей дорогих гостей. — Меня зовут Маргарита, я владелица продукта. Бегемот сопровождает легаси-код.
Кот не отрывался от клавиатуры.
— Летучка? — переспросила Алиса. — Но сейчас же только полдень.
Худой программист в очках Ray-Ban (подделка с Садовода) пояснил с энтузиазмом человека, раскрывающего секрет успеха: проводят четыре летучки в день — утреннюю в 9:00, дневную в 13:00, вечернюю в 17:00 и полночную планёрку в 23:30 для лучшей синхронизации команды.
Алиса спросила, о чём они синхронизируются.
Маргарита ответила с гордостью коллекционера, демонстрирующего особенно богатое собрание: у них двести тридцать семь задач висит в продакшене. Очень продуктивно.
Она поинтересовалась, сколько уже починили.
Воцарилась тишина, настолько глубокая, что стал слышен гул серверов в соседней комнате. Программисты переглянулись.
Кот промурчал (не отрываясь от экрана): «Мессир, девочка опять неправильные вопросы задаёт».
Маргарита терпеливо объяснила тоном преподавателя, излагающего основы науки: баги не чинят, а приоритизируют по сложной системе — P0, P1, P2, P3, а также критичность A, B, C, D (плюс цветовая кодировка по областям для лучшей визуализации).
Алиса поинтересовалась, что значит P0.
Программист пояснил: «Критический баг, который нужно исправить немедленно».
— И много таких?
Маргарита гордо ответила: «Сто восемьдесят девять».
— И их исправляют?
Нет, их переводят в P1 при появлении новых P0.
— А P1?
Они переводят в P2.
— А P2?
Кот наконец оторвался от ноутбука и заключил, что переводят в техдолг, а техдолг планируют устранить в следующем квартале.
Алиса уточнила: «То есть никогда».
Маргарита поправила: не никогда, они запланировали воркшоп по техдолгу на следующий год. Пока планируют этот воркшоп.
Алиса спросила, что они сейчас программируют.
Очкастый удивился: они не программируют, а делают оценки и планирование. У них же гибкая методология.
Алиса уточнила, кто тогда программирует.
Маргарита важно сказала, что у них автоматизация: конвейер сборки и деплоя.
Она спросила, работает ли он.
Программист радостно ответил, что падает каждый день, но у них есть мониторинг, который показывает красивые графики падений.
Кот сказал Маргарите: «Мессир, а не показать ли девочке нашу скорость?»
Маргарита щёлкнула пальцами, и на стене появился большой график с кривыми линиями всех цветов радуги.
Она гордо указала на график: скорость работы растёт третий месяц подряд.
Алиса присмотрелась. По вертикали шла шкала «Пойнты историй», по горизонтали: спринты.
Алиса спросила, что такое очки историй.
Программист пояснил, что это единица измерения сложности задач, которую назначают коллективным принятием решений.
Алиса поинтересовалась, как они определяют сложность.
Маргарита сказала, что используют планирующий покер: каждый показывает карточку с цифрой, берут максимальную.
Она спросила, почему максимальную.
Очкастый объяснил, что берут максимальную для безопасности: если задача окажется сложнее, могут быть вопросы.
Алиса поинтересовалась, от кого будут вопросы.
Все хором ответили: «От заинтересованных лиц».
Она уточнила, кто такие заинтересованные лица.
Снова тишина.
Программист честно признался, что точно не знают, но заинтересованные лица очень важные и постоянно спрашивают про сроки.
Алиса спросила про сроки.
Маргарита кивнула: следующий спринт. Всегда следующий спринт.
Кот захихикал и стал умываться.
— А вы не пробовали просто взять и сделать хотя бы один небольшой фикс? — предложила Алиса. Вместо всех этих планирований?
Лица программистов исказились ужасом.
Очкастый прошептал: «Без оценки?» Маргарита ахнула: «Без планирования?» Кот возмутился: «Без процесса согласования?»
Маргарита сурово сказала: «Это же хаос-инженерия! У нас есть критерии готовности, требования к приёмке и определение готовности к работе».
Алиса спросила про политику.
Она гордо объяснила, что никто ничего не делает без одобрения.
Она поинтересовалась, кто даёт одобрение.
Комитет по коллективному принятию решений.
Она спросила, когда он собирается.
Раз в квартал (планируют следующее собрание).
Алиса медленно направилась к лестнице. За спиной послышалось:
Маргарита сказала коту: «Коржиков был прав, девочка не понимает корпоративных подходов».
Программист предложил: «Может, устроим ей введение в курс дела?»
Маргарита одобрила: «Хорошая идея, запланируем мастер-класс по планированию процесса введения в курс дела».
Кот сказал: «А я пока ещё мониторинг настрою», — и вернулся к ноутбуку.