В поисках альтернативы 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
На мой взгляд самый подходящий отечественный инструмент на замену Jira. Есть все что нужно, в том числе клиенты под iOS/Android. Техподдержка была готова оперативно помочь с миграцией данных. Также предлагается вики-система в одной эко-системе.
Минусы: нет self-hosted решения.
EvaProject
Сайт: evateam.ru/evaproject
Следующим кандидатом стал EvaProject от EvaTeam. Довольно неплохое решение, функционально и архитектурно похожее на Jira. EvaTeam также предлагает решение вики-системы, EvaWiki (на который, мы кстати, перешли).
Минусы: на тот момент сырой UI.
Следующие попавшиеся отечественные кандидаты не внушили доверия и мы стали смотреть на open-source решения.
Tuleap
Сайт: tuleap.org
Tuleap - open-source и self-hosted решение. На первый взгляд решение подходило нам по всем параметрам, но погрузившись в функционал и UI, мы приняли решение не переходить на него.
Минусы: бедный набор параметров задачи (теги, статусы, учет времени). Практически все, что нам было нужно, надо было создавать кастомными полями.
GitLab
Сайт: about.gitlab.com
GitLab не является популярным решением в роли инструмента управления проектами. В нем есть множество недостатков: нет issue workflow, бедный набор параметров задачи (все нужно настраивать через кастомные лейблы) и нет нормального инструмента миграции из Jira. Тем не менее, в нем есть минимальный набор функционала для управления проектами, что стало поводом для его обсуждения.
Taiga.io
Сайт: taiga.io
На мой взгляд самый подходящий 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
Дальше нужно создать колонки и привязать к ним лейблы. Каждая колонка может включать несколько лейблов. После настройки колонок, доска отобразит исполнителей и их задачи.
Сама доска очень похожа на доску задач GitLab. В каждой задаче отображается:
заголовок
приоритет
майлстоун
ссылка на задачу
все остальные лейблы