Интермедия II. Продакшенское подземелье

Гравюра к интермедии II: Продакшенское подземелье

О чём эта интермедия. Продакшен-подземелье: 237 багов висят, 189 P0 перекодируются в P1, P1 в P2, P2 в техдолг, техдолг — в воркшоп следующего квартала (который ещё планируют). Гибкая методология как формализованное избегание программирования. Четыре летучки в день для синхронизации команды, которая ничего не производит между летучками. Сатира острее иного разбора полётов.

Лестница вниз кончилась дверью с табличкой «Production. Посторонним В.» — и Алиса оказалась в подвале, где гудели серверы, мигали диоды и пахло остывшей пиццей. За мониторами сидели трое: дама с осанкой оперной примы, худой программист в очках Ray-Ban (подделка с Садовода) и знакомый полосатый кот, стучавший по клавиатуре всеми четырьмя лапами сразу.

— О, девочка пришла на летучку! — обрадовалась дама. — Меня зовут Маргарита, я владелица продукта. Бегемот сопровождает легаси-код.

— Легаси-код нельзя сопровождать, — промурчал кот, не отрываясь от экрана. — С ним можно только состоять в отношениях. Сложных.

— Летучка? — переспросила Алиса. — Но сейчас же полдень.

— Дневная! — просиял очкастый. — У нас их четыре: утренняя в девять, дневная в час, вечерняя в пять и полночная планёрка в двадцать три тридцать. Для лучшей синхронизации.

— И о чём вы синхронизируетесь?

— О задачах! — Маргарита повела рукой, как хозяйка, показывающая фамильное серебро. — У нас двести тридцать семь задач висит в продакшене. Очень продуктивно.

— А сколько уже починили?

Стало так тихо, что из соседней комнаты донёсся гул серверов. Программисты переглянулись.

— Мессир, — промурчал кот, — девочка опять задаёт неправильные вопросы.

— Мы не чиним баги, деточка, — терпеливо объяснила Маргарита. — Мы их приоритизируем. P0, P1, P2, P3. Плюс критичность: A, B, C, D. Плюс цветовая кодировка по областям — для лучшей визуализации.

— А что значит P0?

— Критический баг, — отчеканил очкастый. — Исправить немедленно.

— И много таких?

— Сто восемьдесят девять! — с гордостью сказала Маргарита.

— И их исправляют?!

— Зачем? Их переводят в P1. Когда появляются новые P0.

— А P1?

— В P2.

— А P2?

Кот наконец оторвался от ноутбука:

— В техдолг. А техдолг мы устраним в следующем квартале.

— То есть никогда.

— Почему сразу никогда? — обиделась Маргарита. — Мы запланировали воркшоп по техдолгу. На следующий год. Пока планируем этот воркшоп.

— А что вы сейчас программируете?

Очкастый посмотрел на неё с изумлением:

— Мы не программируем. Мы делаем оценки и планирование. У нас же гибкая методология.

— А кто тогда программирует?

— Автоматизация! — важно сказала Маргарита. — Конвейер сборки и деплоя.

— И он работает?

— Падает каждый день, — радостно сообщил очкастый. — Но у нас есть мониторинг! Он показывает очень красивые графики падений. Хотите, календарь напечатаем?

— Мессир, — сказал кот, — а не показать ли девочке нашу скорость?

Маргарита щёлкнула пальцами, и на стене вспыхнул график с кривыми всех цветов радуги.

— Скорость работы растёт третий месяц подряд!

Алиса присмотрелась. По вертикали шли «Пойнты историй», по горизонтали — спринты.

— А что такое пойнты историй?

— Единица сложности задачи, — сказал очкастый. — Назначается коллективным принятием решений. Планирующий покер: каждый показывает карточку с цифрой, берём максимальную.

— Почему максимальную?

— Для безопасности. Если задача окажется сложнее — могут быть вопросы.

— От кого?

— ОТ ЗАИНТЕРЕСОВАННЫХ ЛИЦ, — ответили все трое хором, и даже серверы, кажется, загудели тише.

— А кто такие заинтересованные лица?

Снова тишина. Кот перестал печатать.

— Честно? — прошептал очкастый. — Мы точно не знаем. Но они очень важные и постоянно спрашивают про сроки.

— И какие сроки?

— Следующий спринт, — кивнула Маргарита. — Всегда следующий спринт. Это очень удобный срок: он никогда не наступает и всегда близко.

Кот захихикал и стал умываться.

— А вы не пробовали, — осторожно предложила Алиса, — просто взять и сделать хотя бы один небольшой фикс? Вместо всех этих планирований?

Лица программистов исказились ужасом.

— Без оценки?! — прошептал очкастый.

— Без планирования?! — ахнула Маргарита.

— Без процесса согласования?! — возмутился кот, прижав уши.

— Это же хаос-инженерия! — сурово сказала Маргарита. — У нас есть критерии готовности. Требования к приёмке. Определение готовности к работе. И политика.

— Какая политика?

— Никто ничего не делает без одобрения, — гордо объяснила она.

— А кто даёт одобрение?

— Комитет по коллективному принятию решений.

— А когда он собирается?

— Раз в квартал, — сказал кот и вернулся к клавиатуре. — Сейчас планируем следующее собрание. Повестка: утверждение повестки.

Алиса медленно пошла к лестнице. За спиной послышалось:

— Коржиков был прав, — вздохнула Маргарита. — Девочка не понимает корпоративных подходов.

— Может, устроим ей введение в курс дела? — предложил очкастый.

— Хорошая идея. Запланируем мастер-класс по планированию процесса введения в курс дела.

— А я пока ещё мониторинг настрою, — сказал кот. — Красный цвет падений мне разонравился. Сделаю бордо — он благороднее и меньше нервирует заинтересованных лиц.