Организация совместной работы
Думаю, вы все сталкивались с различными системами для организации совместной работы, как то: Jira, Trello, Bugzilla, JB Space и так далее. К сожалению, такие решения, в большинстве своём, не являются комплексными (в плане, я не могу нормально интегрировать их с тем же gitlab, не считая, Jira, конечно. Хотя, с ней у нас так и не получилось в последний раз). Некоторые из них предлагают встроенные системы контроля версий (JB Space), но я не нахожу это удобным — хочется, чтобы репозиторий лежал там, куда я его положил, а не там, куда его положит JB. Jira вполне неплохо интегрируется с Bitbucket (удивительно, это же продукты одной компании...), но Bitbucket, как по мне, довольно неудобный: перегруженный интерфейс (как и в самой Jira), да и в целом — не самый привычный UX, в отличие от того же Github/Gitlab. У Bugzilla, в принципе, нет интеграций, насколько мне известно. Признаюсь честно, для меня в любом сервисе главное UX. Я не хочу пользоваться сервисами, которыми неудобно пользоваться.
Что же делать? Неужели нет ничего удобного?
Есть. Я тут недавно задумался об организации работы прямо в системе контроля версий (подразумеваю Gitlab/Github), они ведь предоставляют такие возможности. Потратил часа 3-4, чтобы посмотреть на все фичи, которые дают Gitlab и Github и выписал их плюсы и минусы.
Gitlab
Плюсы:
- можно один раз настроить все лейблы и потом переиспользовать
- можно создавать несколько досок
- issue относятся напрямую к репозиторию
- есть доска по проекту, есть по отдельному репо (соответственно, можно просмотреть список всех задач по проекту)
- можно вести вики для документирования всех рабочих моментов
- можно настроить тг-бота, который будет собирать все уведомления по репозиториям в одном месте
- есть сервис-деск, то есть можно аккумулировать все письма из поддержки в одном месте и обрабатывать их
- есть таймтрекинг
Минусы:
- нет чата (можно посмотреть в сторону слака)
- нет мобильного клиента (имею ввиду, официального, либо хотя бы не только на Android, для Android — есть вполне сносный Gitfox)
Github
Плюсы:
- автоматизированный воркфлоу (позволяет автоматически показывать issue, pr в канбане и при закрытии issue/pr будет их переносить сам в нужный столбик)
- можно вести вики для документирования всех рабочих моментов
- есть мобильное приложение
Минусы:
- нет чата (можно посмотреть в сторону слака)
- одна доска на один проект
- бОльшая часть опций, которая бесплатна на гитлабе — платная здесь (нельзя кастомить protected branches, например)
- не самый удобный CI/CD
- нельзя сохранить workflow как темплейт
Примечание: ни у Gitlab ни у Github нет мобильного приложения с канбаном.
***
Исходя из сравнения получается, что Github выигрывает только автоматизацией workflow, что, конечно, очень круто, но, как по мне, Gitlab перевешивает за счёт остального.
На этой неделе мы начали пытаться перенести всю работу в Gitlab из JB Space. Пока что, меня всё вполне устраивает, поскольку там есть привычный канбан, таймтрекинг, назначение задач на конкретных исполнителей с эстимейтами и дедлайнами, назначение отдельного человека в качестве reviewer (в платной версии можно назначить несколько ревьюеров, что позволяет ещё более продуманно организовать работу с Cross-Review).
Смотрели ещё в сторону Proofhub, он выглядит чуть ли не идеальным, в сравнении с остальными системами для контроля задач, но он относительно дорогой (99$/месяц), пока что нам такое не подходит. Есть ещё Nextcloud с приложением Nextcloud Deck, у которого есть мобильное приложение для Android (на iOS не нашёл). Вполне привычный канбан, который позволяет выстроить работу как вам вздумается, да и сам Nextcloud имеет возможность интеграции с Gitlab для вывода всех уведомлений и ToDo в общем дашборде, что довольно круто, но пока что это не наш выбор. Возможно, как-нибудь позже :)