«Представьте, что вот здесь открывается модалка, из неё летят события в шину, а на дашборде Lead Time пересчитывается с учетом исключений календаря». Эту фразу я слышал на десятках грумингов. И каждый раз после неё наступала неловкая тишина: бизнес представлял одно, аналитик описывал второе, а разработчики через месяц релизили третье.
В какой-то момент я понял: текст в Confluence и статичные макеты больше не справляются со сложностью современных IT-систем. Лучший способ согласовать архитектуру и логику — это не писать 40 страниц ТЗ, а поднять отдельную ветку в Git, развернуть живой feature-стенд и дать стейкхолдерам потрогать решение руками.
История одной невозможной задачи
К нам пришел бизнес с задачей: нужен сквозной дашборд операционной эффективности и контроля Lead Time для команд поддержки и разработки. Требования звучали размыто: «хотим видеть узкие места, распределение по статусам, алерты по зависшим заявкам и динамический пересчет SLA с учетом нерабочих часов».
Классический сценарий выглядел бы так:
- 2 недели на интервью и сбор требований.
- 3 недели на согласование 50-страничного ТЗ в Confluence.
- Очередь к дизайнерам на месяц.
- 2 месяца разработки бэкенда и фронтенда.
- На демо бизнес говорит: «Ой, мы думали, это работает совсем не так».
Цена такой ошибки — 3 месяца работы команды и сотни тысяч рублей бюджета.
Что я сделал вместо этого
Вместо бесконечных согласований я открыл терминал:
$ git checkout -b feature/prototype-lead-time-dashboard
$ docker compose up -d
$ touch app/services/agile_board_lead_time_demo_seeder.rb
1. Написал генератор реалистичных данных (Demo Seeder)
Главная проблема большинства моков — они «стерильные». В них 3 идеальные карточки с короткими названиями. В жизни такого не бывает. Я написал сидер, который сгенерировал 500 реальных кейсов: с длинными заголовками, зависшими статусами, краевыми случаями, пробитыми дедлайнами и сложными переходами.
2. Собрал интерактивный интерфейс с помощью AI и веб-компонентов
Используя современные AI-инструменты, я за 2 дня собрал рабочий UI в браузере: фильтры по командам, расчет медианного Lead Time, интерактивные гистограммы и модалку детализации инцидента. Это был не скриншот, а полноценный живой веб-интерфейс с валидацией, состояниями загрузки и обработкой ошибок.
3. Спроектировал API-контракты и написал автотесты
Параллельно в Postman я зафиксировал структуру будущих эндпоинтов: REST-запросы, JSON-схемы ответов и проверки граничных условий (например, деление на ноль при расчете среднего времени). Разработчикам не нужно было гадать, какие поля нужны фронту.
Момент истины на демо
На встречу со стейкхолдерами я пришел без презентации. Я просто скинул в общий чат ссылку на развернутый feature-стенд и сказал: «Откройте с телефона или ноутбука и попробуйте нажать вот сюда».
За 40 минут встречи произошло то, на что обычно уходит месяц:
- Продукт-овнер сразу заметил, что при фильтрации по двум департаментам график путает цвета — и мы скорректировали логику за 5 минут.
- Руководитель операций понял, что расчет SLA без учета праздничных дней бесполезен, и мы прямо на созвоне добавили параметр
include_calendar_exceptions: true. - Разработчики, присутствовавшие на встрече, сказали: «Контракт понятен, модель данных чистая, вопросов нет».
Почему это партнерство с разработчиками, а не замена
Иногда аналитики боятся лезть в код, а разработчики ревностно относятся к прототипам. Но цель прототипа аналитика — не написать идеальный продакшн-код, а устранить неопределенность.
Когда разработчик получает задачу с готовым кликабельным прототипом, зафиксированной структурой API и набором тестов в Postman, его работа превращается из «попробуй угадать, что имел в виду бизнес» в чистую инженерную реализацию архитектуры, кэширования и безопасности.
Итоги и экономика
Результаты подхода:
- Время от идеи до согласованного скоупа: 3 рабочих дня вместо 4 недель.
- Количество переделок на этапе боевой разработки: 0 критических изменений логики.
- Уверенность бизнеса: 100%, потому что стейкхолдеры увидели и протестировали инструмент до того, как был написан боевой бэкенд.
Быстрое прототипирование на живой ветке — это не роскошь, а ключевой навык современного системного аналитика. Не рассказывайте, как это будет работать. Откройте браузер и покажите.