По мере роста штата сотрудников наступает период, когда компания начинает остро нуждаться в программном обеспечении, которое позволит руководителю следить за тем, чем занимаются его подчиненные. Руководитель нуждается в детальной информации о задачах, над которыми работают сотрудники. Часто над задачей трудится не один исполнитель, а то и не один отдел. Также задачи имеют особенность делиться на подзадачи, откладываться до определенного времени, закрываться со статусом «не реализована», сниматься с реализации, переходить на предыдущие этапы, выставляться на согласование руководству. В этой статье я расскажу о том, как работает система, выполняющая описанные выше действия. Хочу отметить, что описывается реально существующая система, успешно внедренная в одной из московских компаний. В следующей статье речь пойдет о том, как настроить SharePoint так, чтобы он использовался в качестве инструмента, позволяющего автоматизировать работу с задачами. Для реализации данного решения необходимы следующие навыки и программные продукты: Microsoft SharePoint 2007, Designer 2007, умение работать с бизнес-процессами в SharePoint, знание основ HTML и JavaScript. Решение позволит выполнять следующие действия:
- создание задачи;
- перевод задачи по этапам;
- возврат на предыдущие этапы;
- назначение ответственных за задачу в зависимости от этапа;
- уведомление ответственных лиц;
- выставление на согласование;
- разбиение на подзадачи;
- хранение истории взаимодействия;
- снятие задачи с реализации;
- приостановка выполнения задачи;
- закрытие задачи и др.
Данное решение реализовано на примере разработки и внедрения систем, которые позволяют автоматизировать работу в отделах компании.
Этапы разработки и внедрения
Рассмотрим последовательность действий, необходимых для разработки и внедрения системы в отделе. На первом этапе принимается решение о внедрении в данном отделе компании определенной системы и готовятся соответствующие бизнес-требования к системе. После принятия решения идет согласование функциональных требований для данной системы. Если функциональные требования готовы, необходимо произвести их анализ с точки зрения ИТ. Затем начинается этап разработки системы автоматизации и происходит тестирование системы. После удачного тестирования следует внедрение системы в отдел.
Таким образом, процесс разработки и внедрения системы делится на несколько этапов. Первым этапом является создание новой задачи и назначение курирующего технолога. Под курирующим технологом в данной системе подразумевается сотрудник, создавший задачу, который должен следить за ее выполнением. То есть технологический куратор следит за тем, чтобы выполнение задачи производилось в сроки, которые устанавливаются на каждом из этапов, а также контролирует продвижение задачи по этапам. Система автоматически назначает сотрудника, создавшего задачу, курирующим технологом. Технологический куратор готовит бизнес-требования к системе, выбирает направление. Направление показывает, где происходит внедрение системы — внутри компании или же у клиента. Технологический куратор определяет срок внедрения системы в отделе, планируемую дату начала работы с функциональными требованиями, планируемую дату окончания работы с функциональными требованиями. Также он вводит описание задачи и бизнес-требований, назначает менеджера проекта и сохраняет задачу (экран 1). Менеджер проекта — это сотрудник, который назначается ответственным за выполнение задачи на втором этапе.
После того как технологический куратор проработал задачу на этапе «Новая задача», он открывает задачу в режиме редактирования и переводит ее на следующий этап (экран 2, кнопка «Следующий этап»). Надо отметить, что поля «Направление» и «Название» становятся недоступными для редактирования. Поля «Этап», «Заказчик», «Курирующий технолог», «Кому назначено», «Номер и N» автоматически заполняются системой и также недоступны для редактирования. Поле «Номер и N» показывает порядковый номер задачи и номер сортировки задач, о котором будет рассказано ниже. Как несложно догадаться, вторым этапом является «Разработка и согласование функциональных требований». Задача автоматически перейдет на новый этап, а сотруднику, выбранному в поле «Менеджер проекта», придет уведомление по почте о том, что он назначен ответственным за задачу (экран 3).
На этапе разработки и согласования функциональных требований менеджер проекта проверяет бизнес-требования к системе и временной интервал работы с функциональными требованиями, и, если его что-то не устраивает, возвращает задачу курирующему технологу на этап «Новая задача», а в поле «Комментарий исполнителя» указывает, почему он решил вернуть задачу на предыдущий этап (экран 4). Все данные от курирующего технолога менеджеру проекта доступны только для чтения. Задача автоматически переводится на этап «Новая задача», технологический куратор назначается ответственным за выполнение задачи на данном этапе, а также ему на электронную почту приходит уведомление о возврате задачи и о том, что он является ответственным за выполнение данной задачи. Комментарий от менеджера проектов записывается в историю взаимодействия. История взаимодействия хранит все переходы по этапам для данной задачи, а также комментарии исполнителей, что позволяет ответственным вести между собой переписку по данной задаче (экран 5).
Если менеджер проекта согласен с данными, поступившими от курирующего технолога, он готовит функциональные требования, определяет планируемую дату начала работы с задачей «Анализ ИТ», планируемую дату окончания работы с задачей «Анализ ИТ», а также назначает ИТ-менеджера.
Менеджеры и исполнители
ИТ-менеджер — это сотрудник, который отвечает за выполнение задачи на следующем этапе «Анализ ИТ». Менеджер согласует функциональные требования, определяет интервал проведения работ на этапе разработки и назначает ИТ-исполнителей. Исполнители — это сотрудники, которые непосредственно осуществляют реализацию системы. Но мы усложним задачу. Предположим, что в компании при внедрении системы автоматизации в один из отделов необходимо согласование функциональных требований от нескольких конкретно определенных менеджеров. Помимо этого, каждый менеджер должен назначить своего исполнителя, при этом менеджер может назначить задачу нескольким исполнителям. Для того чтобы отправить задачу на согласование нескольким менеджерам, необходимо определить фактическую дату начала работы с функциональными требованиями, фактическую дату окончания работы с функциональными требованиями, планируемую дату начала работы с задачей «Анализ ИТ», планируемую дату окончания работы с задачей, вложить функциональные требования и нажать кнопку «Согласовать» на экране 4. Если поля не будут заполнены, система автоматически выдает уведомление о необходимости заполнить обязательные поля (экран 6).
После выставления задачи на согласование система автоматически создает пять подзадач согласования, которые имеют тип записи «Согласование». Данные согласования назначаются автоматически конкретным ИТ-менеджерам. Первоначальная задача имеет тип записи «Задача», а после выставления на согласование тип записи изменяется на «Задача на согласовании» (экран 7). Задача и все согласования автоматически переходят на этап «Анализ ИТ», у всех согласований поле N принимает значение поля N родительской задачи. Поле N необходимо для группировки согласований и подзадач, которые относятся к одной и той же родительской задаче. Представление, показанное на экране 7, группируется по полю N.
Сотрудники, которым выставлена задача согласования, должны проработать ее, используя диалоговое окно, показанное на экране 8.
Система предоставляет несколько исходов работы с согласованиями. Если ИТ-менеджера что-то не устраивает на этапе разработки и согласования, он должен отметить согласование как «Не принято». В этом случае все согласования помечаются как удаленные, а первоначальная задача переходит на этап «Разработка и согласование функциональных требований». Если сотруднику не требуется работать по согласованию, то он помечает задачу как «Не требуется». В этом случае данное согласование помечается как удаленное. Когда сотруднику необходимо проработать согласование и назначить по нему одного исполнителя, он должен определить фактическую дату начала работы с задачей «Анализ ИТ», фактическую дату окончания работы, планируемую дату начала разработки, указать ИТ-исполнителя, при необходимости написать комментарий и нажать кнопку «Принято». В этом случае согласование примет тип записи «Задача» и перейдет на этап разработки. Если же менеджеру необходимо назначить нескольких исполнителей, тогда он создает из задачи согласования подзадачи. Каждая подзадача назначается одному исполнителю. Менеджер может создать сколько угодно подзадач. Каждая подзадача создается с этапом разработки и значением в поле N, равным значению поля N задачи согласования. Таким образом, созданные подзадачи из согласования попадают в ту же группировку, где находятся согласования и первоначальная задача. Также следует отметить, что вся работа с согласованиями отражается в истории взаимодействия в первоначальной задаче. После того как все согласования по задаче проработаны, ее необходимо перевести на следующий этап разработки. Если же задача на этапе «Разработка» и согласование функциональных требований не предполагает согласования от нескольких менеджеров, она просто переводится на следующий этап задачи «Анализ ИТ», на котором есть возможность разделить ее на несколько подзадач, то есть назначить несколько исполнителей, каждому из которых будет выставлена своя подзадача (экран 9); значение поля N для подзадачи равно значению поля N задачи, из которой создавалась подзадача. На экране 10 представлена форма создания подзадачи, а на экране 11 дано представление, отражающее первоначальную задачу и все связанные с ней подзадачи.
После создания всех подзадач менеджер переводит задачу на следующий этап, «Реализация». Ответственным за задачу автоматически назначается менеджер проекта. Он следит за тем, чтобы все исполнители, которым назначены подзадачи данной задачи, выполнили работу в срок. После того как все исполнители проработали свои подзадачи, менеджер проекта переводит задачу на этап тестирования, на котором также является ответственным за выполнение задачи. После проведения тестирования менеджер проекта переводит задачу на этап «Внедрение в эксплуатацию» и после выполнения внедрения закрывает задачу. Задача отмечается как «Внедрена». Заметим, что на экране 9 есть кнопки «Приостановить» и «Снять». В случае если задачу необходимо снять с реализации, например когда в отделе по каким-то причинам уже не нужно внедрять систему автоматизации, необходимо нажать кнопку «Снять». При таком раскладе пользователь должен указать дату снятия задачи с реализации и причину, по которой задача снимается. Задача будет помечена как «Снята с реализации». Если необходимо на какой-то период приостановить работы по задаче, нажимается кнопка «Приостановить» и указывается дата приостановки задачи и причина, по которой задача приостановлена. По истечении периода, на который было необходимо приостановить выполнение задачи, сотрудник может вернуть задачу в работу. В следующей статье будет показано, как описанная выше система реализуется на базе системы SharePoint.
Анастасия Сипко (sakra@bk.ru) — программист, имеет сертификат Microsoft Certified (Technology Specialist)