Мы хотим поделиться нашим опытом настройки Microsoft Project Server 2010 для удовлетворения конкретных требований клиентов.
Данная статья может быть интересна как бизнес-пользователям, которые смогут узнать о новых возможностях платформы применительно к собственной компании, так и техническим специалистам, которые смогут почерпнуть из статьи новые знания о методах улучшения Microsoft Project Server 2010.
Краткое введение
В крупных компаниях управление проектами строго регламентировано стандартами компании.Как правило, все проекты имеют однозначную классификацию и четко определенный жизненный цикл проекта.
Плюс большое количество проектов, реализуемых одновременно, и большое количество специалистов различных ведомств, участвующих в проектах.
В идеале информационная система управления проектной деятельностью должна обеспечивать следующий функционал (далеко не полный, но в целом достаточный):
- инициирование проекта, включая подготовку обоснования проекта, детализации требований, формирование содержания, объемов, планируемых ресурсов и бюджета проекта;
- календарное и сетевое планирование;
- управление ресурсами проекта;
- ведение оперативной информации по проекту и контроль состояния проекта;
- документооборот проектной деятельности и ведение архива проектной документации;
- управление проектными рисками, проблемами и запросами на изменения;
- формирование оперативной и статистической отчетности по проекту.
Одним из вариантов, рассматриваемых компаниями в качестве основы построения корпоративной системы управления проектами, является Microsoft Project Server 2010 (2013).
А вот можно ли использовать его по запросам компании практически «из коробки» или с минимальными доработками и насколько это возможно и удобно – вопрос открытый.
Если с функционалом календарно-сетевого планирования и управления ресурсами проекта проблем нет, то с функционалом рабочей области проекта, предоставляемой Microsoft Project Server 2010 (2013) по умолчанию, всё не так радужно.
Постановка задачи
Приведем пример реального проекта.Проект организован по классической методологии и содержит этапы: Инициация, Планирование, Исполнение, Мониторинг и контроль, Закрытие.
Давайте рассмотрим этапы инициации и планирования проекта.
Что мы хотим от системы (в идеале) — это создание проекта по стандартам компании и механизм (функционал) коллективной работы по оценке и планированию проекта, включающий: Задача 1. Создать проект, содержащий все необходимые атрибуты в соответствии с внутренними стандартами компании.
Например, коды проектов в соответствии с внутренним бюджетом и классификацией портфеля.
Задача 2. Автоматически получить после создания проекта рабочую область, обеспечивающую основной функционал по формированию основных данных проекта, а именно:
- категоризация проекта (цели, решение, результаты, преимущества и технические положения проекта);
- организационная структура проекта (управляющий и оперативный советы, рабочие группы, необходимые специалисты необходимой квалификации);
- объем и объем проекта (функциональный, организационный и технический объем проекта, процедуры изменения объема);
- подход к реализации проекта (стратегия реализации, предположения и ограничения, анализ воздействия);
- бюджет проекта (этапы финансирования, объем работ в рамках этапов финансирования по этапам проекта и статьям затрат, общий бюджет проекта);
- структурированный репозиторий проектной документации;
- автоматическое формирование паспорта проекта как итогового документа этапа.
Обзор готового решения
Что мы можем получить при использовании Microsoft Project Server 2010 с настройками по умолчанию и насколько он оправдает наши ожидания? Задача 1. Создать проект, содержащий все необходимые атрибуты в соответствии с внутренними стандартами компании.Например, коды проектов в соответствии с внутренним бюджетом и классификацией портфеля.
Мы можем получить все расширенные атрибуты проекта, используя механизм пользовательских полей , основным преимуществом которого является автоматический доступ к базам данных отчетов и возможность построения аналитики поверх них.
Единственным недостатком является то, что мы не можем автоматически генерировать коды проектов на основе типа проекта и других атрибутов, которые его классифицируют. Задача 2. Автоматически получить после создания проекта рабочую область, обеспечивающую основной функционал по формированию исходных данных для проекта.
Здесь все не так радужно: при использовании Microsoft Project Server 2010 (2013) с минимальными настройками мы можем получить лишь стандартное рабочее пространство проекта, содержащее:
- Документация;
- Риски;
- Вопросы.
Стандартное рабочее пространство проекта (для увеличения откройте картинки в новой вкладке) Таким образом, предварительный результат следующий - 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. Есть два способа:
- Создайте изолированное решение на основе стандартной рабочей области PWS.
- Создайте определение сайта решения фермы.
Его преимущество в том, что созданное рабочее пространство сразу появится в интерфейсе администрирования.
Однако ограничения изолированных решений довольно сильны.
Например, вы не можете получить доступ к базам данных, а это именно то, чего мы хотим.
Для отображения различных подключений к данным непосредственно из 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 #управление проектами #система управления проектами #программирование
-
Черногория
19 Oct, 24 -
Нужен Ли Мне Rss-Канал?
19 Oct, 24 -
Задача №29
19 Oct, 24 -
Моделирование Простых Утверждений
19 Oct, 24