Jira: что это за программа и как в ней работать
Разбираем, как работает один из таких сервисов – Jira.
Что такое Jira
Jira – это программа для командной работы над проектами, разработка компании Atlassian. В каждом проекте можно изменять функционал под основные задачи и настраивать доступ участников. Jira Mobile – мобильная версия, в которой удобно обмениваться новыми данными и проверять, на какой стадии разработки находится продукт.
Для чего используют Jira
В Jira ведут проекты от идеи до полной разработки. Какие задачи помогает решать Jira:
Преимущества и недостатки сервиса
Что привлекает пользователей:
Как устроена Jira
Это сложный и мультиопциональный сервис. Разберем каждый компонент, чтобы понять, как устроена Jira.
Интерфейс
Задачи
В приложении задачи называются Issues. В них прописывается проблема, которая требует решения, или ошибка, которую нужно исправить. Issues – это составные части проекта и спринта.
Типы задач
Готовые варианты: новая функция, подзадача, баг или эпик. В настройках проекта можно задавать собственный тип задач при необходимости. Категории можно фильтровать по важности и быстро находить нужные задачи.
Дорожная карта (расписание)
Чтобы ее создать, откройте справа вкладку Roadmap. Внутри дорожной карты нажмите Create Epic и объедините несколько задач в эпики. Затем команда устанавливает зависимости – связи между эпиками. Разработчики адаптируются под зависимости и планируют альтернативные пути. Картой можно поделиться, добавить в презентацию или распечатать.
Релизы
Новые версии проекта разработчики отправляют пользователям в приложение. В Jira есть контроль новых версий и список всех релизов. Его можно открыть, нажав на значок корабля.
Код и деплой
Приложение интегрируется с системы управления версиями программного кода: Bitbucket, Github и Gitlab. Лидеры команд могут отслеживать изменения в коде.
Pages
Эта функция напоминает Google Docs, но с меньшим функционалом. Это текстовый редактор с основными возможностями форматирования текста. В нем предусмотрены шаблоны, которые можно применять по умолчанию и редактировать под себя. Например, формы для тестирования и составления расписания.
Дашборды
Дашборд – это рабочий стол в Jira. Он формируется автоматически, корректировки вносятся вручную.
Их там много, выберите актуальные для вашего проекта. Достаточно 5–7. Например: «Лента активности» (Activity Stream), «Назначено мне» (Assigned To Me), « Задачи в процессе» (In Progress), «Статистика задач» (Issue Statistics), «Дорожная карта» (Roadmap).
Плагины
Atlassian продвигает дополнительные плагины сторонних программ, которые можно подключить к Jira. Например, Hip-Chat – плагин, который отправляет оповещения и помогает команде оставаться на связи, или Gliffy Diagrams – инструмент для создания диаграмм.
Виджеты Calltouch
Как создать задачу в Jira
Атрибуты задач
В новую задачу можно добавить дополнительные атрибуты:
Настройка отчетов
Burnup report
Этот отчет отражает объем выполненной работы и сравнивает его с запланированной. Чтобы определить отклонение от плана, проанализируйте график:
Sprint burndown chart
В графике видно работу членов команды и общую производительность по срокам. Также он помогает рассчитать примерное число подготовки проекта.
Velocity report
Этот график показывает скорость команды. Здесь руководители могут увидеть каких сотрудников стоит добавить, чтобы увеличить темп работы и сколько времени оставить для следующего проекта.
Cumulative flow diagram
Лидеры команды могут посмотреть изменения статуса каждой задачи на протяжении всего проекта. Также отчет покажет, какие задачи оставались невыполненными дольше всего. Здесь можно увидеть проблемные места всего проекта и корректировать процесс.
Отслеживайте общие показатели вашего бизнеса со Сквозной аналитикой Calltouch. Она поможет узнать, какой рекламный канал работает лучше. Вставьте скрипт в код вашего сайта, подключите CRM и получайте понятные и полезные отчеты. Настройка сервиса займет всего 20 минут. Две недели аналитики – бесплатно.
Сквозная аналитика
Алгоритм работы с Jira
С чего начать и как работать:
Как повысить производительность
Есть лайфхаки, которые упрощают работу в Jira. Используйте их, чтобы создать идеальный рабочий процесс для своей команды. Самый простой трюк – используйте горячие клавиши. Рассмотрим, как еще можно оптимизировать разработку проекта:
Стоимость Jira
Бесплатный тариф ограничивает число участников до 10 и память до 2 Гб.
Вы можете рассчитать стоимость на каждого пользователя.
Аналоги Jira
Если считаете Jira слишком сложным или вам наоборот не хватает функций, попробуйте аналоги:
Jira ticket что это
Jira — коммерческая система отслеживания ошибок, предназначена для организации взаимодействия с пользователями, хотя в некоторых случаях используется и для управления проектами.
Разработана компанией Atlassian, является одним из двух её основных продуктов (наряду с вики-системой Confluence). Имеет веб-интерфейс.
Название системы получено путём усечения слова «Gojira» — японского имени монстра Годзилла, что, в свою очередь, является отсылкой к названию конкурирующего продукта — Bugzilla; создавалась в качестве замены Bugzilla и во многом повторяет её архитектуру.
Система позволяет работать с несколькими проектами. Для каждого из проектов создаёт и ведёт схемы безопасности и схемы оповещения.
Первый выпуск — в 2002 году. Изначально применялась в процессах разработки программного обеспечения, впоследствии нашла применение в качестве инструмента управления проблемами, задачами, проектами в различных отраслях.
Процесс универсализации ускорился после запуска Atlassian Marketplace в 2012 году, который позволил сторонним разработчикам предлагать плагины для Jira BigPicture, Portfolio for Jira, Structure и Tempo Planner — основные плагины для управления проектами для Jira. До версии 3.13.5 (включительно) различались редакции Enterprise, Professional и Standard, после — осталась только редакция Enterprise (для крупных организаций).
Реализация
Система основана на Java EE и работает на нескольких популярных системах управления базами данных и операционных системах.
Ticket
Основной элемент учёта в системе — задача (англ. ticket или issue).
Задача содержит название проекта, тему, тип, приоритет, компоненты и содержание.
Задача может быть расширена дополнительными полями (также и новые пользовательские поля могут быть определены), приложениями (например — фотографиями, скриншотами) или комментариями.
Задача может редактироваться или просто изменять статус, например, из «открыт» в «закрыт».
Какие переходы между состояниями возможны, определяется через настраиваемый поток операций.
Любые изменения в задаче протоколируются в журнал.
Конфигурация
Jira имеет большое количество возможностей конфигурации: для каждого приложения может быть определён отдельный тип задачи с собственным workflow, набором статусов, одним или несколькими видами представления (англ. screens). Кроме того, с помощью так называемых «схем» можно определить для каждого индивидуального Jira-проекта собственные права доступа, поведение и видимость полей и многое другое.
Применение
Благодаря универсальному подходу можно приспособить Jira для многих непрофильных задач, например, управления требованиями, управления рисками, вплоть до реализации небольшой системы бронирования, автоматизации процесса рекрутинга.
Интеграция
Для сторонних разработчиков предоставляются средства разработки расширений системы — плагинов. Разработчики расширений могут выкладывать плагины для продажи на специальный раздел сайта Atlassian.
Создать свой фильтр
Не всегда удобно искать свои таски на Kanban доске.
Проще создать свои фильтры, которые будут показывать нужную именно вам информацию
Filters → Advanced issue search
В поисковой строке будет текст, например
order by created DESC
Удалите его и можно начинать писать своё условие на языке JQL
Посмотреть все свои тикеты
Чтобы посмотреть все тикеты на которые вы были назначены достаточно выполнить
project = TopBicycle AND assignee = currentUser()
Более сложный пример
Допустим, вам нужно найти все активные таски для проекта TopBicycle в которых вы назначены тестировщиком
project = TopBicycle AND «Tester[User Picker (single user)]» = currentUser() AND status not in (Done, Rejected)
Нажмите ENTER и убедитесь, что фильтр сработал
Нажмите Save as и в окне Save Filter введите в поле Filter Name* название для вашего фильтра
Нажмите ENTER и теперь в Filters должен появиться только что созданный фильтр.
Для связи различных условий доступны логические операторы AND (И) и OR (ИЛИ).
Порядок выведения элементов можно регулировать с помощью ORDER BY
Как только вы напишите project = должен появиться выпадающий список с доступными проектами
Cодержит ключевое слово
Допустим, вам нужно найти все таски в статусе Ready for testing для проекта HeiHei в описании и названии которых встречается SDK
project = HeiHei AND status in («Ready for testing») AND (description
Не содержит ключевое слово
Допустим, вам нужно найти все таски в статусе Ready for testing для проекта HeiHei в описании и названии которых не встречается SDK
Настройка Jira под ваши нужды. Cовершенный флоу и идеальный тикет
Если вы работаете в IT-компании, то, скорее всего, ваши процессы построены вокруг известного продукта Atlassian — Jira. На рынке есть множество таск-трекеров для решения тех же задач, в том числе open-source-решения (Trac, Redmine, Bugzilla), но, пожалуй, именно Jira имеет сегодня самое широкое распространение.
Меня зовут Дмитрий Семенихин, я тимлид в компании Badoo. В небольшом цикле статей я расскажу, как именно мы используем Jira, как настраивали её под свои процессы, что хорошего «прикрутили» сверху и как тем самым превратили issue-трекер в единый центр коммуникаций по задаче и упростили себе жизнь. В этой статье вы увидите наш флоу изнутри, узнаете, как можно «докрутить» свою Jira, и прочтёте о дополнительных возможностях инструмента, о которых могли не знать.
Статья ориентирована прежде всего на тех, кто уже использует Jira, но, возможно, испытывает сложности с интеграцией её стандартных возможностей в существующие в компании процессы. Также статья может быть полезна компаниям, которые используют другие таск-трекеры, но столкнулись с некоторыми ограничениями и подумывают о смене решения. Статья построена не по принципу «проблема — решение», в ней я описываю сложившийся инструментарий и фичи, построенные нами вокруг Jira, а также технологии, которые мы использовали для их реализации.
Дополнительные возможности Jira
Чтобы последующий текст был более понятным, давайте разберёмся, какие инструменты предоставляет нам Jira для реализации нестандартных хотелок — тех, что выходят за рамки стандартного функционала Jira.
REST API
В общем случае вызов команды API — это HTTP-запрос к URL API с указанием метода (GET, PUT, POST and DELETE), команды и тела запроса. Тело запроса, а также ответ API — в JSON-формате. Пример запроса, который вернёт JSON-представление тикета:
С помощью API вы можете, используя скрипты на любом языке программирования:
Мы написали собственный высокоуровневый Jira API-клиент на PHP, который реализует все необходимые нам команды. Вот пример команд для работы с комментариями:
Webhooks
С помощью webhook можно настроить вызов внешней callback-функции на вашем хосте на различные события в Jira. При этом можно настроить сколько угодно таких правил таким образом, что различные URL будут «дёргаться» для разных событий и для тикетов, которые соответствуют указанному в webhook фильтру. Интерфейс настройки webhooks доступен администратору Jira.
В результате можно создавать правила вроде этого:
Name: “SRV — New Feature created/updated”
URL: www.myremoteapp.com/webhookreceiver
Scope: Project = SRV AND type in (‘New Feature’)
Events: Issue Updated, Issue Created
В данном примере указанный URL будет вызываться для событий создания и изменения тикетов, соответствующих фильтру Scope. При этом в теле запроса будет содержаться вся необходимая информация о том, что именно изменилось и какое событие произошло.
Тут важно понимать, что Jira не гарантирует, что ваше событие будет доставлено. Если внешний URL не ответил или ответил с ошибкой, это нигде видно не будет (кроме логов, пожалуй). Поэтому обработчик событий webhook должен быть максимально надёжным. Например, события можно складывать в очередь и пытаться обработать до тех пор, пока это не закончится успехом. Это поможет решить проблемы с временно недоступными сервисами, например, какой-либо внешней базой данных, необходимой для правильной обработки события.
Подробная документация о webhooks представлена по ссылке.
ScriptRunner
Это плагин к Jira, очень мощный инструмент, который позволяет кастомизировать в Jira очень многое (в том числе он способен заменить собой webhooks). Для пользования этим плагином требуется знание Groovy. Основное преимущество инструмента для нас состоит в том, что можно встраивать во флоу кастомную логику в режиме онлайн. Код вашего скрипта будет исполняться сразу в среде Jira в ответ на определённое действие. Например, можно сделать в интерфейсе тикета свою кнопку, клик по которой будет создавать связанные с текущей задачей тикеты или запускать юнит-тесты для данной задачи. И если вдруг что-то пойдёт не так, вы как пользователь сразу об этом узнаете.
Желающие могут ознакомиться с документацией.
Флоу: что скрыто под капотом
А теперь о том, как мы применяем дополнительные возможности Jira в наших проектах. Рассмотрим это в контексте прохождения нашего типичного тикета по флоу от создания до закрытия. Заодно и про сам флоу расскажу.
Open/Backlog
Итак, сначала тикет попадает в беклог новых тикетов со статусом Open. Далее лид компонента, увидев новый тикет на своём дашборде, принимает решение: назначить тикет прямо сейчас разработчику либо отправить его в беклог известных тикетов (статус Backlog), чтобы назначить его позже, когда появится свободный разработчик и более приоритетные тикеты будут закрыты. Это может показаться странным, так как кажется логичным делать наоборот: создавать тикеты в статусе Backlog, а потом переводить в статус Open. Но у нас прижилась именно эта схема. Она позволяет легко настроить фильтры, чтобы сократить время принятия решения по новым тикетам. Пример JQL-фильтра, который показывает новые задачи лиду:
Project = SRV AND assignee is EMPTY AND status in (Open)
In Progress
Надо отметить, что у нас работа над каждой задачей ведётся в отдельной Git-ветке. Насчёт этого у нас есть соглашение, что имя ветки в начале должно содержать номер тикета. Например, SRV-123_new_super_feature. Также комментари к каждому коммиту в ветку должны содержать номер тикета в формате [SRV-123]:
Эти требования контролируются Git-хуками. Например, вот содержимое prepare-commit-msg, который подготавливает комментарий к коммиту, получая номер тикета из имени текущей ветки:
Если коммит с «неправильным» комментарием попытаться запушить, такой пуш будет отклонён. Также отклонена будет попытка запушить ветку без номера тикета в начале.
Когда тикет попадает на разработчика, первым делом он декомпозируется. Результатом декомпозиции является представление разработчика о способах решения задачи и о том, сколько времени займёт решение. После того как все основные детали выяснены, тикет переводится в статус In Progress, а разработчик начинает писать код.
У нас принято выставлять задаче due date в момент, когда она переводится в статус In Progress. Если же разработчик этого не сделал, ему придёт напоминание в корпоративный мессенджер HipChat. Специальный скрипт раз в два часа:
Что ещё?
Ещё с помощью API и webhooks Jira мы делаем такие вещи:
Итоги
Jira — прекрасный инструмент, который в стандартной поставке позволяет решать большинство проблем, связанных с организацией ведения проектов. Но, как известно, в любом бизнесе есть свои нюансы. И для адаптации Jira к особенностям ваших процессов этот продукт обладает дополнительными возможностями, которые в умелых руках позволят вам решить практически любую проблему.
В следующей статье я планирую поделиться нашим опытом по настройке дашбордов — лидских и девелоперских. Также расскажу про настройку уведомлений в Jira и поделюсь секретами о том, как мы организуем синхронизацию работы разных команд на базе Jira. Надеюсь, что-то из нашего опыта пригодится и вам.
Jira ticket что это
Jira — это инструмент управления проектами, который помогает оптимизировать работу команды. Принцип работы сервиса похож на диспетчер задач в компьютере: с его помощью отслеживают запущенные процессы (проекты) и контролируют число ресурсов (сотрудников). В Jira проджект-менеджер грамотно распределяет сотрудников для выполнения задач и планирует работу. Например, если в работе уже четыре проекта, в которых задействованы все разработчики, значит, новый проект запускать не стоит, нужно дождаться завершения хотя бы одного.
Agile-разработка с Jira
В Jira работают Samsung, Coca Cola, Visa, Dropbox и Audi. NASA использует Jira для создания ПО, которое управляет беспилотными исследовательскими аппаратами в космосе, например марсоходом Curiosity. Еще все эти компании придерживаются методологии Agile.
Agile — это гибкая система разработки, в которой сложные задачи разбиваются на итерации — небольшие этапы. После каждого из них команда постепенно выдает готовые части продукта, их тестируют и оценивают. Одну итерацию называют спринтом ( англ. sprint — бег на короткую дистанцию). В конце спринта команда подводит итоги и ставит себе задачи на следующий.
Главные принципы Agile:
Есть два подхода к работе над проектом, основанные на Agile.
1. Методика Kanban — это способ визуализации задач с помощью досок, на которых задачи располагаются в соответствии со статусом. Стандартная канбан-доска делится на три колонки:
К этим колонкам можно добавлять другие. Например, между задачами в работе и завершенными поставить колонку с этапом тестирования. Такие доски используют для разных процессов — в команде маркетинга или при любой проектной работе.
2. Методика Scrum — в ней собраны все принципы гибкой разработки: деление на спринты, взаимодействие в команде и с заказчиком, нацеленность на рабочий продукт. Для визуализации рабочего процесса в Scrum тоже используют доски, на которых отслеживается процесс разработки. Отличие от канбан-досок в том, что самую важную роль играют спринты и задача не может находиться в работе дольше, чем длится спринт. Доски бывают физическими — тогда команда перемещает задачи, переклеивая стикеры. Такую методику скрам-мастера рекомендуют для небольших команд, у которых все разработчики в одном офисе. В Jira виртуальные скрам-доски выглядят так:
Для чего используют Jira
Этот инструмент создавали для отслеживания статуса задач и ошибок, но со временем его функционал расширился. Сегодня в Jira можно управлять процессом разработки от идеи до запуска готового продукта. Кроме IT-команд, ее используют маркетологи, аналитики, тестировщики и другие специалисты.
Для чего может помочь Jira:
Начните свой путь в IT
Попробуйте себя в IT-профессиях. Получите все курсы по программированию, аналитике данных, Data Science по цене одного.
Как пользоваться Jira
Зайдите на сайт проекта и зарегистрируйтесь с помощью электронной почты, Slack, Microsoft или Google-аккаунта.
После регистрации придумайте имя проекта. Система рекомендует выбирать простое и понятное, например название компании, чтобы никто из команды его не забыл. Но нужно уникальное имя — некоторые уже могут быть заняты.
После регистрации инструменты для управления будут доступны.
Интерфейс
Внешне Jira похожа на любой другой таск-менеджер.
В верхней строке меню шесть вкладок:
В рабочей области отображаются доски с колонками и задачи, которые в зависимости от статуса перемещаются между этими колонками. Есть несколько типов задач:
Боковое меню состоит из элементов управления проектами:
В нижней части бокового меню расположены компоненты проекта:
Создание первого проекта
После регистрации в Jira кнопка «Создайте проект» появится в рабочей области в самом центре экрана:
Шаг 1. Jira предлагает на выбор три шаблона проектов, которые подходят для разных методов работы команд:
В первых двух шаблонах рабочий процесс разбит на колонки «К выполнению», «В работе» и «Готово», и в них доступны одинаковые типы задач: эпик, история, баг, задание, подзадача.
Шаг 2. При выборе шаблонов Kanban и Scrum Jira предлагает выбрать тип управления проектом:
Шаг 3. Проекту присваиваются название и ключ:
После этого новый проект будет создан, и внутри него уже можно создавать задачи:
Создание задачи
Добавить задачу в проект можно двумя способами: кликнуть на кнопку «Создать» в верхнем меню или на «+ Создать задачу» в колонке «К выполнению». Во всплывающей форме заполняются атрибуты задачи:
Повышение производительности Jira
Компания Atlassian поддерживает комьюнити пользователей Jira и создает обучающие материалы, с помощью которых легче внедрить этот инструмент в работу. Например, на официальном сайте есть инструкция «Шесть базовых шагов для начала работы с Jira».
Вот что рекомендуют специалисты из Atlassian, чтобы повысить эффективность работы в Jira.
Дробить большие задачи на мелкие. В тайм-менеджменте есть прием — разделить слона (большую и трудную задачу) на бифштексы (мелкие и простые задачи), потому что так слона удобнее есть. Этот принцип применим не только к масштабным проектам, но и к простым заданиям, которые выдаются сотрудникам. Если в задаче несколько шагов или действий, стоит разделить ее на подзадачи, каждую из них расписать внятно и подробно, а не пытаться уместить алгоритм выполнения в одном описании, потому что в нем сотрудник может запутаться.
Каждая задача должна состоять из одного понятного действия. Например, «Составить дизайн-макет продукта» — это не задача, а этап работы, который состоит из цепочки действий: провести интервью с заказчиком, создать бриф, собрать референсы, обсудить дизайн с командой разработки, согласовать референсы с заказчиком, создать «рыбу» макета и так далее. Описанные шаги — это даже не половина работы над дизайн-макетом, а только малая часть, и каждый из шагов — отдельная задача.
Комментировать задачи. Комментарии — это архив обсуждений проекта, к которому обращаются, если возникли разногласия или ошибки. Они помогают команде не держать в голове мысли по поводу проекта, а фиксировать их под карточками задач и доносить друг до друга нюансы работы.
Допустим, в проекте возникла ошибка — кнопка в приложении вместо нужной страницы отправляет пользователя на главную. Один из разработчиков вспоминает, что подобная ошибка возникала в работе над предыдущим проектом и в комментариях обсуждали, в чем ее причина и как это можно исправить.
Готовиться к спринтам. Подготовка — это составление списка задач, расстановка приоритетов, оценка целей, сроков выполнения работы и сложности. На планирование создатели Jira советуют отводить не менее двух часов в неделю, а при оценке сложности использовать разные способы и обозначения. Например, можно использовать размеры одежды для обозначения величины задач, где XS — это небольшая, простая в решении задача, а XXL — объемная и сложная, которая не решается за один спринт.
Аналоги Jira
Это тоже инструмент для управления процессами на основе канбан-досок, который разработали Fog Creek, но в 2017 году его выкупила компания Atlassian, и теперь и Trello, и Jira принадлежат ей. Trello считается интуитивно понятным инструментом, который подходит любым, даже небольшим командам.
Работа, как и в Jira, организована по методу Kanban, задачи располагаются на досках и делятся на колонки: запланированные, в работе и завершенные. Для каждой задачи заводится новая карточка с названием, описанием, метками, исполнителем и другими атрибутами. Но в отличие от задач в Jira, карточки в Trello могут содержать подзадачи, списки или чек-листы.
Инструмент для управления процессами, организующий задачи в группы, которые и называются Basecamp, то есть «базовый лагерь». Таких групп шесть: новостная лента (Message Board), лист задач (To-dos), общий чат (Campfire), календарь (Schedule), автоматический чек-лист (Automatic Check-ins), документы и файлы (Docs & Files).
Преимущество Basecamp — это Campfire, чат для общения в команде, своего рода лагерный костер, где все собираются и обсуждают задачи, — а также автоматические чек-листы, благодаря которым можно не задавать коллегам вопросы о готовности задач, а отслеживать их самостоятельно.
Asana предлагает пользователям выбрать вариант контроля процессов: доски, список задач, таймлайн или календарь. Принцип управления процессом похож на Jira и другие планировщики: проект делится на задачи и подзадачи, у задач есть авторы и исполнители, их распределяют на доске в соответствии со статусом и располагают на таймлайне.
В Asana предусмотрено три уровня коммуникации: общение происходит в комментариях к задаче, в проекте или внутри команды, — это отличает ее от других таск-менеджеров. Для обмена файлами предусмотрена интеграция с Dropbox, Google Диском, Adobe Creative Cloud и другими сервисами.
Позиционирует себя как простая альтернатива другим планировщикам. У Wrike есть готовые шаблоны, выбор которых зависит от целей проекта, — например «Управление маркетинговой кампанией», «Запуск продукта», «Планирование нового проекта» и Канбан-доска.
Wrike, как и Jira, позволяет создавать дашборды с отчетами, отслеживать загруженность команды, чтобы предотвратить переработки и выгорание. Также в планировщике есть система контроля версий. Документы в форматах Word и Excel редактируются прямо во Wrike, скачивать их не нужно.
































