Меня зовут Игорь, я тимлид в 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 для интеграций и др.

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

Only registered users can participate in poll. Log in, please.
Как вы сейчас отслеживаете метрики команды?
20%Никак, узнаю о проблемах на стендапе1
0%Вручную в Excel / Google Sheets0
20%Через встроенные инструменты GitLab/GitHub1
20%Используем отдельный инструмент аналитики1
40%Смотрю в Jira, остальное не отслеживаю2
5 users voted. 1 user abstained.