Проект Горизонт

В понедельник в 10:00 на звонок в Zoom залетели пятеро: кот в колпаке, люстра на потолке, смайлик в круглых чёрных очках, кружка с кофе и заяц с барабаном. Через несколько минут подтянулись веселая губка в плавках-бермудах, бублик и белочка. Команда проекта «Горизонт» была в сборе, во всяком случае все подключились к чату. Камер они давно уже не включали, чтобы никакие домашние сюрпризы не смешивались с рабочей атмосферой. Микрофоны были тоже у всех пока выключены, видимо до окончания завтрака.

Алекс начал издалека: - Ну что у нас сегодня? 

Команда никак не проявляла интереса поделится своими текущими достижениями. Он понял, что его слышат, но, как в школе, никто не отзовётся, и к доске никто сам не пойдет. Алекса перевели из другого департамента, когда предыдущий тимлид выгорел и уволился, оставив в Jira сочный комментарий, с однозначной и едкой оценкой проекта, а также с пожеланиями и направлениями кому-то сверху.

Алекс тоже молчал. Он явно не хотел торопить народ с ответом, потому что с сам трудом вспоминал, какой сегодня день. А был понедельник, а значит нужно начинать обычный синк - митинг по статусам: все докладывают, что очень заняты важными тасками, и отчёты по KPI. Может заглянет кто-то из топов, надо бы скопировать на стол какой-нибудь загадочный слайд, чтобы отвлечь внимание, если что.

Алекс как бы шутливо начал намекать народу, что хорошо бы ему подсказать. 

- Ну что, все помним, на чём мы там остановились, на каком мы этапе?  Мы уже сдали проект? Или ещё не начали?  Ха-ха-ха…

Белочка (она же Марина, она же джун):  — Давайте посмотрим почту по сабжекту. Кто последним писал?

Все открывают почту. Последнее письмо: «Все обсуждения переносятся на понедельник. Тема та же».

А на календаре тем временем шел уже 45-й месяц проекта.  В начале «Горизонт» должен был стать мессенджером. Но рынок ушёл, и продукт начал адаптировался, следуя принципам Agile. Поскольку команда и продукт много раз менялись, молчание было совершенно искренним.

— Итак, коллеги, — продолжил Алекс после минутной паузы и расшарил дашборд Jira. Сто процентов задач было закрыто, график сгорания задач напоминал идеальный обрыв.  — Поздравляю. Мы вроде как завершили 10-й спринт. Ну, десятый в этом году, если не считать прошлогодних. А их было… впрочем, неважно. Судя по показателям ….

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

— Антон, — тимлид улыбнулся мягко, как санитар, на слова разраба — Это ересь… работающий продукт всегда важнее самой лучшей документации. Твой код работает?

— Работает.

— Тесты проходят?

— 100% покрытие.

— Значит, ставим инкремент и все дела. Мы движемся в итеративном цикле!

Между тем кот, ведущий разработчик, начинал каждое утро с промта: «Сгенерируй 50 задач, которые выглядят как критически важные для блокчейн-мессенджера, но технически являются перекладыванием пикселей».  Разумеется, кот не писал код сам. Он просто скармливал нейросети старые куски проекта и просил: «Сделай это современно». В итоге код на 80% состоял из галлюцинаций: вызывал библиотеки, которых не существует, и обращался к серверам на Марсе. Но поскольку тесты писал сам ИИ, они всегда проходили, потому что они проверяли, совпадает ли 1 с 1.
 
— Он не падает, потому что не делает ничего, — буркнул смайлик в очках, который числился DevOps-инженером. — Вчера я посмотрел логи. Наша «блокчейн-аутентификация» просто возвращает true на любой запрос. Пять миллионов раз подряд.

— Зато быстро, — заметила кружка с кофе. — Время отклика — ноль целых ноль десятых. Мы же этого добивались?

Алекс замялся. Он открыл было рот, чтобы сказать что-то про бизнес-ценность, но вместо этого спросил:

— А какая у нас сейчас цель?

В чате повисла такая тишина, что было слышно, как заяц с барабаном стучал палочками на аватарке. Бублик замер, наполовину исчезнув за краем экрана.

— В начале был мессенджер, — робко начала белочка, видимо проглядывая какие-то свои заметки. — Потом — криптокошелёк. Потом — платформа для предсказания погоды на основе чатов. Потом — заменитель встреч в Zoom. Потом — антикризисный ИИ-советник. Потом — просто «Горизонт».

— «Горизонт» — это название, а не цель, — отрезал кот. — Цель сдохла на третьем спринте. Мы теперь не приближаемся, а отдаляемся.

— Это и есть Agile, — обиженно сказала весёлая губка в плавках. — Мы адаптируемся.

— К чему? — спросил бублик.

Никто не ответил.

Алекс вдруг почувствовал себя неуютно. Каждый понедельник все смотрят на дашборд, где все задачи закрыты. Каждый понедельник они выясняют, что закрытые задачи ничего не значат. Каждый понедельник они открывают новый спринт и называют это движением вперёд.

— Коллеги, — сказал он медленно. — А давайте сегодня не будем открывать новый спринт.

— Что значит «не будем»? — ужаснулась кружка. — А как же дейли? А как же бэклог рефайнмент?

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

Заяц перестал бить в барабан. Смайлик снял очки. Даже люстра перестала мигать.

— Это невозможно, — сказал кот. — Потому что, чтобы написать финальный отчёт, нужно сравнить результат с целью. А цели нет.

— Тогда напишем отчёт об отсутствии цели, — предложила белочка.

— Это будет отчёт о том, что мы не сделали то, чего не было запланировано, — уточнил смайлик.

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

Он открыл шаблон в Confluence. Пустая страница. Заголовок: «Итоговый отчёт по проекту „Горизонт“». Текст: «Проект не имеет цели, поэтому не может быть завершён или не завершён».

Белочка испуганно: - А согласование с владельцем продукта?

— Не нужно, — отрезал Алекс. — У него тоже сегодня понедельник.

Алекс перечитал строчки и нажал «Опубликовать».

Через три секунды пришло автоматическое письмо от Jira. Тема: «Создан новый спринт №11 — проект - «Горизонт». Старт: завтра, 10:00».

— Кто это сделал? — спросил Алекс.

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

— Но мы же только что закончили проект.

— Мы написали отчёт. А отчёт — это артефакт. Артефакт требует ревью. Ревью требует доработок. Доработки — это новый спринт, — кот зевнул. — Ты разве не знал? Это правило номер один.

— Кто его установил?

— Никто. Оно как-то само.

— Значит, завтра в десять, — неохотно выдохнул Алекс.

— Завтра в десять, — подтвердили все хором.

Аватары закрылись один за другим. Последней исчезла люстра. На секунду показалось, что она подмигнула — но, наверное, просто выгорела. Алекс закрыл ноутбук. На календаре был понедельник. Но он почему-то знал, что завтра снова наступит понедельник. Всегда понедельник.

[Москва, июнь 2026]


Рецензии