В поисках альтернативы Jira

Дисклеймер: обзор альтернатив и выбор инструмента является субъективным мнением автора и не претендует на абсолютную истину.

Письмо счастья

Наша команда как и многие другие работала с облачными продуктами Atlassian: Jira и Confluence. Осенью прошлого года, Atlassian отправила нам письмо счастья.

We are contacting you to let you know that Atlassian will begin to wind down operations in Russia and Belarus from the close of business 31 October, 2022. This email constitutes notice that we will not be renewing your existing Atlassian license (s) after that date.

We understand that this is difficult news and we know that you are operating in a country waging a war you may neither support nor have the ability to stop. However, due to the recent implementation of laws compelling all Russian businesses to support the illegal invasion of Ukraine, we have made the decision to wind down operations in the market.

We have provided more details on what to expect and next steps below:

Cloud Customers

Your cloud Atlassian license will not renew again after 31 October, 2022.

The license will expire after this date in accordance with the end-date set forth in your Admin Page.

You can find details about your existing license here. Select your organization if you have more than one, then select Billing.

Before your expiration date, you can download your data before it is permanently deleted. Please find more details here: Data Storage FAQ.

If you prefer to cancel your subscription, please visit here.

Это означало, что у нас примерно 3 недели на то, чтобы уйти от Jira и Confluence. Если временное отсутствие вики-системы было нежелательным, но не критичным, то отсутствие инструмента управления проектами привело бы к серьезным проблемам работоспособности и производительности команды.

В поисках альтернативы

Мы начали искать замену Jira. Железными критериями выбора были:

  • успеть за 3 недели

  • отечественное или open-source решение

  • наличие self-hosted решения

Выбор без этих критериев не решал вопрос риска, что следующая компания не последует примеру Atlassian и не уйдет с российского рынка.

Отдельно отмечу, что все нижеприведенные инструменты содержат в себе самый минимум для работы с проектами. Список возможностей каждого можно найти на их сайтах. Я лишь отмечу на мой взгляд те минусы, которые привели к продолжению поиска других решений.

Первым делом, мы начали смотреть на отечественные решения. 

Yandex Tracker

Сайт: cloud.yandex.ru/services/tracker

dbcdd6ab6efb93767ef193e912011d8f.png

На мой взгляд самый подходящий отечественный инструмент на замену Jira. Есть все что нужно, в том числе клиенты под iOS/Android. Техподдержка была готова оперативно помочь с миграцией данных. Также предлагается вики-система в одной эко-системе.

Минусы: нет self-hosted решения.

EvaProject

Сайт: evateam.ru/evaproject

18787aa8a6156636c623879f30271bd4.png

Следующим кандидатом стал EvaProject от EvaTeam. Довольно неплохое решение, функционально и архитектурно похожее на Jira. EvaTeam также предлагает решение вики-системы, EvaWiki (на который, мы кстати перешли). 

Минусы: нет self-hosted решения и на тот момент сырой UI.

Следующие попавшийся отечественные кандидаты не внушили доверия и мы стали смотреть на open-source решения.

Tuleap

Сайт: tuleap.org

61c8e63ae43f241e3116e70bef74a70f.jpeg

Tuleap — open-source и self-hosted решение. На первый взгляд решение подходило нам по всем параметрам, но погрузившись в функционал и UI, мы приняли решение не переходить на него. 

Минусы: бедный набор параметров задачи (теги, статусы, учет времени). Практически все нам было нужно, надо было создавать кастомными полями. 

GitLab

Сайт: about.gitlab.com

5390fc5409fdf283fd2ebf95a3dc206e.png

GitLab не является популярным решением в роли инструмента управления проектами. В нем есть множество недостатков: нет issue workflow, бедный набор параметров задачи (все нужно настраивать через кастомные лейблы) и нет нормального инструмента миграции из Jira. Тем не менее, в нем есть минимальный набор функционала для управления проектами, что стало поводом для его обсуждения.

Taiga.io

Сайт: taiga.io

28c3e22e9a1d21fc47c2cd8c1d9168e8.jpeg

На мой взгляд самый подходящий open-source инструмент на замену Jira. Из коробки есть все основное. Есть инструмент миграции из Jira. К сожалению, во время поиска решений, мы не наткнулись на него. Она пришла к нам контекстной рекламой спустя месяц после миграции.

Минусы: нет issue workflow.

В итоге, самыми подходящими вариантами были Yandex Tracker и taiga.io. Первый не имел возможности self-hosted, а taiga.io был найден уже после миграции. Найдя taiga.io раньше, несомненно бы перешли на нее.

Несмотря на недостатки GitLab, он уже был развернут в качестве системы управления репозиториями и CI/CD. Это исключало затраты на инфраструктурную часть. К тому же, команда уже имела долгий опыт работы в ней. Было принято решение написать скрипт миграции данных из Jira в GitLab.

Миграция в GitLab и разработка в̶е̶л̶о̶с̶и̶п̶е̶д̶а̶ своей kanban доски

С некоторыми недостатками GitLab-а можно смириться, но не со всеми. Project-менеджерам стало очень не хватать нормальной kanban доски. У доски GitLab«а есть следующие недостатки:

  • нет возможности создать одну доску для нескольких групп репозиториев

  • нет возможности создать доску, сгруппированную по исполнителя

  • нет возможности создать колонку, включающую несколько лейблов

Мы с Константином Польским загорелись идеей написать open-source решение для GitLab, решающую эти задачи.

gitlab-board

gitlab-board — это расширенная kanban доска с открытым исходным кодом для GitLab Community Edition. Основное отличие от доски GitLab в том, что gitlab-board построен на командах и исполнителях, вне зависимости от того, в какой группе находится репозиторий. Приложение может работать под одним и тем же self-hosted доменом GitLab-а (например: gitlab.company.com/board).

Настройка доски

Главная сущность доски — команда. Репозитории привязаны к команде, которая с ними работает. У каждой команды может быть workflow, поэтому колонки и их лейблы настраиваются в настройках каждой команды. Каждая колонка может включать несколько лейблов.

Для примера, я создал 3 команды и привязал к ним репозитории, с которыми они работают:

  • все

  • back-end

  • front-end

adfbb49fac1ef19ab4a3d16f97ea70f9.jpeg

Дальше нужно создать колонки и привязать к ним лейблы. Каждая колонка может включать несколько лейблов. После настройки колонок, доска отобразит исполнителей и их задачи.

2a3a49cce8f0788f1bd55ee46a04e9a3.jpeg

Сама доска очень похожа на доску задач GitLab. В каждой задаче отображается:

ecbea3c7b32471b04835d0dfc2595169.jpeg

GitHub

Документация

© Habrahabr.ru