Любая цель становится результатом какого-либо процесса. Любой такой процесс в подавляющем большинстве случаев состоит из последовательности шагов: подготовки, планирования, принятия окончательного решения о реализации или отмене идеи. Финальные шаги обычно — воплощение идеи в жизнь и наслаждение результатом.
Понятный и наглядный пример процесса — отслеживание заказа в службе доставки. Обычно мы можем контролировать его по шагам: наш заказ приняли в работу, его готовят к отправке, курьер везет его нам.
Если мы заказываем посылку, можем отслеживать все статусы ее доставки: с главного склада в региональный, затем в наш город, район и, наконец, в местный пункт выдачи. Все происходит наглядно в режиме онлайн. Мы видим, где посылка и что с ней. Это называется статусом, то есть состоянием на данный момент. Поэтому не обрываем телефоны службы поддержки, уточняя, долго ли еще ждать и не потерялся ли наш заказ.
Как видите, все процессы состоят из статусов. Они позволяют нам ориентироваться, сколько еще ждать результат, не задавая этот вопрос каждый час.
Информацию о состоянии дел в компании можно очень быстро передавать всем заинтересованным лицам. Для этого нужно формализовать, визуализировать и выделить основные поворотные точки в процессах: рабочих, технологических, финансовых и т.д. Это решает сразу несколько частых проблем:
Визуализировать процессы помогают таск-трекеры. В Jira Software Atlassian такие процессы называются Workflow. Это пути, по которым следуют задачи во время работы — от постановки до сдачи.
Рабочий процесс (воркфлоу) состоит из четырех компонентов:
Чтобы наглядно проиллюстрировать компоненты, разберем рабочий процесс на примере отслеживания книг в обычной библиотеке. Каждая библиотечная книга — это аналог задачи нашего производства.
Статусы указывают, где задача находится в рабочем процессе, и эти статусы должны быть уникальными. В примере рабочего процесса библиотеки книга может находиться в одном из трех состояний: «в библиотеке» (at library), «у читателя» (with customer) или «снята с учета» (retired). Если вы настроите свои переходы как двунаправленные, любая задача сможет проходить через один и тот же статус несколько раз (подробнее об этом чуть ниже).
Статусы бывают двух видов: нерешенные — unresolved (открытые) и решенные — resolved (закрытые). Статус «снята с учета» — закрытый, а «в библиотеке» и «у читателя» — открытые.
В качестве других распространенных открытых статусов часто используют:
Примеры типовых закрытых статусов:
Переходы отражают предпринимаемые действия и определяют способ движения задачи от статуса к статусу. Они вроде дороги, соединяющей два города, — могут быть односторонними или двунаправленными. Можно разрешить задачам переходить из одного статуса в несколько других (на выбор). Это позволяет разрабатывать Workflow для свободно текущих процессов, в которых есть несколько возможных последующих шагов для решения проблемы.
Можно настроить переходы так, чтобы задачи шли по строго определенному пути. Это позволяет отразить более регламентированные процессы.
В примере нашего рабочего процесса библиотечная книга не может быть снята с учета, пока она находится у читателя. Сначала книге должны присвоить статус «в библиотеке».
Кроме этого, Jira поддерживает ограничения рабочего процесса (передавать задачу могут только определенные люди). Например, книги выдают библиотекари, берут и возвращают читатели, списывают другие сотрудники библиотеки. Читатели не могут оценить, подходит ли книга для инвентаризации — это должны решать только сотрудники библиотеки. У каждого свои полномочия.
Исполнитель — это ответственный за задачу. В примере с библиотекой мы бы назначали исполнителем читателя каждый раз, когда ему выдают книгу во временное пользование. Благодаря этому библиотекари знают, у кого из читателей сейчас находится эта книга.
В решениях объясняется, почему проблема перешла из открытого статуса в закрытый. При выводе книги из обращения ее удаляют из инвентаря — переводят в закрытый статус «снята с учета». Таким образом выносят решение (резолюшн) по этой книге. Могут быть другие решения: «повреждено», «устарело» или «потеряно».
Распространенная ошибка при настройке рабочих процессов в Jira — путать статус и решение (резолюшн). Статус описывает, где находится элемент в рабочем процессе, а решение (резолюшн) объясняет, почему задача больше не находится в процессе.
Устанавливать резолюшн лучше тогда, когда задача переходит из нерешенного состояния в решенное. Если задача снова переходит в нерешенное состояние, необходимо удалить решение. Например, библиотекарь решает вернуть книгу в обращение — перенести ее из статуса «снята с учета» в статус «в библиотеке» через переход «восстановить». В этом случае ему необходимо удалить резолюшн из книги. В Jira можно настроить автоматическое выполнение этой операции с помощью постфункции перехода (об этом чуть ниже).
Для начала определите всех участников рабочего процесса. Поговорите с каждой заинтересованной стороной о том, что важно при выполнении работы. Нарисуйте черновики рабочего процесса и соберите отзывы.
Рабочие процессы болезненны, потому что они выявляют, как действительно люди работают. Но они обеспечивают предсказуемость и прозрачность работы: все члены команды знают свое место в процессе, видят информацию о продвижении проекта, своевременно выявляют проблемы и решают их точечно, а не наугад.
Часто руководители и сотрудники хотят иметь статусы для каждой части рабочего процесса. Это хорошо, но помните, что каждый статус добавляет больше переходов и усложняет Workflow. Лучше стремитесь к простоте и масштабируемости.
Каждый раз при добавлении нового статуса в рабочий процесс убедитесь, что у вас нет другого выбора. Посмотрите примеры:
В Jira есть ряд параметров, которыми администраторы могут воспользоваться при настройке переходов между статусами.
Условия определяют, кто может выполнять переход между статусами. Например, только определенный сотрудник в библиотеке может исключить книгу из инвентаря (перевести в статус «снята с учета»). У всех остальных возможность передвинуть задачу в этот статус даже не будет отображаться.
Валидаторы гарантируют, что переход происходит только при соблюдении определенных критериев для задачи. Например, бывают книги, которые подлежат изъятию из-за того, что «предположительно повреждены». Валидатор в этом случае настраиваем так, чтобы переход в статус «снята с учета» был невозможен без проверки целостности книги. Если задача не соответствует критериям валидатора, переход будет прерван.
Постфункции выполняют дополнительные действия для задач (по триггеру на переход в другой статус). Они отвечают за то, что происходит после смены определенного статуса. Самая распространенная постфункция — очистить решение (резолюшн) при переводе задачи обратно в нерешенное состояние.
Можно настроить Jira так, чтобы поле «исполнитель» снова принимало значение «не назначено», когда читатель возвращает книгу в библиотеку.
Когда происходит переход в новый статус, это часто означает, что у задачи появился новый исполнитель. В этом случае с помощью постфункции можно автоматически изменить исполнителя или отобразить экран перехода, где человек, передающий задачу, выбирает, кому ее передать.
Jira распознает некоторые свойства при переходах. Самое распространенное свойство — ограничение решений, отображаемых пользователю при данном переходе. Например, мы можем захотеть, чтобы решение «порвано» отображалось при списании только журналов, но не при изъятии книг. Это удобно, когда у нас есть разные типы задач. В случае с библиотекой это будут, например, книги и журналы.
Возвращаясь к примеру с библиотекой, книги регистрируются и выгружаются до тех пор, пока не истечет срок их службы, а затем выбывают из обращения. Так и ошибки в коде: регистрируются, проверяются, исправляются, снова проверяются и затем закрываются. Результат — успешная реализация проекта.
При организации рабочего процесса важно корректно настроить все компоненты Workflow. Чтобы не запутаться, запомните простые вопросы, на которые отвечает каждый из них.
Компонент Workflow | На какой вопрос отвечает |
---|---|
Статус | Где |
Исполнитель | Кто |
Решение | Почему |
Переход | Куда |
Каждый статус в рабочем процессе — это отдельный этап или шаг в жизненном цикле проблемы (Issue). С Jira Software Atlassian легко настроить доску, которая показывает поток работы на протяжении жизненного цикла каждой задачи.
Представим обычную ситуацию. Команда программистов работает с потоком задач. Просчитали загрузку и составили месячный план. Кажется, что все были заняты, но часть задач до результата так и не довели. А руководитель до финального отчета вообще не понимал, что сделано, а что нет.
Чтобы исключить такие сценарии, достаточно правильно организовать работу в Jira. В этом случае на доске мы видим каждый этап проекта и сколько задач в нем содержится.
Бывает тимлид не успевает все проверять или не понимает, как расставить приоритеты. На каком-то этапе проекта в статусе «проверка кода» скапливается слишком много задач — стопорится работа.
Оптимизировать такой поток задач просто. Для статуса «проверка кода» устанавливаем лимит незавершенной работы. Тимлид видит проблемные места и своевременно все решает. Так можно устранить любые «узкие» места в бизнес-процессах.
Для руководителя можно настроить отдельную доску. На ней в одном столбце будут статусы, например, «в разработке» и «проверка кода». Ведь оба статуса для него сообщают, что задача еще в работе. Руководитель в реальном времени видит, что действительно сделано, а что нет.
Мы рассмотрели лишь частный случай оптимизации Workflow в Jira. Ситуации могут быть разными. Но всегда есть возможность сделать рабочие процессы простыми и управляемыми. Если вам нужна консультация по работе с Jira, напишите нам.
В следующей статье мы расскажем, как работать в Jira по спринтам. Это принцип гибкой методологии. Он помогает достигать нужного результата, когда все задачи проекта заранее спрогнозировать невозможно. Ведь в процессе работы многое может измениться. Благодаря работе по спринтам, вы будете к этому готовы и все равно придете к нужному результату.
Никакого спама, только анонсы новых статей
ИП Гришанин Кирилл Олегович
ИНН 774313842609
Б. Новодмитровская ул., 36, стр. 12, вход 6,
Москва, Россия, 127015
Ahad Ha'am 54,Tel Aviv-Yafo,Израиль