Меня зовут Игорь, я тимлид в e-commerce. Когда у меня появилась вторая команда, стало понятно, что вручную следить за двумя Jira, двумя GitLab и метриками одновременно - сложно Пробовал разные дашборды, но всё равно приходилось переключаться между инструментами и собирать картину в голове. В итоге решил сделать один инструмент, который собирает всё в одном месте

Знакомая история

Понедельник. Стендап. Кто-то пишет в чат:

«Кто-нибудь смотрел MR #847? Он висит уже 5 дней»

«Ваня, у тебя очередь из 12 ревью накопилась»

«Почему мы не задеплоили фичу авторизации? Где она застряла?»

«Кто знает, почему у нас TTM вырос в 2 раза за месяц?»

Типичная картина в командном чате. Каждый день. В каждой команде
Типичная картина в командном чате. Каждый день. В каждой команде

Это не проблема мотивации и не проблема людей. Это проблема видимости. Данные о том, что происходит в команде, есть - они в GitLab, в Jira, в GitHub. Их просто никто не собирает в одном месте

Большинство команд узнаёт о проблемах из разговоров, а не из метрик. Это медленно, субъективно и утомляет всех участников

Что такое GitPulse

GitPulse - инструмент инженерной аналитики для технических команд. Он подключается к GitLab или GitHub с одной стороны, к Jira - с другой, и даёт сводную картину по команде: без ручного сбора, без таблиц, без «надо посмотреть»

Метрики доставки - командный уровень

  • TTM (Time-to-Merge) - медианное время от открытия до мержа MR

  • Застрявшие MR - пул-реквесты без движения дольше N часов

  • MR без ревью - то, что идёт напрямую без code review

  • Нагрузка ревьюеров - распределение ревью между членами команды (коэффициент Джини)

Метрики доставки - уровень разработчика

Отдельный срез по каждому участнику команды - не для слежки, а чтобы каждый сам видел, как он выглядит на фоне команды:

  • Количество MR - сколько пул-реквестов открыл и смёрджил за период

  • Средний размер MR - среднее количество строк кода на один мёрдж-реквест

  • Замечания от ревьюеров - среднее количество комментариев, которые получает разработчик на свои MR

  • Сравнение с медианой команды - выше или ниже по каждой метрике относительно остальных

Это работает в обе стороны: тимлид видит общую картину, а разработчик сам понимает, где он сильнее или слабее команды - без неловких разговоров на 1-to-1

Дашборд метрик: 4 ключевых показателя + распределение MR по дням недели
Дашборд метрик: 4 ключевых показателя + распределение MR по дням недели

Инсайты - автодиагностика команды

Алгоритмы анализируют данные и сами выдают выводы: что критично, что требует внимания, что просто информационный сигнал. Никакого «смотри сам и делай выводы».

Страница инсайтов: алгоритмы сами находят аномалии и объясняют их
Страница инсайтов: алгоритмы сами находят аномалии и объясняют их

Sprint + Jira: история и аналитика

Интеграция с Jira даёт отдельный слой аналитики по спринтам. Без экспорта в Excel, без ручного подсчёта.

  • История спринтов — commitment, фактическое выполнение и отклонение по каждому спринту на одном экране

  • Средний commitment и completion — видно, насколько стабильно команда планирует и выполняет, есть ли тренд

  • Вбросы (scope creep) — сколько story points добавлялось в середине спринта, в каких спринтах это было критично

  • Текущий vs прошлый спринт — сравнение прогресса в реальном времени

  • Детальный просмотр закрытого спринта — что сделано, что не сделано, что перенесено

История спринтов: commitment, выполнение, вбросы + AI-ретро по Sprint 23
История спринтов: commitment, выполнение, вбросы + AI-ретро по Sprint 23

AI-ретроспектива

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

Какие боли закрывает

Проблема

Как было

Как стало

Кто застрял?

Спрашивать в чате

Таблица MR без движения

Ревью перегружен один

Выяснять на стендапе

Gini-коэффициент + график нагрузки

Почему TTM вырос?

Догадываться

Тренд по неделям + drill-down по MR

Кто пишет большие MR?

Интуиция тимлида

Средний размер MR на разработчика + медиана команды

На кого жалуются ревьюеры?

Кулуарные разговоры

Замечания на MR в сравнении с медианой команды

Как прошёл спринт?

Ретро по памяти

AI-ретро по данным из Jira

Сравнить две команды

Excel-таблица вручную

Radar-chart + Jira comparison

Демо

Сделал демо-режим с фейковыми данными - можно посмотреть без регистрации, просто покликать:

Если зайдёт - можно подключить свой GitLab или GitHub. Jira - опционально, для спринт-аналитики

Стек и немного под капотом

Для тех, кому интересно:

  • Backend: Spring Boot 3.3, Java 21

  • DB: PostgreSQL + Flyway

  • Frontend: Thymeleaf + Chart.js (SSR)

  • Интеграции: GitLab API, GitHub API, Jira

  • AI: Anthropic Claude Haiku

  • Мониторинг: Prometheus + Grafana + Loki

Вся аналитика считается на бэкенде - никакого тяжёлого фронтенда, никакого BI-движка. Просто SQL + немного алгебры для метрик вроде коэффициента Джини. SSR-первый подход: страницы отдаются готовыми, без клиентского рендеринга

Что дальше

Сейчас это MVP с реальными пользователями. В roadmap: DORA metrics, публичное API для интеграций и др.

Буду рад фидбеку в комментариях: что полезно, чего не хватает, на что похоже из того, что вы уже используете

Комментарии (0)