PanDev + Jira: связь задач с реальным временем кодирования
Ваша Jira-доска говорит, что задача заняла 3 дня. Но сколько из этого было реальным кодированием? Сколько — ожиданием ревью? Сколько — переключением контекста между другими тикетами?
PanDev Metrics связывает управление задачами Jira с реальными данными об активности разработчиков — коммиты, время в IDE, код-ревью — чтобы вы видели полную картину. Не просто «в работе» и «готово», а что происходило между этими статусами. Интеграция использует REST API и OAuth 2.0 Jira для безопасного read-only доступа к данным вашего проекта.
Зачем подключать Jira к PanDev?
Jira отслеживает состояния рабочего процесса — To Do, In Progress, In Review, Done. PanDev отслеживает реальную инженерную активность — коммиты, код-ревью, сессии кодирования в IDE.
Когда вы соединяете их, открываются инсайты, которые ни один инструмент не предоставляет в одиночку:
| Инсайт | Только Jira | PanDev + Jira |
|---|---|---|
| Статус задачи | ✅ | ✅ |
| Время в каждом статусе | ✅ (ручные переходы) | ✅ (автоматически) |
| Реальное время кодирования на задачу | ❌ | ✅ |
| Время код-ревью на задачу | ❌ | ✅ |
| Время ожидания между кодированием и ревью | ❌ | ✅ |
| Количество строк кода на story point | ❌ | ✅ |
| Velocity спринта (в реальных трудозатратах, а не оценках) | ❌ | ✅ |
Это особенно ценно для Engineering Manager, которые хотят понять, куда уходит время, и Project Manager, которым нужны более точные данные для оценок.
Предварительные требования
| Требование | Подробности |
|---|---|
| Аккаунт Jira | Jira Cloud или Jira Data Center. Роль Admin для первоначальной настройки |
| Аккаунт PanDev Metrics | Роль Admin или Manager |
| Git-интеграция | Хотя бы один git-провайдер (GitLab, GitHub, Bitbucket или Azure DevOps) уже подключён к PanDev |
Git-интеграция важна — PanDev связывает коммиты с Jira issues, сопоставляя ключи задач в сообщениях коммитов и именах веток.
Шаг 1: Подключите Jira к PanDev
- В PanDev перейдите в Settings → Integrations → Jira
- Нажмите Add Jira Connection
- Введите URL вашего Jira-инстанса:
Jira URL: https://your-company.atlassian.net
- Нажмите Connect
- Появится экран согласия Jira OAuth — ознакомьтесь с запрашиваемыми разрешениями:
PanDev Metrics wants to:
✅ View Jira issues and projects
✅ View Jira worklogs
✅ View Jira sprint and board data
✅ View user profiles
- Нажмите Accept
Вы будете перенаправлены обратно в PanDev с подтверждением успеха.
Шаг 2: Выберите проекты для синхронизации
После подключения PanDev покажет все Jira-проекты, к которым ваш аккаунт имеет доступ:
- Просмотрите список проектов или используйте поиск по имени/ключу
- Включите проекты, которые хотите отслеживать
- Нажмите Save
Project Key Issues Status
─────────────────────────────────────────────
Frontend App FE 1,247 ✅ Enabled
Backend API API 3,891 ✅ Enabled
Mobile App MOB 682 ✅ Enabled
Internal Tools INT 156 ⬜ Disabled
Design System DS 94 ⬜ Disabled
:::tip Начните с малого Если у вас десятки Jira-проектов, начните с 2-3 активных инженерных проектов. Добавить остальные можно позже без потери данных. :::
Шаг 3: Настройте сопоставление ключей задач
Это магическая связь между Jira и вашей git-активностью. PanDev ищет ключи Jira issues в:
- Сообщениях коммитов —
FE-1234: Fix login button alignment - Именах веток —
feature/FE-1234-login-fix - Заголовках pull request —
[FE-1234] Fix login button alignment - Описаниях pull request — любое упоминание
FE-1234
PanDev обнаруживает эти паттерны автоматически. Никакой настройки не требуется, если ваша команда следует стандартным соглашениям по именованию.
Пользовательские правила сопоставления
Если ваша команда использует нестандартные паттерны, можно добавить пользовательские правила:
Settings → Integrations → Jira → Matching Rules
Паттерны по умолчанию (всегда активны):
✅ [PROJECT_KEY]-[NUMBER] в сообщениях коммитов
✅ [PROJECT_KEY]-[NUMBER] в именах веток
✅ [PROJECT_KEY]-[NUMBER] в заголовках и описаниях PR
Пользовательские паттерны:
+ Добавить паттерн: "task/([A-Z]+-\d+)" → извлечение ключа задачи из имён веток вроде task/FE-1234-description
+ Добавить паттерн: "closes #(\d+)" → сопоставление числовых ссылок (требуется контекст проекта)
Шаг 4: Синхронизация Worklogs (опционально)
Если ваша команда логирует время в Jira, PanDev может импортировать данные worklogs и сравнить их с реальной активностью в IDE:
- Перейдите в Settings → Integrations → Jira → Worklog Sync
- Включите Enable Worklog Sync
- Выберите частоту синхронизации:
Sync frequency:
○ Every hour
◉ Every 4 hours (рекомендуется)
○ Once daily
После включения PanDev создаёт сравнительное представление:
| Задача | Залогировано в Jira | Активность в IDE | Активность в Git | Разница |
|---|---|---|---|---|
| FE-1234 | 4ч | 2ч 15м | 1ч 48м | Jira переоценила на 1ч 45м |
| FE-1235 | 2ч | 3ч 30м | 2ч 52м | Jira недооценила на 1ч 30м |
| API-891 | 8ч | 6ч 10м | 5ч 22м | Jira переоценила на 1ч 50м |
Это не о контроле людей — это об улучшении точности оценок со временем.
Шаг 5: Сопоставьте пользователей Jira с профилями PanDev
Для кроссплатформенной аналитики PanDev нужно знать, какой пользователь Jira является каким участником команды:
- Перейдите в Settings → Team Management
- PanDev покажет обнаруженные имена пользователей Jira рядом с существующими маппингами GitHub/GitLab
- Подтвердите или скорректируйте автоматические сопоставления
Team Member GitHub GitLab Jira
───────────────────────────────────────────────────────────
Anna Chen @achen @anna.chen anna.chen@company.com ✅
Boris Kim @bkim — boris.kim@company.com ✅
Carlos Diaz @cdiaz @carlos.d carlos@company.com ⚠️ Проверить
Если email участника команды в Jira отличается от email в git, добавьте оба как алиасы.
Шаг 6: Исследуйте дашборд Jira
С поступающими данными PanDev создаёт несколько представлений, специфичных для Jira:
Метрики на уровне задач
Нажмите на любой Jira issue в PanDev, чтобы увидеть его полную инженерную хронологию:
FE-1234: Fix login button alignment
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Поток статусов Jira:
To Do ──(2д)──▸ In Progress ──(1д 3ч)──▸ In Review ──(4ч)──▸ Done
Реальная инженерная активность:
5 мар, 10:23 Первый коммит (anna.chen) +45 / -12 строк
5 мар, 11:07 Второй коммит (anna.chen) +23 / -8 строк
5 мар, 14:30 PR открыт → backend-api#342
5 мар, 16:15 Комментарий к ревью (boris.kim)
6 мар, 09:45 Коммит с исправлением (anna.chen) +7 / -3 строк
6 мар, 10:12 PR одобрен (boris.kim)
6 мар, 10:30 PR смержен
Общее время кодирования (IDE): 2ч 15м
Общее время ревью: 45м
Время ожидания (кодирование → ревью): 1ч 45м
Время ожидания (ревью → мерж): 17м
Аналитика спринтов
Спринтовое представление PanDev выходит за рамки графиков velocity:
| Метрика спринта | Что показывает |
|---|---|
| Запланировано vs. доставлено | Story points, взятые в спринт vs. выполненные |
| Распределение реальных трудозатрат | Как время кодирования распределяется между задачами спринта |
| Анализ переносов | Задачи, перешедшие в следующий спринт, и их фактический прогресс |
| Узкое место ревью | Задачи, которые ждали ревью дольше, чем кодировались |
| Расползание скоупа | Задачи, добавленные в середине спринта, и их влияние на доставку |
Свёртка на уровне эпиков
Для долгосрочного планирования PanDev агрегирует данные на уровне эпиков:
Epic: User Authentication Revamp (AUTH)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Задачи: 23 всего, 19 завершено, 4 в работе
Общее кодирование: 127 часов, 6 разработчиков
Общее ревью: 34 часа
Средний cycle time: 2.3 дня на задачу
Средний размер PR: +142 / -67 строк
Story points: 89 (оценка) → 97 (факт)
Шаг 7: Настройте алерты и отчёты
Автоматические алерты
Настройте алерты для распространённых проблем рабочего процесса Jira:
Settings → Alerts → Jira
Доступные алерты:
✅ Задача в "In Progress" без коммитов 48+ часов
✅ Задача в "In Review" без активности ревью 24+ часов
✅ Спринт под угрозой — менее 60% points завершено к середине спринта
⬜ Cycle time задачи превышает 2x от среднего по команде
Канал уведомлений: Slack #engineering-leads
Еженедельные отчёты по спринтам
PanDev генерирует еженедельный отчёт, объединяющий данные Jira и git:
Settings → Reports → Sprint Report
Получатели: engineering-managers@company.com
Частота: Каждый понедельник в 09:00
Включить:
✅ Прогресс спринта vs. план
✅ Топ контрибьюторов по времени кодирования
✅ Анализ узких мест ревью
✅ Тренд cycle time
✅ Перенесённые задачи
Распространённые паттерны и советы
Паттерн 1: Детектор «В работе, но без активности»
Один из самых ценных алертов. Если задача в Jira находится в статусе "In Progress" 2+ дня, но PanDev показывает ноль коммитов, веток или активности в IDE, что-то не так:
- Разработчик заблокирован и не сообщил об этом
- Задача была переведена в "In Progress" преждевременно
- Разработчик работает над ней, но забыл запушить коммиты
Это не микроменеджмент — это раннее обнаружение блокеров.
Паттерн 2: Калибровка оценок
После 3-4 спринтов совмещённых данных Jira + PanDev у вас достаточно данных для калибровки оценок:
Исторические данные для «Маленьких» задач (1-2 story points):
Среднее реальное время кодирования: 3.2 часа
Среднее время ревью: 1.1 часа
Средний общий cycle time: 1.4 дня
Исторические данные для «Средних» задач (3-5 story points):
Среднее реальное время кодирования: 8.7 часов
Среднее время ревью: 2.3 часа
Средний общий cycle time: 3.1 дня
Используйте эти данные при планировании спринтов для более реалистичных обязательств.
Паттерн 3: Балансировка нагрузки на ревью
PanDev показывает, какие участники команды обрабатывают больше всего код-ревью относительно своего времени кодирования. Если один человек тратит 40% времени на ревью, а другие — 5%, у вас есть узкое место.
Решение проблем
| Проблема | Решение |
|---|---|
| Issues не синхронизируются | Проверьте, не истёк ли OAuth-токен Jira. Переавторизуйтесь в Settings → Integrations → Jira |
| Issues синхронизируются, но нет привязки к коммитам | Убедитесь, что команда использует ключи Jira issues в сообщениях коммитов или именах веток |
| Время worklogs не совпадает | PanDev и Jira могут использовать разные настройки часовых поясов. Синхронизируйте их в Settings → Organization |
| Нет данных о спринтах | PanDev требует доступ к доскам Jira. Убедитесь, что подключённый аккаунт может просматривать доски, а не только бэклоги |
Следующие шаги
С подключённой Jira вы построили мост между управлением проектами и инженерной реальностью. Вот что стоит изучить:
- Ретроспективы спринтов — используйте отчёт PanDev по спринту как вход на основе данных
- Воркшопы по оценке — покажите историческое время кодирования на единицу story points
- Сравнение команд — сравните паттерны cycle time между командами (осторожно и с учётом контекста)
- AI-ассистент — спросите «Какие задачи заняли больше запланированного в прошлом спринте?» на естественном языке
Узнайте, куда на самом деле уходит время спринта. Подключите Jira к PanDev Metrics и превратите обновления статусов в инженерную аналитику.
