В одном из недавних обновлений в Timetta появилась функция по управлению жизненным циклом проекта. В этой статье мы подробно разберем на примерах, как она работает и какие пользовательские сценарии можно реализовать с ее помощью.
Жизненный цикл проекта — это путь, который проект проходит от своего начала до завершения, минуя различные этапы. Об этом в нашем блоге написана подробная теоретическая статья. Здесь же мы перейдем в практическую плоскость и расскажем, как Timetta поддерживает различные группы процессов в рамках управления жизненным циклом проекта.
Начнем с самых основ. В Timetta есть настройка, которая показывает все доступные для проекта состояния и переходы, или логические связи между отдельными состояниями. Чтобы их посмотреть перейдем в меню Настройки, найдем раздел Конфигурации и откроем Жизненные циклы.

На появившейся форме представлены все виды сущностей, для которых в системе можно настроить свой жизненный цикл. Нас интересуют проекты. Если мы зайдем в настройку жизненного цикла для сущности Проект, то увидим таблицу и небольшую диаграмму под ней.

В таблице представлены все состояния, в которых может находиться проект в рамках своего жизненного цикла. В колонке «Переходы» указано, в какой последовательности можно менять состояния и кто имеет на это права. Все логические переходы визуализированы на диаграмме, расположенной под таблицей.

Сейчас на нашей диаграмме очень много связей, поскольку мы решили, что состояния можно менять произвольно. Например, сейчас мы можем свободно перевести проект из состояния Отменен в состояние Черновик. Это удобно при тестировании системы, но в реальной работе используют более строгие логические переходы.
В старых версия Timetta смена состояний происходила вручную. Менеджер проекта заходил в карточку проекта и выбирал нужное состояние, которое было, по сути, ещё одним свойством проекта.

В обновленной Timetta управлять сменой состояний можно еще и с помощью воркфлоу. Дополненный механизм управления жизненными циклами позволяет упорядочить процессы инициации проекта, утверждения его версий и изменения бюджета.
Ниже мы разберем несколько примеров, чтобы показать, как работает новая функция. Оговоримся сразу, что не стоит воспринимать наши примеры, как прямое руководство к действию, ведь процессы в каждой организации свои. Для нас важно показать, какие возможности дает пользователям новый конструктор воркфлоу.
У компании может быть утверждён процесс, который определяет, будет ли взят новый проект в работу или нет, а если будет, то на каких условиях. Timetta позволяет этот процесс автоматизировать.
Для начала нужно зайти в Настройки > Конфигурация > Воркфлоу и нажать на кнопку Создать воркфлоу.
Примечание
При настройке воркфлоу мы будем использовать состояния с названием, «Черновик», «В работе» и «Отменен». Они уже настроены у нас в разделе Жизненные циклы. Если у вас в системы заданы другие состояния, используйте их по аналогии с нашими примерами.

Назовем наш процесс «Согласование проекта» и выбираем в поле «Жизненный цикл» вариант Проект. Укажем стартовое состояние сущности, или статус проекта, для которого можно будет запустить воркфлоу. В нашем примере начальным состоянием проекта будет Черновик.

В самом конструкторе воркфлоу первым делом выбираем инициатора. Им может быть как конкретный пользователь, так и пользователь с определенным набором прав, ролью или принадлежностью к группе. Пусть в нашем примере это будет пользователь с набором прав менеджера проектов.

Переходим к настройке задач процесса. Для этого нажимаем на кнопку Создать задачу.
- Назовем новую задачу «Согласовать проект с руководителем».
- Укажем в качестве исполнителя задачи менеджера программы. Для этого выбираем Роль > Менеджер программы.
- Затем задаем действия, которые может совершить исполнитель. Пусть наш исполнитель может либо согласовать проект, либо отклонить.
- В разделе «Действия» создаем действия с названиями «Согласовать» и «Отклонить».

Теперь создаем переходы, то есть определяем, что произойдет, после того как исполнитель выполнит одно из двух заданных нами действий.
- Создаем переход с наименованием «Согласовано».
- В колонке «Тип условия» указываем Все.
- В колонке «Ожидаемое действие» выбираем Согласовать.
- Определяем, в какое состояние нужно переместить проект после выполнения действия. Для этого в поле «Состояние сущности» выбираем состояние В работе.
- В поле «Следующая функция» выбираем Finish, чтобы завершить воркфлоу.

- Создаем альтернативный переход с наименованием «Отклонено».
- В колонке «Тип условия» указываем Все и Иначе (после всех).
- В колонке «Ожидаемое действие» выбираем Отклонить.
- В поле «Состояние сущности» указываем состояние Отменен.
- В поле «Следующая функция» выбираем Finish для завершения воркфлоу.

Тип условия «Иначе (после всех)»
Система автоматически выполняет переход с условием «Иначе (после всех)», если по каким-то причинам не может найти исполнителя задачи. В нашем примере система автоматически присвоит проекту состояние «Отменен», если не найдет исполнителя.
Вы можете создать отдельную задачу, в которую будет переходить проект при срабатывании условия «Иначе (после всех)». Мы покажем, как это сделать в следующем разделе статьи.
Открываем режим редактирования начальной функции Start и выбираем в поле «Следующая функция» созданную раннее задачу Согласовать проект с руководителем. Она будет первой и пока единственной задачей в рамках нашего воркфлоу.

Мы создали модель процесса, по которому менеджер проекта может отправить только что созданный проект на согласование менеджеру программ. Тот может либо согласовать проект, либо отклонить. В первом случае проект будет переведен в состояние «В работе», во втором — в состояние «Отменен».

Совет
В Timetta можно настраивать отдельные воркфлоу для разных групп пользователей. Так мы можем спроектировать два разных маршрута согласования проекта для различных групп менеджеров. Для этого нужно создать новый воркфлоу и выбрать Группа в разделе «Инициаторы». Новую группу можно создать, открыв Настройки > Пользователи > Группы пользователей.
Для удобства добавим проекту еще одно возможное состояние.
- Для этого открываем Настройки > Жизненные циклы > Проекты и создаем состояние «На согласовании».
- Возвращаемся в настройки воркфлоу.
- Выбираем функцию Start и в поле «Переместить сущность в состоянии» выбираем На согласовании.
Теперь при запуске процесса проекту автоматически перейдет в состояние «На согласовании».
Чтобы показать, на что способен конструктор воркфлоу в Timetta, усложним наш процесс, добавив еще один этап доработки плана проекта.
- Снова открываем конструктор воркфлоу.
- Создаем новую задачу с названием «Доработать».
- В разделе «Исполнители» выбираем Роль > Инициатор.
- Создаем новое действие «Отправить повторно».
- Настраиваем переходы. Назовем новый переход «Доработано».
- В условиях перехода в колонке «Тип условия» указываем Все и Иначе (после всех).
- В колонке «Ожидаемое действие» выбираем Отправить повторно.
- В поле «Следующая функция» выбираем задачу Согласовать проект с руководителем.
- В поле «Переместить сущность в состояние» выбираем На согласовании.

Возвращаемся к настройке задачи «Согласовать проект с руководителем», чтобы добавить в нее новое действие «Отправить на доработку».
Перед этим для удобства создадим в Настройки > Жизненные циклы > Проекты новое состояние проекта «На доработке».
Возвращаемся к настройке перехода для действия «Отправить на доработку» в задаче «Согласовать проект с руководителем».
- Создаем новый переход с названием «Отправлено на доработку».
- В Типе условия указываем Все. В ожидаемых действиях выбираем Доработать.
- В поле «Переместить сущность в состояние» выбираем состояние На доработке.
- В поле «Следующая функция» указываем задачу Доработать.

В итоге у нас должен получится новый воркфлоу.

Теперь согласующий может не только принять или отклонить проект, но и отправить его на доработку инициатору.
Добавим еще одну задачу с условием «Иначе (против всех)», чтобы уведомить администратора системы о том, что у задачи нет исполнителя.
- Создаем задачу с названием «Завершить воркфлоу».
- В качестве исполнителя указываем нужного пользователя.
- Создаем действие с названием «Завершить воркфлоу».
- Создаем переход с названием «Воркфлоу завершен». В колонке «Тип условия» выбираем Все и Иначе (после всех). В колонке «Ожидаемое действие» выбираем Отклонить.
- В поле «Переместить сущность в состояние» выбираем Отменен.
- В поле «Следующая функция» указываем Finish.

- Возвращаемся в задачу «Согласовать проект с руководителем» и создаем новый переход с названием «Уведомить администратора».
- В колонке «Тип условия» выбираем Иначе (после всех).
- В поле «Переместить сущность в состояние» выбираем Отменен.
- В поле «Следующая функция» выбираем Завершить воркфлоу.
- Во всех других переход оставляем единственное условие Все.

Теперь если система не найдет исполнителя задачи на согласование проекта, она изменит состояние проекта на «Отменен» и отправит его администратору, который уже будет выяснять, в чем причина прерывания процесса.

Обратите внимание, что сейчас у нас три перехода имеют условие «Все». Это логично, поскольку для задачи задан всего один исполнитель. Но что делать, если у нас будет два исполнителя?
Мы еще ничего не сказали об условиях «Все» и «Первый». Эти условия нужны для настройки логики в процессе параллельного согласования.
Добавим нового исполнителя в задачу «Согласовать проект с руководителем». Пусть это будет менеджер клиента.
- Если в нашем примере указать условие Все для перехода «Согласовано», то состояние проекта изменится только после того, как оба исполнителя выполнят действие «Согласовать».
- Если же мы выставим для того же перехода условие Первый, то он будет выполнен сразу после того, как хотя бы один исполнитель выполнит действие «Согласовать».
В примере мы настроили воркфлоу таким образом, что для перевода проекта в состояние «В работе» мы должны получить подтверждение обоих исполнителей. Для отмены проекта или отправки на согласование достаточно, чтобы хотя бы один исполнитель выполнил действие «Отклонить» или «Доработать».

Тип условия «Иначе (после всех)»
Рассмотрим ситуацию, когда мы одновременно указываем для переходов «Согласовано» и «Отклонено» условие Все, а в процессе согласования один из исполнителей выберет действие «Согласовать», а второй «Отклонить».

В логике процесса возникнет конфликт. В этом случае Timetta автоматически выполнит переход с условием «Иначе (после всех)», то есть в нашем примере переход с названием «Уведомить администратора».
На вкладке «Не создавать задачу» можно исключить исполнителя из процесса повторного согласования. Покажем работает функция на примере задачи «Согласовать проект с руководителем».
- Нажимаем редактировать задачу «Согласовать проект с руководителем».
- Заходим на вкладку «Не создавать задачу».
- Выбираем функцию Текущая.
- В поле «Выполнена с результатом» выбираем Согласовать.

Теперь если один из исполнителей уже выполнил действие «Согласовать», то система больше не будет отправлять ему задачи «Согласовать проект с руководителем» по текущему проекту.
В Timetta можно согласовать не только проект, но и его версии. Напомним, что плановые показатели проекта берутся напрямую из мастер-версии. Чтобы создать мастер-версию, нужно вначале создать версию проекта в состоянии «Черновик», затем перевести ее в состояние «Утвержденная» и только потом отметить как мастер-версию.
Для настройки процесса утверждения версии можно использовать тот же конструктор воркфлоу. Для этого нужно зайти в Настройки > Воркфлоу, нажать кнопку Создать воркфлоу и выбрать Версия проекта. Здесь же можем указать из какого состояния сущности можно будет запускать процесс согласования. В нашем случае пусть это будет версия проекта в состоянии «Черновик».
Мы не будем подробно описывать настройку воркфлоу, так как она выполняется по тому же принципу, что и в случае с инициацией проекта. Просто при настройке финального перехода в поле «Переместить сущность в состояние» нужно будет указать состояние «Утвержденная».
В Timetta можно настроить воркфлоу для согласования прогноза и оценки. Сейчас, если мы зайдем на вкладку «Версии проекта» и нажмем на кнопку «Создать версию», в поле «Способ» можно выбрать опции «Копировать оценку» и «Копировать прогноз». Таким образом мы создадим новую версию проекта, в которую будут скопированы либо оценка, либо прогноз.
Важно
При копировании прогноза Timetta автоматически переводит новую версию проекта в состояние «Готова к согласованию». Учитывайте это при настройке воркфлоу.
Для согласования новой версии проекта на базе обновлённой оценки или прогноза также можно настроить отдельный воркфлоу по описанным в статье принципам.
Надеемся, что наш подробный обзор настроек воркфлоу поможет автоматизировать процессы управления жизненным циклом проекта. Все описанные функции вы можете опробовать самостоятельно в бесплатной демоверсии.