на чем написана jira
Разработка плагинов для Atlassian JIRA
Все мы в IT сталкивались с системами отслеживания ошибок — с так называемыми баг-трекерами, с issue-трекерами. Один из популярных продуктов такого рода — Atlassian JIRA.
На самом деле, Atlassian JIRA — это больше, чем просто система отслеживания ошибок. JIRA может использоваться довольно широко — в том числе и для управления проектами. Можно сказать, что JIRA — это система для отслеживания статуса задач. Задачи могут быть разными: это сбор требований, тестирование, непосредственно разработка и т. д. Я видел даже попытки подсадить на JIRA бухгалтеров — а что, мол, будет у нас agile-бухгалтерия!
На официальном же сайте JIRA описывается следующим образом:
JIRA is the tracker for teams planning and building great products. Thousands of teams choose JIRA to capture and organize issues, assign work, and follow team activity. At your desk or on the go with the new mobile interface, JIRA helps your team get the job done. В общем, основная идея JIRA в том, что она позволяет планировать работу.
В этой статье я расскажу о том, как разрабатывать дополнения к этой программе. Впрочем, может возникнуть вопрос — а зачем разрабатывать дополнения для JIRA. Поэтому давайте рассмотрим, какие дополнения бывают.
Примеры дополнения для Atlassian JIRA
Но прежде, чем говорить о том, как писать дополнения для JIRA, посмотрим, что вообще можно с помощью них делать — для этого сделаем небольшой обзор нескольких дополнений для JIRA.
Plain Tasks упрощает управление задачами. Благодаря этому дополнению можно легко работать с простыми задачами, которым не нужен поток работ (workflow) — ведь в некоторых случаях отображение потока работ действительно излишне. Таким образом, задача либо есть, либо она выполнена — когда вы ставите галочку, задача закрывается, и всё, и вам не нужно городить дополнительный поток работ, состоящий из двух действий, в уже существующем проекте. Эта же самая возможность является стандартной в Confluence — другом Atlassian-продукте — там это называется “action points”. Стоимость этого дополнения весьма высокая — так, для 250-ти пользователей это маленькое дополнение стоит 800$.
Следующее дополнение, которое мы рассмотрим — более сложное. Это Folio. Он стоит уже 4000$ для 250-ти пользователей. По сути, это попытка (довольно успешная, надо признать) “подсадить” на JIRA отдел кадров. Folio позволяет увидеть, сколько часов работали сотрудники компании за определённый период. Также в это дополнение заносятся все данные о затратах на проект — например, какая зарплата выплачивается сотрудникам. Можно вносить единичные траты — например, если для проекта купили два “Макбука”. Можно вносить также и постоянные траты — например, ежемесячную оплата интернета и т. д. Поэтому, в каком-то смысле, это также инструмент для бухгалтерии. Всё это красиво отображается в виде отчётов и диаграмм.
Идея дополнения Tempo Timesheets — учёт рабочего времени. Стоит 4000$ для 250-ти пользователей. Это дополнение решает проблему отчётности — таблицы с учётом рабочего времени можно экспортировать в разные форматы, распечатывать и класть на стол руководителю или заказчику — чтобы он знал, сколько времени тратится на проекты. Есть также планирование времени — туда можно заносить отпуска, выходные, праздники и т. д. Есть пометка о том, утверждён отчёт о распределении рабочего времени менеджером или нет.
Дополнение Profields стоит меньше, чем предыдущие — 1400$ для 250-ти пользователей. Profields решает насущную проблему JIRA. На уровне задач (issues) в JIRA предусмотрена возможность добавления пользовательских полей. Например, очень популярен “заказчик”, показывающий, какой бизнес-пользователь запросил изменения. А на уровне проекта создание пользовательских полей не предусмотрено. Другими словами, в JIRA нет механизма расширения схемы проекта. Profields эту проблему решает: он сбоку, в отдельной таблице хранит пользовательские поля для проекта. Впрочем, в будущем, если верить Atlassian, в JIRA эта функция будет стандартной.
Разработка дополнений для JIRA
Итак, мы посмотрели, какие вообще бывают дополнения для JIRA. Теперь посмотрим, как их разрабатывают.
Atlassian SDK
Всё начинается с Atlassian SDK. Atlassian SDK — это набор инструментов разработки не только для JIRA, но и для всей линейки продуктов Atlassian (Confluence, Crowd и т. д.) Более того, в последнее время наметилась тенденция выделения для всех этих продуктов общего API — Shared Access Layer (SAL). Несмотря на то что в разных Atlassian-продуктах используются разные библиотеки, разные подходы и т. д., в Atlassian понимают, что хорошо бы всё как-то унифицировать, чтобы была возможность создавать общие дополнения. Например, это может быть общее для всех продуктов логгирование входа в систему, которое пока что сделать невозможно, т.к. API у разных приложений различается.
Из чего состоит Atlassian SDK? По сути, это запакованный, хорошо знакомый Java-разработчикам Apache Maven с некоторыми дополнениями. Вместе с этим SDK идёт репозиторий с базовыми зависимостями JIRA, файл “settings.xml” — конфигурация Maven для того, чтобы он брал зависимости из репозитория, а не скачивал их с Maven Central. Также в этом файле прописан репозиторий Atlassian Maven Repository, в котором лежат публичные библиотеки Atlassian — дело в том, что у Atlassian, кроме их продуктов, есть также довольно много библиотек c открытым исходным кодом, которые можно использовать отдельно от продуктов Atlassian. Так, навскидку я могу назвать Atlassian Seraph (библиотека для организации SSO-систем) и Atlassian Fugue (Functional Guava Extensions — это небольшая библиотека популярных монад поверх Guava).
Между прочим, в нашей компании, мы, после того, как разобрались в работе Atlassian SDK, его больше не используем. Вместо этого мы собираем наш проект обычным Maven’ом, а все библиотеки скачиваются из корпоративного хранилища артефактов.
Инструменты командной строки
В этом SDK содержатся некоторые скрипты, которые, по сути, “оборачивают” задачи Maven. То есть это, по сути, не более чем файлики для разных платформ, в которых происходит вызов задач Maven с определённым набором ключей. Я их разделил на пять групп.
Первая группа (“scaffold”) — это то, что вам может понадобиться, когда вы создаёте новое дополнение. Этими командами создаются “скелетики” дополнений: вас например спросят, как вы хотите назвать REST endpoint, какой выдавать формат данных (json или xml), вас попросят указать путь до класса, который является ответом и т. д. Для остальных компонентов также присутствует подобный “консольный wizard”. Но, конечно, необязательно пользоваться всеми этими штуками, если вы понимаете, как писать обычный JavaEE код.
Краткий обзор Jira
Jira — это набор agile-решений для управления работой, который обеспечивает совместную работу между всеми командами, начиная с разработки идеи продукта и заканчивая его поставкой клиенту, а также позволяет вам вместе добиваться наилучших результатов. Jira предлагает ряд продуктов и вариантов развертывания, специально разработанных для команд разработчиков ПО, ИТ-команд, бизнес-команд, операционных команд и т. д. Информация, приведенная ниже, поможет сделать правильный выбор.
О семействе продуктов Jira
С помощью Jira команды могут планировать, назначать и отслеживать работу, а также управлять ею и создавать отчеты. Jira позволяет объединяться для любой работы, от agile-разработки ПО и поддержки клиентов до организации стартапов и крупных предприятий.
Команды разработчиков ПО работают лучше с помощью Jira Software — лучшего инструмента для agile-команд. Предоставляйте обслуживание высочайшего уровня ИТ-командам, командам разработчиков, а также операционным и другим командам с помощью Jira Service Management. Бизнес-команды могут открыть возможности методики Agile и повысить эффективность совместной работы с помощью Jira Work Management. Кроме того, существует Jira Align — платформа для корпоративного agile-планирования и координации работы при любом масштабе.
Шаблоны и решения, разработанные для каждой команды, а также Jira в качестве общего инструмента обеспечивают легкость и прозрачность работы в вашей организации.
Обзор продуктов Jira
Для всех участников agile-команды и не только: планируйте, отслеживайте и выпускайте ПО мирового уровня.
Теперь клиентам проще обращаться за помощью, а сотрудникам поддержки — оказывать ее.
Управляйте любым бизнес-проектом, включая рекламные кампании, набор персонала, согласование и утверждение юридических документов.
Платформа для корпоративного agile-планирования — связующее звено между стратегиями на уровне продуктов, программ и портфелей и техническим воплощением при любом масштабе.
Пользователи
Примеры использования
Размещение
Лицензирование
Основные интеграции для Jira Software
Пользователи
Примеры использования
Размещение
Лицензирование
Пользователи
Примеры использования
Размещение
Лицензирование
Основные интеграции для Jira Work Management
Пользователи
Примеры использования
Размещение
Облако, выделенное облако
Лицензирование
Пользователи Jira Align Standard имеют доступ ко всем функциональным возможностям программных и (или) командных модулей для совместного планирования, управления, реализации, анализа, создания отчетов и наглядного представления данных.
Пользователи Jira Align Enterprise имеют доступ ко всем функциональным возможностям версии Standard, а также модулям решений, портфелей и корпоративным модулям.
Основные интеграции для Jira Align
Варианты размещения Jira Software
Решение Jira Software предполагает два варианта размещения: в облаке и на собственном хостинге. Не уверены, какой вариант лучше выбрать? Ознакомьтесь с обзором ниже.
Cloud
При покупке версии Cloud мы выполняем для вас размещение и настройку сайта Jira Software в облаке. Этот вариант подходит командам, которые хотят приступить к работе как можно быстрее или не хотят тратить время и силы на техническое обеспечение самостоятельного хостинга. Подробнее
Data Center
При выборе версии Jira Software Data Center можно разместить Jira Software на собственном оборудовании или у поставщиков IaaS-инфраструктуры, например AWS или Azure. Этот вариант, как правило, подходит корпоративным командам, которым нужен постоянный доступ к Jira Software и высокая производительность при любом масштабе. Подробнее
Основные понятия
Неполадки
«Задача» Jira обозначает отдельную рабочую задачу любого типа или размера, которая отслеживается от создания до завершения. К примеру, задачей может быть функциональная возможность, которую разрабатывает команда разработчиков, или задача, стоящая перед командой маркетологов, или контракт, который необходимо составить команде юристов.
Подсказка: для обозначения задач используются также термины «запросы», «заявки» или «задания». Мы рекомендуем все-таки называть их «задачами», чтобы избежать путаницы в команде при работе с семейством продуктов Jira.
Проекты
Проект, если подходить просто, — это совокупность задач, объединенных общей целью или контекстом. Задачи, сгруппированные в проекты, можно настраивать различными способами. Можно ограничить видимость задачи, можно привязать задачу к существующим рабочим процессам.
Проекты Jira Software — это адаптируемые рабочие пространства, позволяющие группировать похожие задачи по командам, бизнес-подразделениямм, продукта или направлениям деятельности. Проекты не обязательно прикреплять к одной дате поставки. Например, сгруппировав задачи по команде, вы можете получить проект по маркетингу, проект по разработке и проект юридического характера, в каждом из которых будет отслеживаться работа соответствующих команд. Каждая задача будет отмечена ключами задачи (у каждого проекта свои ключи) и номером задачи, например MKT-13, DEV-4, LEG-1.
Доски
Доска в Jira Software является элементом проекта и служит для отображения задач. Это гибкий инструмент, позволяющий следить за ходом работы, управлять им и создавать отчеты. Другими словами, на доске визуально представлен рабочий процесс команды в рамках проекта.
Процессы
Рабочий процесс представляет собой поэтапный путь, который проходит задача от создания до завершения. Классический рабочий процесс может выглядеть примерно так:
Здесь Open (Открыто), Done (Завершено) и все промежуточные метки обозначают статус, который задача может принимать, а стрелки обозначают возможные переходы из одного статуса в другой. Рабочие процессы могут быть простыми или сложными, содержать условия, триггеры, валидаторы и пост-функции. Такие сложные конфигурации будут рассмотрены в этом руководстве далее. На данном этапе администраторам, впервые работающим с Jira Software, рекомендуется не усложнять рабочие процессы, если сложный рабочий процесс не является изначальным требованием бизнеса.
Гибкая методология Agile
Термин agile не относится напрямую к Jira Software. Это рабочая методика, сложившаяся в сфере разработки ПО и впоследствии перенесенная во многие другие отрасли. Мы не будем специально останавливаться на определении (для этого есть другие специализированные ресурсы по agile). Скажем лишь, что agile опирается на итеративный подход к работе, обратную связь с клиентами и непрерывную инкрементальную поставку результатов работы. Идеальная agile-команда способна действовать быстро и приспосабливаться к меняющимся требованиям без существенного снижения скорости работы.
Мы затронули здесь тему agile неспроста. Основные наборы возможностей Jira Software были разработаны специально для работы по методикам agile, в том числе scrum и kanban. Поэтому, встретив такие понятия, как «доски», «оценка» или «карточки», задумайтесь, подходят ли для вашего порядка работы принципы agile.
Помните, что agile — это философия и культура работы, поэтому само по себе использование Jira Software не означает, что ваша команда теперь придерживается этих принципов. Это инструмент, который поможет вашей команде приобщиться к agile.
С помощью Jira Software команды, следующие принципам Agile, могут работать еще эффективнее. Для получения дополнительной информации ознакомьтесь с рекомендациями по использованию методик Agile для Jira. Перейти к руководству.
На чем написана jira
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, скачивать их не нужно.























