Part 3: Visualization of project lifecycle with help of Dynamic Workflow solution starter and FluentPro EPM Pulse for Project Server 2010


This is a part 3 of my series of post related to the project life cycle design and data visualization with the help  of EPM Pulse.

In this part, I will provide an overview of the process of building portfolio-level dashboards with the help of FluentPro EPM Pulse.

Portfolio is a group of projects. Organization can have several portfolios or only one that will contain all the projects that should be performed over a specific time frame. Projects can be included into the portfolio directly or using the Portfolio Analysis features of the Microsoft Project Server platform.

Portfolio dashboards display aggregated information about set of projects and how entire portfolio aligned with goals.

EPM Pulse has 4 sets of widgets that can be used in building portfolio dashboards:

  • Set of widgets that display project start / finish dates on charts ( when started, when planned to start, when planned to finish, when finished, started / late / on track, on which workflow phases / stages the projects are, completion on time)
  • Portfolio Financial information (Planned / Baseline costs, budgets, actual costs, cost distribution, costs by department, cost variances)
  • Project Execution Information (Planned / Baseline work, budgeted work, actual work, work distribution, work by department, work variances)
  • Resources-related information (Utilization, Over-allocation, Generic Resources, Availability, Capacity)
  • Portfolio summary for Risks and Issues

Using these widgets companies can visualize the state of their portfolio and what is the the most important - do some additional analysis and slicing/dicing of the data.

Selecting projects for dashboards


EPM Pulse provides ability to define quite complex rules for filtering projects. To access this functionality click on Project Filter button. Users can filter by any standard and custom project level field and use multiple conditions. It is possible to  manually select several project or use select all - this will select all projects that match that filter criteria - that means that list of projects in a dashboard can be dynamic and updated in real-time



Timeline

EPM Pulse has a powerful tool for navigating dashboards in a time - Timeline control.


It is visible on all dashboards and in all modes. Changes made to the timeline and project filter will be saved to the dashboard if in the edit mode.

Timeline has several options:
- Auto (earliest start date - latest finish date)
- Day (current)
- Week (current)
- Month (current)
- Quarter (current, calendar)
- Year (current, calendar)
- Custom (users can define custom range).

Note: Majority of the widgets are time-enabled, but there are some that are not - mostly ones that display summary of financial / work information for the entire portfolio. In the description for each widget user can find if it is not time-phased (this is specially stated on one's that are not timeline-enabled). Depending on timeline selection, widgets will use appropriate time scale, but user can override this by using the Timeline setting for the widget (where it is applicable). For example - user might want that Work Distribution widget will be always show data grouped by week, no matter what selected on the timeline.



Sample dashboards

We've created several sample Portfolio level dashboards - and as you will see they might be quite different. If required - users can change dashboards in minutes and without any programming, anytime.

Dashboard #1



Dashboard #2


Dashboard #3



After building 4-5 dashboards, creation of a new dashboard that contains about 10 widgets should take  about 4-5 minutes.

Integration of portfolio dashboards into PWA / SharePoint Sites

EPM Pulse portfolio dashboards can be build-in into any SharePoint site or PWA. The procedure is absolutely the same as embedding dashboard into PDP - add a web part and select dashboard (See blog post Part 2: Designing Project level dashboards with EPM Pulse for Project Server 2010 )

We recommend that users create a filter for projects  - that filter settings saved into dashboard and will be used by default when user not overriding them in the dashboard.

Please note that dashboards must be made "public".

Summary

This was a final post on this series. Please visit our blog for the new posts - soon there will be very similar post for Project Server 2013 platform, and instead of Dynamic Workflow solution starter we will use SharePoint Designer 2013.

Webinar about EPM Pulse

We would like to invite you to our webinar on about benefits of using EPM Pulse and Project Server 2010 together. Webinar will take place on June 11th at 9AM PST; You will learn more about EPM Pulse and creating a portfolio and project level dashboards.

Please sign up here - and it is absolutely FREE.


Other posts in this series






Part 2: Visualization of project lifecycle with help of Dynamic Workflow solution starter and FluentPro EPM Pulse for Project Server 2010

In this post, I will provide an overview of FluentPro EPM Pulse, overview of widgets in EPM Pulse that we've created and will show how to build project dashboards in EPM Pulse and  integrate them into PDPs and Project Sites.

In the next post - Part 3 - I will demonstrate how to create portfolio level dashboards with the help of EPM Pulse.

So Let's not wait any longer and let's get stared.

Assumptions

EPM Pulse overview

FluentPro EPM Pulse is a data visualization platform for Microsoft Project Server 2010 with a focus on self-service. That means that companies can give rights to regular project managers to create their own dashboards for that their projects so project managers can not only "feed" system with the data but also retrieve it and visualize in very easy way using visual tools.

There are 2 main features of EPM Pulse - they are  pre-built "Widgets" and Visual Dashboard Designer. Designer allows to add pre-built charts (we call them "Widgets") to the dashboard and re-position / resize them the way user wants.  We have built over 150 widgets for both portfolio and project level dashboards and it should cover 99% of all organization needs.  Using widgets provides the ability to build dashboards without any development. Add Widgets. Re-position. Re-size. Save.  It all takes just couple minutes per dashboard and seconds to make changes if required.

Building dashboards for different stages

As described in Part 1, we have multiple stages in our workflow and ideally we need to have one dashboard per stage but in fact, we can limit them this number to 4 dashboards since on Project Initiation and Project Selection stage, project is very likely is in the same "state":
  • Project Initiation / Project Selection Stage
  • Project Planning stage
  • Project Execution stage
  • Project Closing stage / Project Closed stage
Let's start building them.


Project Initiation / Project Selection 

On this stage, companies have only high level information about the project and a limited amount of information. Project schedule might exist but might contain only several tasks or proposed key milestones.
There is usually some indication of the requested budget. Project is resourced with resource plan.
We can build dashboard that will show:
- Values of several custom fields (Request Budget, Duration)
- List of Milestones
- Capacity /Planned work / Availability of the team from resource plan
- Planned Work distribution from resource plan
- Planned work by resource department

To create dashboard, click on a Link to EPM Pulse, Select project table and click on "Create New"
This will bring the new dashboard window.

1.  Click on Add Widget and select: Project Field Widget from Other tab, Planned Work By Project Department (Resource Plan) from Project Progress tab, Project Milestones and Planned Work Distribution ( Resource Plan) from the Project Summary tab and Project Team Availability (Resource Plan) from Resource Tab and click on Apply button

2.  Click on Add Widget and add one more Project Field Widget from Other tab; Click Apply button.

3. Select a project that is on stage Project Initiation or Project Selection using the "Project Filter" button

4. Click on Save and enter the name "Project Initiation Dashboard"

5. Click on Edit

6. Distribute / resize widgets and configure to display. For example, our dashboard can look as following:


For most of the widgets there are 2 dialogs for configuration of the widget setting and look and feel:


7. Click on Properties button, go to Options and select Public as Visibility

8. Save dashboard

Now, we have dashboard created and it should display information from the project. Several recommendations for data in "requests":

- Try to provide as much as possible information
- Create at least one task and set duration so project will have a duration
- Try to match dates in resource plan with  project start / finish dates
- Try to define one or several key milestones

Project Planning Stage

On the next stage, Project Planning Stage, we should be focused on the project schedule / milestones, work / cost distribution and resource availability. We will use the same approach for creating dashboard but will use slightly different set of the widgets.

Please add following widgets (just as a sample set):

  • Project Financial Summary (Baseline), Cost S-Curve, Planned Cost distribution from Financial Tab
  • Burndown Chart, Work S-Curve from Project Progress tab
  • Planned Work Distribution, Project Milestones, Project Performance Summary (Baseline) from Project Summary Tab


After re-positioning / re-sizing of widgets, dashboard that I just created looks as following:


Feel free to add / replace charts or create one more dashboard for this stage.
Note: Do not forget to make dashboard public - this will be required to add them to PDPs.

Project Execution Stage

On this stage we need to see in-flight information. Progress. Late tasks. Milestones.
Dashboard that I just created for this stage looks as following:


 (Screenshot displays not a full dashboard - it has one more level that did not fit into the screenshot)

Again - use creativity - EPM Pulse provides access to over 70 widgets, build multiple dashboards.

Project Closing / Project Closed Stage

On this stage we recommend displaying summary metrics from project how it was executed and perform a "lessons learned" analysis on the project. What went wrong? What was great and accurate? What can we improve with next projects?  We've developed a number of widgets for that as well - users can find multiple widgets focused on accuracy and variations that serve the best for these goals (for sure, we can display only what can be "measured", this is just one aspect of "lessons learned" or retrospective review).


Sample dashboard that I just created for this stage looks as following:



Now - we have 4 dashboards created and we can add them to the PDPs that we already have.

Adding dashboard to PDP

Go to Server Settings - Project Detail Pages and click on Project Initiation Dashboard PDP.
Go to Site Actions and select Edit Page
If there is no EPM Pulse Viewer webpart, add it - click on Add a Web Part, select FluentPro EPM Pulse on the left and select EPM Pulse Dashboard Simple Viewer. Press Add button


Go to the EPM Pulse Viewer webpart on the page and click on Edit Webpart and in first dropdown select Dashboard that we created (Project Initiation Dashboard).


That's it. Perform this step for all PDPs and now projects will display EPM Pulse dashboard on one of the PDP depending on project workflow stage.

Wasn't that extremely easy? Isn't that looks good? I would say - awesome!



Webinar about EPM Pulse

We would like to invite you to our webinar on about benefits of using EPM Pulse and Project Server 2010 together. Webinar will take place on June 11th at 9AM PST; You will learn more about EPM Pulse and creating portfolio and project level dashboards.

Please sign up here - and it is absolutely FREE.


Other posts in this series





Part 1: Visualization of project lifecycle with help of Dynamic Workflow solution starter and FluentPro EPM Pulse for Project Server 2010

It this post, I will try to provide a step-by-step instructions how to a full create environment with simplified workflow using Dynamic Workflow solution starter and later in next post we will visualize information using dashboards created in EPM Pulse. This will be a pretty big post - but it will allow users to get started with Project Server 2010 with workflow and great data visualization. Be prepared for some reading and couple hour of manual creation of configuration elements in Project Server (if you do not use FluentBooks for Project Server 2010).

This post will cover several sections:
  • Installation of Dynamic Workflow solution starter
  • Definition of Workflow
  • Create Fields & Lookup Tables
  • Define and create Drivers and Driver Prioritization
  • Create PDPs
  • Create Phases
  • Create Stages
  • Create Workflow
  • Create EPT

Assumptions

  • You have some experience of administering of Project Server 2010
  • You have Project Server administrator rights
  • For simplicity we will not use Departments feature in Project Server 2010
  • This post assumes that you have resource pool built and maybe using generic resources along with work and cost resources

Installation of Dynamic Workflow solution starter

I will assume that you have a Dynamic Workflow Solution Starter that you compiled and is ready for installation. If you don't:
- please go to http://archive.msdn.microsoft.com/P2010SolutionStarter, click on downloads and download source.zip
- open solution with Visual Studio 2010 and compile the Solution Starter
- You need to have following files in order to deploy Solution Starter:

Open the DeployPowerShell.Cmd file and edit its content - you need to edit Site URL:

--------------

@echo off
Set DeploymentPackageFolder="."

Set SiteUrl="http://w2008r2ps/demo2"
Set SolutionFolder="./"
Set SolutionName="DMDynamicWorkflow.wsp"
Set FeatureName="DMDynamicWorkflow_DynamicWorkflow"

cd %DeploymentPackageFolder%
PowerShell -file .\Deploy.ps1 %SiteUrl% %SolutionFolder% %SolutionName% %FeatureName%

pause

---------------

In my case, the URL with PWA where it will be deployed is http://w2008r2ps/demo2.
You need to log to the computer as farm administrator and run this script DeployPowerShell.Cmd from command line:



We strongly recommend to run RestartServices.bat after Dynamic Workflow solution starter install. This will restart IIS and Queue services.

To make sure that Dynamic Workflow in up and running, go to your browser and type the following URL:
http://w2008r2ps/demo2/_layouts/WrkSetng.aspx (replace http://w2008r2ps/demo2/ with you PWA url):


Click on Add a workflow:


In the window that displayed you should see the DM DynamicWorkflow  - that means it was installed and we expect it to be functional.

Designing a Project Server Workflow

To make things a slightly simplified, we will create a workflow with 5 Phases and 5 Stages (one phase can contain one or more stages, but we should be good with just one stage per phase). Our workflow will be potentially ready for the Portfolio Analysis and will include all the required elements:


Phase Stage PDPs Description
Project Initiation Project Initiation  - New Project Information
 - Strategic Impact
On this phase / stage, project request is initiated by users; All requests are captured so they can be later prioritized and only selected projects will go to detailed planning / execution. On this stage, initial planning is performed.
Project Selection Project Selection  - Project Summary
 - Strategic Impact
 - Schedule
 - Project Selection Dashboard
On this stage, the portfolio analysis component can be "plugged-in". In our scenario there will be no portfolio analysis, and only projects that are selected will move to the next stage.
Project Planning Project Planning  - Project Summary
 - Project Key Performance Metrics
 - Schedule
 - Strategic Impact
 - Planning Summary Dashboard
On this stage, detailed plan should be create, project should be resourced
Project Execution Project Execution  - Project Summary
 - Project Key Performance Metrics
 - Schedule
 - Project Status Information
 - Strategic Impact
 - Execution Dashboard
Project Execution and Tracking
Project Closing Project Closing Stage  - Project Summary
 - Project Status Information
 - Schedule
 - Statistics Dashboard
Project is completed or canceled. PMO, Mamangement and Project Managers shoud analyze information and perform a "lessons learned" exercise
Project Closed Project Closed  - Project Summary
 - Project Status Information
 - Schedule
 - Statistics Dashboard
Project is closed. This is the terminal stage of the project.

As you can see, I've listed all the Phases, Stages and PDPs that will be visible on those stages - and to make system more flexible, we will have different sets of PDPs for each stage.

There is one element that is missing in this table. It is possible also to control a "read-only" status of fields on specific workflow stages. Again, for simplicity, in this scenario we will make all the fields read-only on Project Closing and Project Closed stages.

So, our workflow structure is defined (designed), now we will get a technical section - creation of all elements.

Creating Custom Fields and Lookup Tables

Custom fields are created via Server Settings -> Enterprise Custom Fields and Lookup Table section

we will create following lookup tables with values:

Lookup Name Value
FP Indicator Black
Green
Red
Yellow
FP Project Type Program
Project
Portfolio Portfolio A
Portfolio B
Portfolio C
Program CM tools
FluentPro Audit Family
FluentPro Data Visualization Family
FluentPro PS Customization
FluentPro Web Tools
Project Site Tools Family
Resource Role Business Analyst
Coordinator
Developer
IT
Manager
Project Manager
Quality Assurance
Training Lead
Vendor


On the next step, we will create following fields:

Field Name Entity Type Lookup Table
Budget (Provided) Project Cost
Budget (Requested) Project Cost
Budget Document Reference Project Text
Business Objective Project Text
FP Project Type Project Text FP Project Type
Go-Live Date (Actual) Project Date
Go-Live Date (Forecast) Project Date
Major Accomplishments Current Period Project Text
Major Accomplishments Next Period Project Text
Portfolio Project Text Portfolio
Program Project Text Program
Project Description Project Text
Project Notes (General) Project Text
Project Progress Notes Project Text
Project Scope Project Text
Resource Role Resource Text Resource Role
Status - Budget Project Text FP Indicator
Status - Quality Project Text FP Indicator
Status - Red Explanation Project Text
Status - Resources Project Text FP Indicator
Status - Schedule Project Text FP Indicator
Status - Scope Project Text FP Indicator
Status - Update Date Project Date
Status - Yellow Explanation Project Text


Creating Drivers and Driver Prioritization

For our scenario - I will create 4 drivers and we will prioritize them - so we can define in future strategic impact for each of the projects.
To create drivers, to to PWA and click on Driver Library link in main menu on the left.

You will get to the page with drivers (it should be empty by default):




Use buttons on ribbon to create new drivers



Please note that you should define and create your own drivers that are specific for your organization.

To prioritize drivers, click on Driver Prioritization in PWA main menu. To create new prioritization, click on New on the ribbon. Window will appear where you need to enter prioritization name and select drivers that will be included into prioritization:


Then click on Prioritize Drivers and system will walk you via several steps of prioritization, depending on number of drivers included.

Creating PDPs

As next step, we need to create PDPs. PDPs are SharePoint pages that can display information from project level custom fields with help of special web part, called Project Fields web part. Users can place other webparts to PDPs - standard or custom. We will create 3 types of PDP:
 - PDP for project creation
 - PDP that will host EPM Pulse Dashboards
 - PDPs that will display information from project

We will create the following PDPs:

  • New Project Information
  • Project Selection Dashboard
  • Planning Summary Dashboard
  • Execution Dashboard
  • Statistics Dashboard
  • Project Summary
  • Project Information
  • Project Key Performance Metrics
  • Project Status Information

To create new PDP:
1. Go to Server Settings -> Project Detail Pages
2. Click on Ribbon on a Documents Tab and then on New Document
3. On displayed page enter PDP file name and select layout template (I prefer to use Full Page, Vertical;  other users prefer different layouts) and click on Create:


On displayed page, click add webpart and from dialog select a webpart:
- for Dashboard Pages, select EPM Pulse Simple Viewer webpart
- for "normal" PDP Pages select Project Web App -> Project Fields Webpart and select click on Add button.

Webpart will be added to the PDP.

To add fields to Project Fields web part, click on small dropdown arrow on webpart in top right corner and then click on Edit Webpart - > Modify (in Displayed Custom Fields Area) and then select fields that need to go to that web part. Below is a table with all fields for specific PDPs:

New Project Information
Business Objective
Finish
Owner
Portfolio
Program
Project Name
Start
Finish
Description
Key Performance Metrics
% Complete
% Work Complete
Actual Finish
Actual Start
Baseline Cost
Baseline Duration
Baseline Finish
Baseline Start
Baseline Work
Budget (Provided)
Budget (Requested)
Budget Cost
Budget Work
Cost
Cost Variance
CPI
Duration
Duration Variance
Finish
Go-Live Date (Actual)
Go-Live Date (Forecast)
Remaining Duration
Remaining Work
SPI
Start
Work
Work Variance
Project Status Information
Major Accomplishments Current Period
Major Accomplishments Next Period
Project Notes (General)
Project Progress Notes
Status - Budget
Status - Quality
Status - Red Explanation
Status - Resources
Status - Schedule
Status - Scope
Status - Update Date
Status - Yellow Explanation
Project Summary
Budget (Provided)
Budget (Requested)
Budget Document Reference
Business Objective
Finish
Go-Live Date (Forecast)
Owner
Planning Start Date
Portfolio
Priority
Program
Project Departments
Project Name
Project Scope
Start
Description

Create Workflow Phases

To create Phases, go to Server Settings -> Workflow Phases and click on "New Workflow Phase" button. In displayed window, enter the name of the Phase, Description ( Optional) and click on Save Button.


Phases that should be created listed below:

Phase
Project Initiation
Project Selection
Project Planning
Project Execution
Project Closing
Project Closed


Create Workflow Stages

As the next step, we will create Workflow Stages. To to Server Settings -> Workflow Stages and click on "New Workflow Stage":


Enter the Stage Name, Select appropriate phase and select and add PDPs that should be displayed on this Stage. At the bottom, you can select fields that should be required and read-only.

Please get list of PDPs for each stage from the following table:


PhaseStagePDPsDescription
Project InitiationProject Initiation - New Project Information
 - Strategic Impact
On this phase / stage, project request is initiated by users; All requests are captured so they can be later prioritized and only selected projects will go to detailed planning / execution. On this stage, initial planning is performed.
Project SelectionProject Selection - Project Summary
 - Strategic Impact
 - Schedule
 - Project Selection Dashboard
On this stage, the portfolio analysis component can be "plugged-in". In our scenario there will be no portfolio analysis, and only projects that are selected will move to the next stage.
Project PlanningProject Planning - Project Summary
 - Project Key Performance Metrics
 - Schedule
 - Strategic Impact
 - Planning Summary Dashboard
On this stage, detailed plan should be create, project should be resourced
Project ExecutionProject Execution - Project Summary
 - Project Key Performance Metrics
 - Schedule
 - Project Status Information
 - Strategic Impact
 - Execution Dashboard
Project Execution and Tracking
Project ClosingProject Closing Stage - Project Summary
 - Project Status Information
 - Schedule
 - Statistics Dashboard
Project is completed or canceled. PMO, Mamangement and Project Managers shoud analyze information and perform a "lessons learned" exercise
Project ClosedProject Closed - Project Summary
 - Project Status Information
 - Schedule
 - Statistics Dashboard
Project is closed. This is the terminal stage of the project.



Creation of Workflow using Dynamic Workflow solution starter

To create new workflow using the Dynamic Workflow Solution starter, go to URL


http://w2008r2ps/demo2/_layouts/WrkSetng.aspx (replace http://w2008r2ps/demo2/ with you PWA url):


Click on Add a workflow:



Click Next. Select a Workflow Stage from the drop-down and set the radio buttons as displayed on the next screen:



Add all stages as we defined above so your final workflow should look as displayed on next picture:

Click on Submit button - your workflow is ready to be used.

Creation of EPT (Enterprise Project Type)

Next step in our configuration is creation of EPT - Enterprise project type. EPT is a special "package" that defines what attributes should carry the project and combines all together workflow, project file template, project site template and set of PDP pages (for non-workflow project types).

We recommend to create a new project type that will be used to create projects with workflow that we designed but you can update any existing PDP.

Project Server Administrators can change Enterprise Project Type for project at any time if that's required as well as restart the workflow.

To create new EPM to to Server Settings - > Enterprise Project Types and click on "New Enterprise Project Type" button.

In displayed window, specify the Name of new EPT, Workflow name that we create on previous step, Project Plan and Project Site template (if any custom will be used) and click Save button.

I created EPT called FluentPro Project.

Our new EPT will be created and now we can start creating our projects and moving them to specific stages using Submit button on Workflow Status Page.


How to save time and not create everything manually?

You can download trial version of FluentBooks for Project Server 2010 and FluentBooks workspace that contains all elements except workflow. Using trial version, you can upload this workspace and it will create all elements in your PWA.

FluentBooks download: http://www.fluentpro.com/productsfluentbooks.html
Workspace Download: http://www.fluentpro.com/downloads/DynamicWorkflowWorkspace.zip  

Steps are pretty simple:

1. Accept EULA, download and install FluentBooks on your server or on desktop that has connectivity to PWA
2. Download workspace from the link above and unpack from zip
3. Start FluentBooks, go to File - Open and open this file
4. Go to Upload /Export and make check-box selection as shown on the picture below


5. Click on the button "Select All Elements"
6. Enter URL of your PWA and credentials (if you current user has admin rights, you can use "Use Current Account"
7. Press Export button and FluentBooks will upload all the configuration.

You will save at least 2-3 hours of your time with using FluentBooks - and this trial version is absolutely free.

Note: There will be no workflow created yet; after you create a workflow please update EPT and select workflow that was created.

Summary

We created all required elements and workflow. As next step, we will create several dashboards using EPM Pulse and we will integrate them into the PDPs that we created, so on every stage the corresponding dashboard will be displayed.

Other posts in this series