Адаптация Microsoft Project Server 2010 К Специфике Системы Управления Проектами Компании.

Мы хотим поделиться нашим опытом настройки Microsoft Project Server 2010 для удовлетворения конкретных требований клиентов.

Данная статья может быть интересна как бизнес-пользователям, которые смогут узнать о новых возможностях платформы применительно к собственной компании, так и техническим специалистам, которые смогут почерпнуть из статьи новые знания о методах улучшения Microsoft Project Server 2010.



Краткое введение

В крупных компаниях управление проектами строго регламентировано стандартами компании.

Как правило, все проекты имеют однозначную классификацию и четко определенный жизненный цикл проекта.

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

В идеале информационная система управления проектной деятельностью должна обеспечивать следующий функционал (далеко не полный, но в целом достаточный):

  • инициирование проекта, включая подготовку обоснования проекта, детализации требований, формирование содержания, объемов, планируемых ресурсов и бюджета проекта;
  • календарное и сетевое планирование;
  • управление ресурсами проекта;
  • ведение оперативной информации по проекту и контроль состояния проекта;
  • документооборот проектной деятельности и ведение архива проектной документации;
  • управление проектными рисками, проблемами и запросами на изменения;
  • формирование оперативной и статистической отчетности по проекту.

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

Одним из вариантов, рассматриваемых компаниями в качестве основы построения корпоративной системы управления проектами, является Microsoft Project Server 2010 (2013).

А вот можно ли использовать его по запросам компании практически «из коробки» или с минимальными доработками и насколько это возможно и удобно – вопрос открытый.

Если с функционалом календарно-сетевого планирования и управления ресурсами проекта проблем нет, то с функционалом рабочей области проекта, предоставляемой Microsoft Project Server 2010 (2013) по умолчанию, всё не так радужно.



Постановка задачи

Приведем пример реального проекта.

Проект организован по классической методологии и содержит этапы: Инициация, Планирование, Исполнение, Мониторинг и контроль, Закрытие.

Давайте рассмотрим этапы инициации и планирования проекта.

Что мы хотим от системы (в идеале) — это создание проекта по стандартам компании и механизм (функционал) коллективной работы по оценке и планированию проекта, включающий: Задача 1. Создать проект, содержащий все необходимые атрибуты в соответствии с внутренними стандартами компании.

Например, коды проектов в соответствии с внутренним бюджетом и классификацией портфеля.

Задача 2. Автоматически получить после создания проекта рабочую область, обеспечивающую основной функционал по формированию основных данных проекта, а именно:

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

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



Обзор готового решения

Что мы можем получить при использовании Microsoft Project Server 2010 с настройками по умолчанию и насколько он оправдает наши ожидания? Задача 1. Создать проект, содержащий все необходимые атрибуты в соответствии с внутренними стандартами компании.

Например, коды проектов в соответствии с внутренним бюджетом и классификацией портфеля.

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

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

Здесь все не так радужно: при использовании Microsoft Project Server 2010 (2013) с минимальными настройками мы можем получить лишь стандартное рабочее пространство проекта, содержащее:

  1. Документация;
  2. Риски;
  3. Вопросы.



Адаптация Microsoft Project Server 2010 к специфике системы управления проектами компании.
</p><p>

Стандартное рабочее пространство проекта (для увеличения откройте картинки в новой вкладке) Таким образом, предварительный результат следующий - Microsoft Project Server 2010 (2013) без существенных доработок хорошо справляется с коллективной работой по управлению проектами с точки зрения календарного и сетевого планирования и управления ресурсами, проблемами и рисками, но плохо адаптирован для комфортной работы.

с формированием показателей паспорта проекта, финансовым планированием проекта, договорной работой и проектным документооборотом в целом.

Можно ли найти компромисс и «малой кровью» расширить и модифицировать базовый функционал Microsoft Project Server 2010? Ответ «Да», и об этом ниже.



Улучшение Microsoft Project Server. Технические аспекты

Так что же можно сделать, чтобы добиться желаемого результата? Задача 1. При создании проекта нам не хватило функционала автоматического кодирования проекта в зависимости от его характеристик.

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

Те.

Задача при создании проекта — сгенерировать для него код в следующем формате PRJ[определитель типа проекта][активность][цифры в пределах выбранного типа и направления].

Для этого вполне подходит механизм MS Project, называемый обработчиками событий проекта.

Те.

К событию создания проекта необходимо прикрепить обработчик, который будет генерировать необходимый код. Как записать необходимое значение поля? Для работы напрямую с полем вам понадобится прокси-сборка для Project Server Web Api под названием PSI — ProjectServerServices.dll. Следует отметить, что работа с PSI весьма специфична, поскольку все действия производятся с использованием специализированных DataSet, а информация о нем несколько разрознена.

ID искомого поля можно получить, например, с помощью этой статьи http://msdn.microsoft.com/en-us/library/office/ms453399(v=office.15).

aspx , Дальше:

  
  
  
   

//read project information var projectDS = ProjectSvc.ReadProject(ProjectUID, SvcProject.DataStoreEnum.WorkingStore); foreach (ProjectDataSet.ProjectCustomFieldsRow cfRow in projectDS.ProjectCustomFields) { //if field exists, just update it if (cfRow.MD_PROP_UID.ToString() == id.ToString()) { //update the value cfRow.TEXT_VALUE = code; customFieldFound = true; } }

После чего проект необходимо вернуть.



//create a new job id jobId = Guid.NewGuid(); //checkin the updated project bool force = false; string sessionDescription = "updated custom fields"; ProjectSvc.QueueCheckInProject(jobId, ProjectUID, force, sessionId, sessionDescription);

И опубликовать это.



//create a new job id jobId = Guid.NewGuid(); bool fullPublish = false; ProjectSvc.QueuePublish(jobId, ProjectUID, fullPublish, EndpointAddressProjectSvc.Uri.ToString())

Задача 2. Автоматически получить после создания проекта рабочую область, обеспечивающую основной функционал по формированию исходных данных по проекту (подготовка паспорта проекта).

Итак, что же такое стандартное MS SharePoint Workspace: это узел, созданный по специальному шаблону, который содержит списки документов, вопросов и рисков.

Теперь мы хотим получить шаблон узла, обладающий богатым функционалом.

Первый вопрос — как создать определение сайта, которое можно использовать в качестве шаблона рабочей области MS SharePoint. Есть два способа:

  1. Создайте изолированное решение на основе стандартной рабочей области PWS.
  2. Создайте определение сайта решения фермы.

Рассмотрим оба варианта: Песочница или Site-Definitions — это настройка существующего рабочего пространства.

Его преимущество в том, что созданное рабочее пространство сразу появится в интерфейсе администрирования.

Однако ограничения изолированных решений довольно сильны.

Например, вы не можете получить доступ к базам данных, а это именно то, чего мы хотим.

Для отображения различных подключений к данным непосредственно из Microsoft Project и рабочей области.

Фермерское решение.

Преимущество очевидно, мы имеем полный доступ к OM SharePoint и можем вызывать данные из различных источников.

Однако как заставить Project считать определение сайта допустимым для использования в качестве шаблона рабочей области? Google тогда не смог нам помочь.

Итак, вооружайтесь IL-Spy или Reflector и вперед: Лучше всего начать со страницы «Сведения о типе корпоративного проекта» (\PWA\ADMIN\EnterpriseProjectTypeDetails.aspx), откуда после серии вызовов мы приходим к Microsoft.Office.Project.Server.dll и ReadWssInstalledLanguagesAndWebTempalates(.

.

) метод класса Microsoft.Office.Project.Server.BusinessLayer.Admin, что мы там увидим.



foreach (SPWebTemplate sPWebTemplate in sPWebTemplateCollection)

Теги: #Сервер Microsoft Project #Microsoft Project #управление проектами #система управления проектами #программирование

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.