У нас небольшая команда, примерно 15 человек. Все свои проекты мы ведем в jira. и вот почему:
- jira позволяем работать с задачами по Scrum и Kanban. По спринтам или просто на потоке.
- Позволяет вести Бэклог разработки, фиксировать баги и контролировать выполнение задач.
- Позволяет фиксировать затраченное на задачу время.
- Тесная интеграция с нашими репозиториями на github и gitlab
- Настройка интеграции с CI/CD
- Интеграция с чатом mattermost.
- Интеграция с Confluence для работы с документацией по проекту
- Настроены разные бизнес-процессы для задач разного типа.
- Разделение прав доступа к проектам и задачам на разных стадиях.
Но так было не всегда. Расскажу, как и почему мы внедряли jira в компании.
Когда проекты были маленькие мы все вопросы решали в чатах в telegram. Но по мере роста мы начали испытывать неудобства с поиском информации среди огромной кучи чатов. Основные проблемы были следующие:
- Документация по проекту хранилась в разных местах. То в одном чате, то на листочке, то в блокноте, то просто устно обсудили и никто не помнит, что решили в итоге.
- Задачи нужно как-то передавать от аналитика к дизайнеру, от дизайнера в разработку и в тестирование.
- Не понятен статус задачи. Нарисовали дизайн? Проработали ТЗ? а может уже все в тесте? А итоги тестирования какие? А баг описан где-то? А как воспроизвести если он не описан?
- Что нужно делать каждому сотруднику по приходу на работу? Какие приоритеты у задач?
- Где-то надо хранить Бэклоги, фиксировать баги.
В итоге начали с настройки бизнес-процессов в jira. Под проекты сделали шаблон бизнес-процесса. Под разные типы задач сделали разные бизнес-процессы. Разработка отдельно, исправление багов отдельный процесс, а бизнес задачи вообще по третьему пути проходят.
Создали доски для проектов. Для дизайнеров вывели отдельную доску. Для разработчиков еще одну. При этом задачи проходят единый бизнес-процесс, но в зависимости от статусов появляются на разных досках.
Сделали фильтры для задач. Чтоб можно было посмотреть все задачи для дизайнеров, разработчиков, тестировщиков и прочих сотрудников.
Организовали бэклог с приоритетами, теперь понятно что надо в первую очередь, а что не так важно и можно сделать это позже.
Отладили работу по спринтам. Теперь разработчики понимают чего от них хотят за эту неделю. А проджект может показывать результаты каждую неделю.
Разделили задачи по правам доступа. Тут была очень нетривиальная задача, но нам очень помог наш опыт в информационной безопасности. Справились на ура! Теперь сотрудники видят только те задачи, которые им нужны и те проекты, куда у них выделен доступ.
Долго собирали документацию по проектам. В итоге пришли к Confluence. Сделали под проекты отдельные пространства. Теперь есть единые документы, описывающие код-ревью, организационные вопросы, шаблоны и бланки документов для сотрудников. Проектная документация теперь структурирована и можем прикреплять страницы в confluence к любым задачам в jira.
Интегрировали gitlab. Видим коммиты и pull-request по каждой задаче прямо в jira.
Ну и вишенкой на торте сделали себе внутренний чат на основе Mattermost. Настроили интеграцию с jira, confluence и gitlab. Получаем оповещения по каждому изменению в задачах и репозитории.
Теперь мы не теряем и не забываем про задачи. Процесс разработки идет более структурированно. Такая система позволяет разрабатывать продукты любого масштаба с привлечением огромной команды. Люди могут работать как в офисе, так и удаленно. Конечно, все это было сделано не без сложностей, но об этом в следующих постах.