Замена и подбор ресурсов проектной команды

Как вы могли заметить в предыдущих разделах этого урока, в профессиональной редакции MS Project есть средства автоматической замены ресурсов — ролевых и выделенных на задачи с типом назначения Request (Запрос). Эти средства представляют собой одну из наиболее интересных корпоративных возможностей программы, поэтому остановимся на них подробнее.

Принципы замены ресурсов

Для замены одних ресурсов другими MS Project использует значения корпоративных кодов структуры. Корпоративные коды структуры ничем не отличаются от обычных настраиваемых кодов структуры (см. раздел «Настраиваемые коды структуры), кроме того, что они хранятся в файле глобального корпоративного шаблона.

Чтобы программа могла автоматически подбирать ресурсы в проект, необходимо сначала настроить корпоративные коды структуры, далее определить их значения для ресурсов корпоративного пула ресурсов, а затем определить их значения для ресурсов проекта. После этого программа сможет заменять проектные ресурсы корпоративными на основании совпадающих значений корпоративных кодов структуры. Рассмотрим на примере, как работает эта схема в MS Project.

Настройка корпоративных кодов структуры

Поскольку корпоративные коды структуры хранятся в корпоративном глобальном шаблоне, то для настройки кода нужно открыть шаблон для редактирования. Для этого следует выбрать команду меню Tools > Enterprise Options > Open Enterprise Global (Сервис > Корпоративные настройки > Открыть корпоративный шаблон). После этого в MS Project откроется файл под названием Checked-out Enterprise Global (Извлеченный корпоративный шаблон).

Для редактирования корпоративных кодов структуры следует выбрать команду меню Tools > Customize > Enterprise Fields (Сервис > Настройка > Корпоративные поля) и в открывшемся диалоговом окне перейти на вкладку Custom Outline Codes (Настраиваемые коды структуры).

Для настройки кодов структуры, относящихся к ресурсам, нужно выбрать переключатель Resource (Ресурс). Настройка кодов осуществляется стандартным способом (см. раздел «Настраиваемые коды структуры»), и для определения использования кода в работе корпоративных средств нужно воспользоваться флажками раздела Enterprise attributes (Корпоративные свойства).

При выборе значения многоуровневого кода для ресурса пользователь может указывать значение как нижнего уровня, так и более высоких. Например, при трехуровневой маске кода можно выбрать значение третьего уровня (например, Программирование > C++ > Эксперт), а можно и второго (например, Программирование > C++). Вы можете ограничить пользователей и разрешить им при определении значения кода выбирать только те из них, которые не имеют вложенных значений. Для этого необходимо установить флажок Only allow selection of codes with no subordinate values (Разрешить выбор кода только без вложенных значений).

Если вы хотите, чтобы какой-то из настроенных корпоративных кодов структуры был обязательным для заполнения, нужно установить флажок Make this a required code (Обязательный для заполнения). Например, в нашем случае выбранный код не является обязательным.

И наконец, самое важное. Чтобы код структуры использовался при подборе ресурсов, необходимо установить флажок Use this code for matching generic resources (Использовать этот код для подбора ролевых ресурсов).

В нашем примере мы решили подбирать ресурсы на основе их навыков. Для этого мы настроили четыре кода структуры (от Навыки-1 до Навыки-4). Предполагается, что будет один список навыков и у каждого сотрудника может быть до 4 разных навыков из этого списка (минимум 1 навык, поэтому обязательно для заполнения только первое поле). Было бы крайне неудобно, если бы один список навыков пришлось бы вводить 4 раза, заполняя 4 таблицы подстановки (как если бы мы настраивали коды структуры в стандартной редакции MS Project), и разработчики профессиональной редакции избавили нас от этого неудобства.

Когда вам требуется использовать одну таблицу подстановки кода структуры в нескольких кодах, сначала нужно создать исходный код со списком подстановки, а последующие поля «прикреплять» к ней. Для этого в настройках поля следует установить флажок Share another code's lookup table (Использовать таблицу подстановки другого кода) и нажать кнопку Choose Outline Code (Выбрать код структуры) для выбора этого кода.

Представлено диалоговое окно выбора кода структуры, таблица подстановки которого будет использоваться кодом структуры Навыки-2. В раскрывающемся списке Field Type (Тип поля) выбирается тип поля, а в списке Field Name (Название поля) — его название. В нашем примере мы выбрали код Навыки-1 типа Resource (Ресурс). После этого при попытке пользователя заполнить поле Навыки-2 список предлагаемых значений будет таким же, как у поля Навыки-1.

В таблице со списком настраиваемых корпоративных кодов структуры после названия кода указывается специальное обозначение, если его таблица подстановки используется другим кодом или если код использует чужую таблицу подстановки. Если таблица используется в другом коде, то после названия кода указано shared (совместное использование). Если же код использует таблицу другого кода, то рядом с его названием указано linked (подключен). В нашем примере коды Навыки-2, Навыки-3 и Навыки-4 используют таблицу подстановки кода Навыки-1.

В таблице для этого кода мы создали трехуровневую структуру навыков, на первом уровне которой находится название типа навыка (Программирование, Разработка баз данных), на втором уровне — название технологии данного типа (C++, MS SQLServer), а на третьем — уровень владения технологией (Начинающий, Средний уровень, Эксперт). Таким образом, для ресурса можно определить до четырех навыков типа Программирование > C++ > Эксперт или Разработка баз данных > MS SQL Server > Начинающий.

Организационный код структуры

В корпоративном глобальном шаблоне есть один предопределенный код структуры ресурсов — RBS (ОСР), который служит для определения места ресурса в структуре организации. Этот код нельзя переименовать, а в остальном он ничем не отличается от других корпоративных кодов структуры.

Этот код структуры введен по аналогии с кодом структурной декомпозиции работ WBS (СДР), традиционно используемым при планировании проектов (см. раздел «Код структуры задач»). Для него требуется обязательно определить таблицу постановки, и его значения нужно обязательно определять для ресурсов. Хотя такого требования не ставит интерфейс программы, но по ее логике (вы убедитесь в этом чуть позже) без использования этого поля эффективная замена ресурсов невозможна.

Мы рекомендуем при определении этого кода создать верхний уровень, охватывающий все ресурсы, которые могут использоваться при подстановке. В нашем случае это Сотрудники, верхняя строка таблицы подстановки.

Определение кодов для ресурсов

После того как корпоративные коды структуры определены, нужно сохранить корпоративный глобальный шаблон и перезагрузить MS Project. Далее следует открыть для редактирования пул ресурсов и определить для ресурсов значения кодов структуры.

Для определения значений корпоративных полей структуры для ресурсов нужно воспользоваться вкладкой Custom Fields (Настраиваемые поля) в диалоговом окне сведений о ресурсе Обязательные для заполнения поля помечены звездочкой.

После настройки значений корпоративных кодов структуры для ресурсов пула, его нужно сохранить стандартным способом. При этом нужно иметь в виду, что если вы определили какие-то коды структуры как обязательные для заполнена (то сохранение корпоративных ресурсов, у которых эти коды не определена будет невозможно. При сохранении ресурсов MS Project проверяет заполнена обязательных полей, и если среди ресурсов есть такие, у которых эти поля к заполнены, появляется диалоговое окно проверки ресурсов.

В центре диалогового окна расположена таблица. В первом столбце таблищ Error (Ошибка), дается описание ошибки, из-за которой ресурс не может быть со хранен на сервере. В нашем примере у ресурса Уваров не определено значение обязательного для заполнения поля. В диалоговом окне отображается это поле (в нашем случае — Навыки-1), и с помощью раскрывающегося списка можно определить нужное значение этого поля для ресурса.

Подбор ресурсов в проектную команду

Для подбора ресурсов в команду сначала необходимо описать потребности в ресурсах с определенными навыками. Для этого нужно добавить в проект (или создать) ролевой ресурс и выбрать из корпоративных кодов структуры навыки, которыми должен обладать сотрудник, выступающий в этой роли. Далее нужно назначить ролевой ресурс на задачи. Тогда программа будет обладать информацией не только о необходимых навыках ресурса, выступающего в этой роли, но и о временных рамках, когда он будет задействован в проекте, а также об объеме трудозатрат. Когда все эти ограничения известны, можно переходить к подбору ресурса.

СОВЕТ

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

Для подбора корпоративного ресурса на место ресурса команды можно воспользоваться диалоговым окном построения команды из корпоративных ресурсов. В таблице с ресурсами команды нужно выделить ресурс, который вы хотите заменить, и нажать кнопку <Match (<Подбор). После этого в списке корпоративных ресурсов останутся только те, у которых значения корпоративных кодов структуры, помеченных как используемые для подбора ролевых ресурсов, равны значениям этих же полей у выбранного ресурса команды. Фактически в момент нажатия кнопки <Match (<Подбор) программа заполняет поля фильтра в диалоговом окне. Обычно это остается незаметным для пользователя, и на рисунке мы специально развернули блок с фильтром. Как вы видите, условие фильтра отбирает ресурсы, у которых значения в полях Навыки равно значениям в этих же полях у выбранного ресурса.

В нашем примере подобраны два корпоративных ресурса, которыми можно заменить выбранный командный ресурс. Это сам заменяемый ресурс (поскольку он уже был добавлен в проектную команду, его название выделено серым и добавить его в команду нельзя) и ресурс Уваров. Однако в нашем пуле есть и второй ресурс, Коленцев, с тем же набором навыков, что и у Программиста Visual Basic, однако он не был отобран фильтром. В чем же дело?

Как видно из условий фильтра, отображающихся в диалоговом окне, отбираются корпоративные ресурсы, у которых значения корпоративных кодов полностью совпадают со значениями кодов для ресурсов команды. То есть если у Коленцева есть те же навыки, что у Программиста Visual Basic, но они перечислены в другом порядке, например в поле Навыки-1 указано, что он эксперт по VB6, а в поле Навыки-2 — что он эксперт по VB5, то он не будет отобран фильтром. Алгоритм, используемый для подбора ресурсов в диалоговом окне построения команды, полностью эффективен только при подборе на основании одного поля. В остальных случаях высока вероятность, что подходящие ресурсы не будут подобраны. Поэтому для эффективного подбора ресурсов нужно пользоваться другим средством — мастером замены ресурсов, Resource Substitution Wizard (Мастер замены ресурсов).

Мастер замены ресурсов

Если бы мы заменяли ресурсы с помощью мастера только в одном проекте, то он снова предложил бы использовать Уварова вместо ролевого ресурса. Поэтому, чтобы продемонстрировать работу мастера, мы сохранили текущий проект Программирование на Visual Basic как Программирование на Visual Basic-2. Теперь у нас есть два проекта, в которых есть две идущие одновременно задачи, где требуется один и тот же ролевой ресурс — Программист Visual Basic. Кстати, умение заменять ресурсы сразу в нескольких проектах — очень важная особенность мастера, поскольку позволяет в автоматическом режиме распределить ресурсы между несколькими командами.

Для запуска мастера предназначена команда меню Tools > Substitute Resources (Сервис > Замена ресурсов). После первого окна мастера с краткой информацией о нем загружается диалоговое окно для выбора проектов, в которых будет осуществляться замена ресурсов. Проекты выбираются из числа открытых в MS Project, поэтому прежде чем запускать мастер, нужно открыть проект, в котором вы хотите заменить ресурсы. Например, в нашем случае в MS Project открыто два проекта — Projectl и Программирование на Visual Basic-2.Published, и мы будем осуществлять замену ресурсов только во втором.

На следующем шаге мастера определяется, какие ресурсы будут использованы при подстановке. Вы можете использовать для замены ролевых ресурсов те ресурсы, которые уже добавлены в проект. Для этого нужно выбрать переключатель In the selected projects (В выбранных проектах). Можно использовать ресурсы корпоративного пула, для чего следует выбрать переключатель At or below the following level in the Resource Breakdown Structure (На следующем уровне организационной структуры ресурсов или ниже него). И наконец, из списка ресурсов пула вы можете сами выбрать один или несколько ресурсов, которые будут использоваться мастером для замены. В таком случае необходимо выбрать переключатель Specified below (Определенные ниже).

Именно в этом диалоговом окне и проявляется необходимость иметь высший уровень в RBS (ОСР). Например, в нашем случае мы хотим, чтобы мастер искал сотрудника с нужными навыками среди всех сотрудников организации, поэтому выбираем второй переключатель и в раскрывающемся списке организационной структуры выбираем уровень Сотрудники.

Если же вы захотите использовать при замене определенные ресурсы, то, выбрав третий переключатель, необходимо добавить их в таблицу с помощью кнопки Add (Добавить), расположенной справа от таблицы. При щелчке на этой кнопке открывается диалоговое окно построения проектной команды, в котором выбираются необходимые ресурсы. Удаление ресурсов из таблицы осуществляется с помощью кнопки Remove (Удалить), которую также не видно из-за раскрытого списка. В раскрывающемся списке Resource Freeze Horizon (Заменять назначения после) определяется дата, начиная с которой мастер будет отбирать назначения для замены ресурсов. По умолчанию эта дата равна дате начала проекта или самой ранней дате начала одного из проектов, если выбрано несколько проектов. Этот параметр удобно использовать при поэтапном планировании длительных проектов. Например, проект длится год и ресурсы выделяются на работы раз в квартал. В таком случае раз в квартал запускается мастер, определяющий, какие сотрудники могут выполнять роли, требуемые для выполнения проектных работ в следующем квартале.

При переходе к следующему шагу мастер анализирует назначения проекта после казанной в списке Resource Freeze Horizon (Заменять назначения после) даты и пределяет, какие ресурсы в них задействованы. Далее он ищет другие корпоративные проекты, в которых задействованы эти же ресурсы, и на следующем шаге гображает их список.

Нa третьем шаге мастера нужно выбрать проекты, которые мастер должен также иметь в виду» при анализе проекта, определенного на первом шаге. В центре кна мастера расположена таблица, содержащая название проекта, тип связи с эугим проектом и название связанного проекта. Например, в нашем случае просто. Программирование на Visual Basic.Published связан с проектом Программирование Visual Basic-2.Published, и установлен тип связи — использование общих ресурсов. Другие приведенные в таблице проекты связаны с проектом Resource Pool Пул ресурсов) и имеют такой же тип связи.

ля отбора проектов, которые будут анализироваться совместно с выбранным на фвом шаге проектом, необходимо установить флажки рядом с их названиями, нашем примере для анализа вместе с проектом Программирование на Visual Basic-Published выбран проект Программирование на Visual Basic.Published.

На следующем, четвертом шаге мастера определяются параметры подбора ресурсов в выбранные проекты. В столбце Priority (Приоритет) указывается приоритет проекта — в проект с более высоким приоритетом ресурсы будут распределяться в первую очередь. В столбце Options (Параметры) определяется источник ресурсов для подстановки.

Если в столбце Options (Параметры) выбрать значение Use resources in pool (Использовать ресурсы пула), то для подбора ресурсов в проект будут использованы ресурсы пула в соответствии с настройками, осуществленными на втором шаге мастера. Если же выбрать вариант Use resources in project (Использовать ресурсы проекта), то при подборе ресурсов будут использоваться ресурсы, включенные в проект, для которого осуществлена такая настройка. В нашем примере для подбора ресурсов в оба проекта будет использоваться пул ресурсов.

На следующем шаге мастера отображается сводная информация по конфигурации подбора ресурсов, и для запуска расчета следует нажать кнопку Run (Выполнить). После завершения расчета нужно перейти к следующему шагу мастера, нажав кнопку Next> (Далее>). В центре этого диалогового окна расположена таблица, содержащая замены, предлагаемые мастером. Замены сгруппированы по проектам.

В первом столбце таблицы, Task (Задача), перечислены задачи, к ресурсам которых найдены замены, и в этом же столбце отображаются названия проектов. В столбце Skill Profile (Навыки) перечислены значения из корпоративных кодов структуры, используемых для подбора ролевых ресурсов. В столбце Assigned Resource (Назначенный ресурс) указано название ресурса, подобранного мастером для выполнения роли, а ролевой ресурс указан в столбце Requested Resource (Запрашиваемый ресурс).

Как видно в нашем примере, на замену ролевого ресурса в один из проектов мастер подстановки предложил Уварова, а во второй — Коленцева. Таким образом, мастер подстановки смог обнаружить ресурс с требуемым набором навыков, хотя они были расположены в полях не в таком порядке, как у группового ресурса.

ВНИМАНИЕ

С помощью мастера можно автоматически заменять не только ролевые ресурсы, но и обычные (как загруженные из корпоративного пула, так и созданные в локальном файле). Для того чтобы мастер не предлагал замену ресурсу, в настройках назначения ресурса необходимо выбрать тип назначения Demand (Потребность). Во всех остальных случаях мастер будет пытаться найти замену ресурсу.

На следующем шаге мастера операция подбора ресурсов завершается. Для внесения обновлений в проекты необходимо установить флажок Update projects with the results of the wizard (Обновить проекты с учетом результатов работы мастера).

Можно и сохранить отчет с данными о настройках мастера, установив флажок Save results of the wizard (Сохранить результаты работы). Отчет представляет собой файл в формате HTML и содержит данные, аналогичные тем, что отображаются на пятом шаге мастера в диалоговом окне со сводной информацией о его конфигурации.

После нажатия кнопки Next> (Далее>) программа осуществляет действия в соответствии с установленными флажками.