GitPulse: как я перестал угадывать, что происходит в команде, и начал смотреть на данные

Страницы:  1

Ответить
 

Professor Seleznov


Меня зовут Игорь, я тимлид в e-commerce. Когда у меня появилась вторая команда, стало понятно, что вручную следить за двумяJira, двумяGitLabи метриками одновременно - сложно Пробовал разные дашборды, но всё равно приходилось переключаться между инструментами и собирать картину в голове. В итоге решил сделать один инструмент, который собирает всё в одном месте
Знакомая история
Понедельник. Стендап. Кто-то пишет в чат:
«Кто-нибудь смотрел MR #847? Он висит уже 5 дней»
«Ваня, у тебя очередь из 12 ревью накопилась»
«Почему мы не задеплоили фичу авторизации? Где она застряла?»
«Кто знает, почему у нас TTM вырос в 2 раза за месяц?»
pic
Типичная картина в командном чате. Каждый день. В каждой команде
Это не проблема мотивации и не проблема людей. Это проблема видимости. Данные о том, что происходит в команде, есть - они в GitLab, в Jira, в GitHub. Их просто никто не собирает в одном месте
Большинство команд узнаёт о проблемах из разговоров, а не из метрик. Это медленно, субъективно и утомляет всех участников
Что такое GitPulse
GitPulse - инструмент инженерной аналитики для технических команд. Он подключается к GitLab или GitHub с одной стороны, к Jira - с другой, и даёт сводную картину по команде: без ручного сбора, без таблиц, без «надо посмотреть»
Метрики доставки - командный уровень
  • TTM (Time-to-Merge) - медианное время от открытия до мержа MR
  • Застрявшие MR - пул-реквесты без движения дольше N часов
  • MR без ревью - то, что идёт напрямую без code review
  • Нагрузка ревьюеров - распределение ревью между членами команды (коэффициент Джини)
Метрики доставки - уровень разработчика
Отдельный срез по каждому участнику команды - не для слежки, а чтобы каждый сам видел, как он выглядит на фоне команды:
  • Количество MR - сколько пул-реквестов открыл и смёрджил за период
  • Средний размер MR - среднее количество строк кода на один мёрдж-реквест
  • Замечания от ревьюеров - среднее количество комментариев, которые получает разработчик на свои MR
  • Сравнение с медианой команды - выше или ниже по каждой метрике относительно остальных
Это работает в обе стороны: тимлид видит общую картину, а разработчик сам понимает, где он сильнее или слабее команды - без неловких разговоров на 1-to-1
pic
Дашборд метрик: 4 ключевых показателя + распределение MR по дням недели
Инсайты - автодиагностика команды
Алгоритмы анализируют данные и сами выдают выводы: что критично, что требует внимания, что просто информационный сигнал. Никакого «смотри сам и делай выводы».
pic
Страница инсайтов: алгоритмы сами находят аномалии и объясняют их
Sprint + Jira: история и аналитика
Интеграция с Jira даёт отдельный слой аналитики по спринтам. Без экспорта в Excel, без ручного подсчёта.
  • История спринтов — commitment, фактическое выполнение и отклонение по каждому спринту на одном экране
  • Средний commitment и completion — видно, насколько стабильно команда планирует и выполняет, есть ли тренд
  • Вбросы (scope creep) — сколько story points добавлялось в середине спринта, в каких спринтах это было критично
  • Текущий vs прошлый спринт — сравнение прогресса в реальном времени
  • Детальный просмотр закрытого спринта — что сделано, что не сделано, что перенесено
pic
История спринтов: 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 для интеграций и др.
Буду рад фидбеку в комментариях: что полезно, чего не хватает, на что похоже из того, что вы уже используете-Источник
 
Loading...
Error