Microsoft Project 2010
The official blog of the Microsoft Office product development group. Learn how to manage your work effectively

  • Microsoft Project 2010

    Why does the Quick Launch only appear on certain pages?


    Hi guys, this is Phil Smail, one of the Program Managers for Project. I mainly work on Project Server and have been asked this question a number of times at conferences and the like and thought it was time to answer the question to a wider audience :)

    For those that don't know the Quick Launch is the menu that typically appears on the left hand side of the screen as seen below:


    People have noticed that for some reason on most pages the Quick Launch  appears on the page but on same pages the Quick Launch disappears. Why would that be?

    Pages that it appears on for example would be:

    • Server Settings/Security/Manage Users
    • Server Settings/Enterprise Data/Enterprise Global

    Some of the pages that it doesn't appear are:

    • Server Settings/Security/Project Web Access Permissions
    • Server Settings/Database Administration/Delete Enterprise Objects


    The thought behind this is that a Quick Launch should appear except in the cases where there is a specific editing objective on the page. The removal of the Quick Launch is meant to make the user concentrate on the contents of the page itself. With the menu in place it's a lot easier to get distracted. This wasn't a lightly taken decision and was based on research from our User Experience folks. The design for this originally came from the Windows Sharepoint Services team and as we are a product built on top of WSS we wanted to maintain consistency with that product.

    Therefore if you look at the Manage Users page you are not really editing users in this page. You typically come here to move to the Edit Users page therefore the Menu is in place:


    However in the Edit User page, which you get to from Manage Users, you are editing users and no Quick Launch is accessible:


  • Microsoft Project 2010

    The Many Gantt Chart Views


    Did you know that Project ships 8 Gantt chart views?  I thought I'd take today to go into what each one displays.  To get to most of these views you'll need to go to the View menu - More Views dialog.

    Gantt Chart - This is the plain Gantt chart.

    Bar Rollup - If you like to rollup subtasks bars to the summary task, this view helps you with formatting.

        To roll a task up to a summary task, double-click the task to get to the task information dialog and check "Roll up Gantt bar to summary" on the General tab.  In this view you can then specify if you want the task name shown above or below the summary bar by using the Text Above column (only available in this view).


    Detail Gantt - This shows the critical path, how far you have slipped, and how far you can slip before other tasks/the project finish date is affected.

        Red Bars - Critical tasks (tasks that must be completed on schedule for a project to finish on schedule)

        Black Line before a task - Slippage: This shows how far the task's start date has slipped compared to Baseline Start.

        Black Line after a task - Slack (specifically Free Slack): This shows the amount of time that a task can be delayed without causing its successor tasks to slip.  For a task without successors, free slack is the amount of time that the task can slip without delaying the finish date of the project. 

    Leveling Gantt - This view shows you how leveling has affected your project.  (Wondering what leveling is - check out this help article)

        Green bars - Shows you where the bar was before the last time you leveled.

        White diamond with black outline - Shows you where the milestone was before the last time you leveled.

         Black line before a task - Delay: This helps to show you how leveling has caused a task to be delayed.  The line is drawn from Early Start (the earliest date that a task could possible being, based on early start dates of predecessor and successor tasks and other constraints) to Start.

        Black line after a task - Slack (specifically Free Slack): This shows the amount of time that a task can be delayed without causing its successor tasks to slip.  For a task without successors, free slack is the amount of time that the task can slip without delaying the finish date of the project. 


    Milestone Date Rollup - When you roll up a milestone to the summary, this view displays the milestone name above the bar and the date below.  Regular tasks that are set to roll up will look like milestones on the summary bar.


    Multiple Baselines Gantt - This view displays Baseline, Baseline 1, and Baseline 2.

    Tracking Gantt - This is our second most popular Gantt chart and is best used when you want to see your critical path.

        Red Bars - Critical tasks (tasks that must be completed on schedule for a project to finish on schedule)

        Dark Gray bars - Baseline

        There is a bug in Project 2007 where regular tasks and regular task progress are both drawn with the same blue color and fill.  To fix this, when you are in the view, go to Format - Bar Styles and set either Task or Task Progress to have a different look.

    Helpful tips:
    While I don't want to get in to editing bar styles too much since that topic deserves its own post, I'll mention one helpful hint.  All the above views are customizable to meet your needs.  For example, in the Tracking Gantt, Baseline is displayed but say you want to compare Baseline 5.  To do this, just go Format - Bar Styles, and for the Baseline bar style set From to Baseline5 Start and To to Baseline5 Finish.  You can do this with other fields too.

    Additionally, to quickly set a bunch of tasks to roll up/not roll up, insert the Rollup column.

  • Microsoft Project 2010

    My Tasks Page and Colored Lines



    You launch the My Tasks page in Project Server 2007 and you see these colored lines next to your tasks.  The first thing that comes to mind is what do they mean? 

    Below is the key to these colors.  Please bear in mind that these colors are meant as guidance and are subject to the influence of pending approvals and updates. 

    • Green - This indicates a New Task
    • Yellow/Orange - This task will be due soon.  Orange will be due sooner than Yellow
    • Red - Overdue/Past the due date.

    Lastly, a pink background on the finish date denotes that it is past today's date. 


  • Microsoft Project 2010

    Happy Holidays from the Project team!


    As I am leaving for vacation, this will be the last post until next year.  To end the year on the correct note, something to make you laugh...

     Naughty by nature

    (This is courtesy of the Office Offline Web Comic blog:

     See you next year.

  • Microsoft Project 2010

    December Project SDK Update


    The December update of the Project 2007 SDK download and the MSDN online release are now live. This is the third SDK update published since the RTM release of the SDK in November 2006. The first update was published in April and the second in July, 2007.

    Project Developer Portal:

    SDK Online:  Project 2007 SDK in MSDN online library:

    SDK Download

    What's New

    In addition to several documentation bug fixes, the following content is new or extensively updated.


    · ERP Connector Solution Starter (20 topics)

    · How to: Customize E-Mail for Project Server Notifications  - this is an update of the project_programmability blog post.

    · Project XML Data Interchange Schema Reference includes the following topics:

    · New XML Elements

    · Custom Field Data in XML

    · Saving and Opening Projects in XML Format

    · How to: Use XSLT Transformations with Project XML Data Interchange Files

    · Project Data Interchange Elements includes reference topics for all of the schema sections, XML structure, and XML elements.

    PSI Managed Code Reference:

    · Additional descriptions of row properties in the following datasets in the Project Server Interface (PSI): LookupTableDataSet, LookupTableMultiLangDataSet, AlertSubscriptionInfoDataSet, ReminderSubscriptionInfoDataSet, QueueStatusDataSet, QueueStatusRequestDataSet, StatusingSettingsDataSet.

    · Additional descriptions for event receiver methods.


    · ERP Connector:   Complete sample source code and test application for the ERP Connector.

    · XML Schema:  Revised XML data interchange schema, mspdi_pj12.xsd.
    Note: The Project XML schema is also now published on

    · ProjTool:   Now includes a dialog box for backup and restore of selected projects.

    · SP1 library assembly: Redistribution license for the SP1 build of the Microsoft.Office.Project.Server.Library.dll assembly, and 32- and 64-bit copies of the assembly.
    Note:  The MSIL code of the assembly is the same in both cases, so the file size is the same. However, we provide both builds to be consistent with the Project 2007 SKUs and because there may be differences in the future.

  • Microsoft Project 2010

    Project 2007 SP1 is here!


    I am excited to announce that Project 2007 SP1 has been released.

    Links to downloads:

    Helpful Information:

  • Microsoft Project 2010

    Display the Project Summary Task by Default


    We've heard requests from some users that they want the Project Summary Task to be on by default.  Currently in Project, you can turn this on but it is a per-project setting and not an application setting.  (To turn this on go to Tools - Options - View tab)  To turn it on by default for all new projects you have to edit the registry.

    1.    Go to Start - Run and type regedit.
    2.    Navigate to HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\MS Project\Options\View
    3.    Right-click on View and go to New - DWORD Value
    4.    Set the name to Show Project Summary
    5.    Click off Show Project Summary
    6.    Double-click on Show Project Summary
    7.    Set the value to 1.  Your registry should now look like the picture below and new projects will now have the project summary task displayed by default.


    -    This will only turn the project summary task on for new projects, existing projects won't be affected.
    -    If you no longer want this on by default, you can either set the value to 0 or just delete the regkey.
    -    This will only work for Project 2007.
    -    This is a user setting not a machine setting.

  • Microsoft Project 2010

    Group By, It's Great!


    We have something called SQM data that tells us how many clicks each feature in Project gets and in my opinion Group By is one of the most underused features in Project.  It only gets .1% of all clicks and is one of the most powerful features in Project  (think you know the top 5 features, check the end of this article to see if you are correct) 

    Why is Group By so powerful?  It lets you analyze data based on pretty much any field in Project - want to see how much remaining critical work you have compared to noncritical work, which tasks are starting each week, completed tasks versus incomplete tasks - use group by.  It's Project's version of pivotTables.

    How do you apply a group?  This command is located on the Project menu - Group by flyout.  It can also be found on the standard toolbar.

    What does it look like?

    Here is an ordinary project plan.


    Say you want to see how much critical work you have versus non-critical work.  To do this just set Group By to Critical.


    Not only now are your tasks grouped by whether or not they are critical (I collapsed the critical:No group so both groups would fit in the picture), you can also analyze data.  Looking at this you can see that there are 188 hours of critical work remaining.  You could insert other fields depending on what you're interested in - Cost if you want to see the total cost of critical work...

    Say your plan is like this plan and subtasks have kind of ambiguous names.  In that case you probably want to include summary tasks in the grouping.  To do this, go to Project - Group By - More Groups.  Select what you want to group on and click Edit or just click New to create a new one.  Set the innermost line that isn't being used to Outline Number as picture below.


    Note that their is a checkbox at the bottom that says "Show summary tasks".  This means that summary tasks will be in the group but that they will be grouped based on their values.  For example, if you have Flag1 set to Yes for the summary task and No for it's subtasks.  The subtasks will be in one group and the summary task will be in another.  Adding Outline Number to your group is how you maintain hierarchy.

    Other Group By tips:

    • Status is a great field to group on.  This shows you which tasks are completed, on track, late, and in the future.


    • You can add layers to a group the same way as you can to pivotTables in Excel.  One example is Status, then Resource Names.  This way you can see if the same resource has multiple late tasks, etc.
    • You can group on custom fields.
    • When a view is grouped, you can only add new tasks/resources at the bottom of the view.
    • Multi-value fields are grouped as a single unit.  If you have Bob assigned to T1 and Bob and Ann assigned to T2 and group by resource name, you'll get 2 groups.  One for Bob which will contain T1 and one for Bob and Ann which will contain T2.
    • When grouping on a field which can have a range of values, say a number or a date, you can set intervals to make the groups more meaningful.  For example, group by Start date on its own isn't that great since you have a different group for each day a task is starting on, but if you set the grouping interval to weeks you can now see which tasks are starting which week.


    Which gives you:



    And now, as I promised, the top 5 features used the most in Project are:

    1. Save
    2. Insert Task/Resource
    3. Indent
    4. Paste
    5. Apply View


  • Microsoft Project 2010

    Help with Help


    It can sometimes be a bit challenging to find just the right spot among Microsoft's many web sites to find that solution to your Project question. Here is a quick list of the major sites that contain Project help content:

    Office online

    Office Online is the primary spot to find Help content about all Office products. You can specify where you want to search for Help, and you can restrict the scope of your search to online or offline or to a specific category within a program. You can search for up-to-date Help, templates, training, videos, or additional online content .

    Go to

    Popular links:

    Project Roadmap--        

    Available fields--

    RSS feeds for Project--

    Community resources--

    Coming soon:

    Project Management Quick Reference Guide (downloadable Word template)


    If you are Developer, you want to go to MSDN. MSDN provides articles, whitepapers, interviews, and sample code for software developers using Microsoft products.

    Go to

              Popular links:

    Portfolio Server download materials--

    Project 2007 SDK--

    Getting started with development for Project Server--

              Coming soon:

    Update to the Project 2007 SDK


    If you are a Project IT Pro, you will want to go to Technet to learn everything you wanted to know about Installing and deploying Project and Project Server across your organization.

    Go to

               Popular links:

    Managing your timesheets in Project Server 2007--

    Project Server 2003 SP3--

    Operations manual for Project Server 2007--

              Coming soon:

              Administrative Role Guide for Project Server

              Troubleshooting guide for the Project Server Queuing Service

    Customer Service and Support team

    If you need to troubleshoot a problem with Project, search Microsoft's extensive Knowledge Base articles on our product support pages.

    Go to: for Project client for Project Server

  • Microsoft Project 2010

    2008 Microsoft Office Developer Conference


    The 2008 Office Developer Conference promises to be a ground-breaking event as it's the first time it will be open to the public. The conference promises to be especially exciting as we are riding the momentum of the 2007 Microsoft® Office system launch, and there is tremendous interest in our Office Business Applications (OBA) strategy. Even BillG will be there, delivering a special keynote presentation!

    Register by November 30th to get the early bird special.

    When: February 10-13, 2008

    Where: San Jose Convention Center, San Jose, CA

    The final schedule is still to be determined but there will be a session on Enterprise Project Management. 

  • Microsoft Project 2010

    We're Back (and with instructions on creating a Burndown Report)!


    Hi, I'm Heather O'Cull, another program manager on the Project team.  In case you're wondering what happened to Treb, he is still here but has decided to pass the blog on to give more variety to it.  Big thanks to Treb for all the great posts and hopefully he'll still be up for doing some guest posts.

    I work more on the client and client reporting so I'll be giving the blog more of a spin in that direction.  If there is anything you would like to see posts about, please let me know.

    At the Project Conference I presented on client reporting and promised to post instructions on creating a burndown report through Visual Reports.  Something like:


    And here are the steps...

    How to Create a Burndown Report:

    1. Have the project you want to report on open.

    1. Go to Reports - Visual Reports

    2. Select New Template, Excel, Assignment Usage, and click OK.

    Your report is now being created in Excel.  Switch over to Excel.

    3. Add Time Weekly Calendar to the Row Labels section.

    4. Check Cumulative Work, Actual Work and Baseline Work.

    5. Move Values to the Column Labels box.  Your fields should be setup like this:


    6. Expand the time dimension out to the weekly level (you can really choose to any time level you'd like).

    7. Make sure subtotals aren't showing (to remove in Excel 2007 go to the Design tab, Subtotals dropdown).

    8. In the cell to the right of Baseline Work, type Remaining Actual Work, to the right of that type Remaining Planned Work, then Cumulative Actual Work, and Cumulative Baseline Work so you have the picture below.  You now need to calculate all of these values.


    10. For Cumulative Baseline Work, in J3 type =Sum($F$3:F3) and fill down the column for the number of weeks in your Project.  You nave now calculated Cumulative Baseline Work for your project.

    11. For Cumulative Actual Work, in I3 type =Sum($E$3:E3) and fill down the column like you did in the last step.

    12. For Remaining Planned Work, in H3 type =(x-J3) where x is the total for the Cumulative Baseline Work column.  Fill down the column.

    13. For Remaining Actual Work, in G3 type =(y-I3) where y is the total from the Cumulative Actual Work column.  Fill down the column.  You've now calculate all the data that you need.  If I switch to show formulas, you should have something that looks like this:


    14.  You're almost there.  You now just need to graph your data.  To do this, insert a column to the left of remaining actual work.  This is the week column.  Now paste the week numbers there so you'll have them in your graph. 

    15.  Now just select the week column you just added, remaining actual work, remaining planned work, and choose to graph them as a line graph.  You should have something like the picture at the top of the entry.

    To make this look even better you can draw a status line to help demonstrate where you are in the plan.  I also prefer to delete the values in Remaining Actual Work that are in the future to make the graph more compelling.

  • Microsoft Project 2010

    Blog Hiatus


    closed for season

    Yes, we are going on blog hiatus for the season.  The Spec Writing season, that is. 

    We are hard at work designing the next version of Project Server and writing the detailed specs that are used to develop the software.  As this is a very time and attention intensive process, we won't have much time between spec writing and Project Conference preparation to blog much nor to answer blog email.

    With that, if you haven't registered for Project Conference, what's keeping you?  Go to now and sign up!  We are having a huge conference this year and you don't want to miss it.

    Next posts will be around Project Conference time at the end of October.  Thanks for stopping by.



  • Microsoft Project 2010

    Read our content in other languages.


    I've added a link to the new Windows Live Translator service that was rolled out this week.  The link is in the News section in the left column.  Clicking that link will bring up our site in the Live Translator site.  You can then pick which language you would like to see the posts.  I can't attest to the quality of machine performed language translations, but hopefully WLT does it well enough for this linkage to be usable to you.

  • Microsoft Project 2010

    Visual Project Planning and Reporting


    In case you weren't aware of this, you can use the WBS Modeler tool to visually model and plan your projects or to validate the current structure of your project.  The tool uses Visio 2007 and Project 2007 to do this. 

    Ok, I haven't used this yet.  I'm in the process of installing it now.  One of my fellow PMs sent me the link so I'm passing it on to you.  The documentation says you can generate Project schedules from a Visio WBS diagram.  This sounds very cool and I'm looking forward to trying it out.  If you've used this already or are going to, comment to the post with your experience.

    There's also some documentation around how to do Visio based reporting on Project data using Pivot Diagrams.  More info can be found here:  There were some Visio based reports shipped with the Project 2007 client.  This article goes into detail as to how that was done.

  • Microsoft Project 2010

    New Add-In for Project 2007 - Import tasks from Excel


    From Jim Corbin.  The technical article Importing Project 2007 Tasks from Excel Using a Managed Code Add-In is now published on MSDN. There is an associated download that includes the complete C# and VB.NET code, using Visual Studio 2008 (Beta 2) with Visual Studio Tools for Office.


    Technorati Tags: , , ,
  • Microsoft Project 2010

    Report Pack - Update to the Timesheet Audit Report query


    It appears part of the where clause is missing on the published Timesheet Audit report.  The result is that the weekly totals are all the same for each resource.

    To correct this, replace the SQL with the code below.  The addition is in bold below.

    SELECT     MSP_EpmResource.ResourceName, MSP_TimesheetPeriod.PeriodName, 
                          MSP_TimesheetPeriodStatus.Description AS PeriodStatus, 
                          MSP_TimesheetStatus.Description AS TimesheetStatus, 
                          + SUM(MSP_TimesheetActual.ActualWorkNonBillable) 
                          + SUM(MSP_TimesheetActual.ActualOvertimeWorkBillable) 
                          + SUM(MSP_TimesheetActual.ActualOvertimeWorkNonBillable) 
                          AS TotalWork, MSP_TimesheetPeriod.StartDate, MSP_TimesheetPeriod.EndDate, 
                          MSP_Timesheet.TimesheetStatusID, MSP_TimesheetPeriod.PeriodStatusID
    FROM         MSP_EpmResource LEFT OUTER JOIN
                          MSP_TimesheetResource INNER JOIN
                          MSP_TimesheetActual ON MSP_TimesheetResource.ResourceNameUID = 
                             MSP_TimesheetActual.LastChangedResourceNameUID ON 
                          MSP_EpmResource.ResourceUID = MSP_TimesheetResource.ResourceUID 
                             LEFT OUTER JOIN
                          MSP_TimesheetPeriod INNER JOIN
                          MSP_Timesheet ON MSP_TimesheetPeriod.PeriodUID = MSP_Timesheet.PeriodUID INNER JOIN
                          MSP_TimesheetPeriodStatus ON MSP_TimesheetPeriod.PeriodStatusID = 
                            MSP_TimesheetPeriodStatus.PeriodStatusID INNER JOIN
                          MSP_TimesheetStatus ON MSP_Timesheet.TimesheetStatusID = 
                            MSP_TimesheetStatus.TimesheetStatusID ON 
                          MSP_TimesheetResource.ResourceNameUID = MSP_Timesheet.OwnerResourceNameUID
    WHERE     (MSP_EpmResource.ResourceTimesheetManagerUID = @TimeSheetManager) 
    AND (MSP_TimesheetActual.TimeByDay BETWEEN MSP_TimesheetPeriod.StartDate AND MSP_TimesheetPeriod.EndDate) 
    GROUP BY MSP_TimesheetPeriod.PeriodName, MSP_TimesheetPeriodStatus.Description, 
                          MSP_TimesheetStatus.Description, MSP_EpmResource.ResourceName, 
                          MSP_TimesheetPeriod.StartDate, MSP_TimesheetPeriod.EndDate, 
                          MSP_Timesheet.TimesheetStatusID, MSP_TimesheetPeriod.PeriodStatusID
    HAVING      (MSP_TimesheetPeriod.PeriodStatusID = 0) OR
                          (MSP_TimesheetPeriod.PeriodStatusID IS NULL)

    For your information, this report includes time logged in any open time periods.  The report was designed assuming you are closing timesheet periods on a regular basis.  Closing prevents time from being applied to an incorrect period.   If you are billing for your time, this is real important.  Anyway, if you aren't closing periods, this report will continue to get grow wider as columns are added for each open period.

    We apologize for any inconvenience.

  • Microsoft Project 2010

    You've Got Questions, We've Got Answers


    We've had a number of good questions come in.  I thought it would be helpful to share these and the answers.  Enjoy!



    Question: Which is true? 

    Case 1:  Does the assigned timesheet manager approve all tasks in the timesheet (for example, project tasks as well as administrative time tasks) OR

    Case 2:  Does the resource manager (i.e. the assigned timesheet approver) approve administrative time AND the project manager of the project the tasks originally came from approve the project tasks? 

    The Resource manager approves all timesheet data.  If the Admin timesheet categories require approval outside of timesheets, those are also approved by the timesheet manager.

    The current timesheet submitter/approver can change the value of the next person to approve the timesheet.  Using this setting, the PM can be sent the timesheet to approve.  As long as the PM doesn't have the category approval permission for that resource, the PM can send the timesheet back to the resource manager for final approval.  One manages actual work while the other manages compliance with company policies.

    Looking at Tasks

    Question:  I'm using Project Professional and I need to answer the following questions:

    • What work items/tasks are due by a given date?
    • What work items/tasks are slated for <x> milestone?
    • What work items/tasks are all assigned to <resource>?

    Items Due This Week/By this date

    In Project Professional, you can define a filter to show you this.  The filter will prompt you for a date so you can use this to see finishing by any date.

    • In Project Professionals, select Project, Filtered for, More Filters


    • Select New


    • Define the following Filter and click OK


    • You will then see this filter in your list of filters to apply.  Project, Filtered For, More Filters, Select the filter and click apply. Once you use it, it will appear in the earlier list so the number of clicks will be reduced.
    • When you apply this filter, it will prompt you to enter the date.  You can enter any date, not just the date for the end of the week.

    What work items/tasks are slated for <x> milestone?

    The way we do this internally is to define a task level custom field.  You would then assign a milestone value to each task. 

    Add a new task custom field to the Project.

    • From Project Professional, select Tools, Customize, Fields


    • Select the Task radio button,
    • Select a default task custom field that’s not used (in this case, Text 1)
    • Click Rename.  Your screen should look like this:  clip_image007
    • Name the field Milestone Group and click OK.
    • Under Custom Attributes, click the Lookup button.  This will enable you to add values to your dropdown. clip_image009
      • If you want to set a default value, you can select a Milestone value row, and click Set Default
      • If you want to change the display order, expand the display plus and select your option
      • If you want to be able to add new values on the fly, expand data entry options and select Allow additional items to be entered into the fields.
    • Click Close.
    • Your screen should look like this: clip_image011
    • If you need to see this for every assignment, then also select the Roll down unless manually entered radio button under Calculation for assignment rows.
    • Click OK.
    Insert the custom field into your Gantt view
    • You need to add the field to the view to enter the data.
    • You can either select a column header and right click, select Insert Column or you can press the Insert key.
    • You will get this dialog: clip_image013
    • Use the field dropdown to find your new custom field. You can start typing the name to find it.
    • Click OK.
    • Your screen will appear as this: clip_image014
    • You can click on the field, click the dropdown and select the value. 
    • If all of your tasks are in the correct order, you can drag down the value a la Excel style, to fill the cells below.
    Turning on Autofilter
    • To easily filter by Milestone, then select Project, Filtered For, Autofilter. 
    • Now, you can easily filter for a given milestone


    What work items/tasks are all assigned to <alias>?

    • If you have set up your resource names using the alias, you can use the default filter “Using Resource”. 
    • Select Project, Filtered For, Using Resource
    • Select the resource from the dropdown
    • If you want to filter on another aspect of the resource record, a custom filter can be easily developed.

    Added Bonus – Cumulative Filters

    By the way, all of these filters can be used together.  So, by applying all three filters, I can see for a given milestone, within Milestone 1, which tasks will be completed by X date.


    Technorati Tags: , ,
  • Microsoft Project 2010

    Using a Consolidated Project for What-If Analysis


    This post is based on a technique presented in an Ed Hanna e-mail and is augmented with items that we are using internally to manage our own efforts.  This technique can work, to a certain extent, in Project Server 2003 and will definitely work in Project Server 2007.

    There are times where you need to look at several projects at once and you need to gauge the impact of a change to all of the projects at once.  In this post, we will use the consolidated project function to create a combined view across multiple projects to re-allocate resources so that any overallocations are addressed.


    1. This solution assumes you use leveling.  The solution is much less time consuming if you use leveling to move around your resources.

    2. In Project Server 2003, you should not save this consolidated project to the server.  You can save it locally so that you can access it as needed.

    3. This solution works best with enterprise resources.  Some parts will work with Project Standard, but not all.

    4. This solution also works better if you have leveled the individual plans first.  Otherwise, you'll see changes caused by conditions within the individual project as well as across the combined projects.  This might make it very difficult to see what changed.


    There are several resources who are overallocated as they are shared resources across three projects.  As such, adjustments need to be made find and fix the overallocations while determining impact to overall project timelines.


    NOTE: I would strongly suggest you (a) backup all of the files involved or (b) make copies/versions of the files which are expressly dedicated for modeling purposes if you are doing this in a production environment. 

    For this scenario, I created three projects based on the New Product template.  I substituted names for resources that were already assigned to tasks.  For this illustration, three enterprise projects will be used.  However, more projects can be added to broaden the analysis.



    Create the Consolidated Project

    From Project Web Access, navigate to Project Center. Select the projects that you want to analyze.


    Then select Actions, Edit Read-Only.  (You can choose Edit, but then all of your changes are live.  We'll discuss that later.)


    This will create a new master project containing the selected projects.


    Now, we need some additional columns. 

    • Insert the Priority field, so we can adjust the relative priorities of the projects (default priority is 500—on a scale of 0 to 1000). 
    • Insert the Subproject Read only column.  We'll discuss that in more detail below.  If you selected Edit Read Only above, the Subproject Read only column should say Yes.

    To insert a column, select Insert, Column from the menu bar in Project Professional.  As we will be switching views a bit in Project Professional, I would also turn on the View Bar (View, View Bar).


    Setting up for the Analysis

    In this case, it is assumed that the resource allocation issue is known on these projects. However, it may be necessary to see a consolidated view of resource usage across projects.  To do this, do the following.

    • In Project Professional, open the Resource Usage View (View, Resource Usage)
    • Create a new group called Resources Across Projects
      • To do this, select Project, Group By, More Groups
      • Then click the New button
    • Set the Group by Name and check the Group Assignments, not Resources box.        clip_image014
    • Click OK.
    • You will see the following screen, verify that Resources Across Projects is selected and select Apply. clip_image016
    • When the grid appears, add the Project and Start columns to the grid view. 
    • Sort the grid by Start Date.
      • To sort by Start Date, select Project, Sort, Sort By.
      • Then change the first drop down to Start and select Start.
      • clip_image018
    • Now you can see an aggregation by Resource across all projects in the consolidated project   clip_image020

    Looking for Resource Over Allocations

    As these are enterprise resources, the work will be aggregated.  In order to find overallocations, switch to the Resource Graph view.  My own personal preference is to switch the displayed units to hours rather than look at the percentages.  Sometimes, you see overallocations even though the person is only working 6 hours on a given day.

    To change the units, right click on the graph and select hours rather than peak units.  I also zoom out to the weekly level as I figure that if I give people 40 hours of work, they will manage it on the day by day basis to get it done.  There are several views you can use here so I would recommend taking a look at all of them to get a feel for their potential uses.

    From the graph below, we see that Razvan is very overallocated with a peak in June.  As he is a key resource, we need to change how he is scheduled and judge the impact to the projects.  Since there is such a large number of tasks, we will use Leveling to adjust the assignments.


    You can combine the two above views by doing the following:

    • Select Window, Split
    • Click on the bottom pane somewhere.  (It needs to have focus for this to work)
    • Click Resource Graph on the View Bar
    • You should see the screen below.  As you scroll across, the graph and grid will stay positioned in the same timeframe.


    Adjusting the Plans

    Now, the priorities on the plans will be changed to gauge impact on the schedules.  To do this, switch to the Gantt view again.

    First, change the Diamond Products priority to a higher priority (i.e. 600).


    Now, we will level the consolidated project. Select Tools, Level Resources and the Resources Leveling dialogue will be displayed.


    Select Level Now.  Immediately the impact of the leveling is seen. As a result, the Metal and Rubber projects have been delayed since they are at a lower priority.


    The leveling action is now undone so that another what-if can be executed.  From the menu bar, select Edit/Undo Level.  

    Raise Metal Products to the highest priority (i.e. 999) and perform the Level action again.  Now, Diamond and Rubber's tasks are delayed as they now have a lower priority.

    Why Not Priority = 1000?  1000 is a special value where leveling doesn't move anything.  If you use 999, you are at the highest priority but it allows tasks to still be moved.


    Continue the What-If activity in the consolidated project until a satisfactory outcome is found.  You may use deadlines for key tasks to monitor impact to key dates. 

    If you want a full before and after representation, you can use baselines.  However, you will need to make a copy of the inserted projects to do this since you will have to open the inserted projects in edit mode to save the baselines.  After you build the consolidated file, baseline it and save it (at this point it becomes a master file).  Then make your what-if modifications to the master file and then view the before/after comparison in the Tracking Gantt view.

    Leveling a Specific Resource.  If you wanted to only level a given resource, you can switch back to the Resource Usage view, select a given resource and select Leveling.  In that case, it will only level the selected resource, if you choose that option.  This can come in handy if you only want to level named resources.

    The Resource Graph view can be checked to make sure that none of the resources remain overallocated—even after leveling has taken place.  This is possible as Project cannot always resolve all overallocations. 

    In the example below, it is confirmed that Patrick is not over-allocated. To scroll through the resources, select different resource assignments above.   (i.e. resource names will appear in red letters if the resource is overallocated).


    Saving the Consolidated Project

    WORD OF CAUTION: To this point, this project has been a playground as you have not actually changed the underlying files.  This was the purpose of opening these project plans in a read-only mode.  

    Making It Real.  If you change the Subproject read only field to No, the linkage becomes two way.  (i.e. changes in the consolidated/master file will change the inserted projects and changes in the inserted projects will change the master file).  So as you play in the consolidated/master file, there is the possibility of saving unwanted changes to the inserted projects.

    Play Friendly.  If you choose to make changes to the inserted projects, you will want to coordinate this with the individual project managers as you will be impacting their schedules and you will have their projects locked for editing.

    Taking care of your master.  If you are using Project Server 2003, you can save the consolidated file locally (do not save/publish to server)—at which point it becomes a local master file. In Project Server 2007, you can safely save/publish these master files on the server.  

    You Must Choose.  If you do not like what the comparison reflects, close the master file and do not save the changes.  If you do like what the comparison reflects, of course, you may (optionally) want to write another baseline (i.e. Baseline 1) and save the master file and all the inserted projects.

    If there are satisfied with the results, do the following.

    • If you are effecting the change in the inserted projects, change the value of the Subproject Read Only field to No.  In this instance, we are not changing the inserted projects.
    • Decide if you are keeping the master file.
    • If you want to keep the Master, select File, Close to end the session.  Project will prompt us—for each open project schedule—to determine whether we wish to keep the changes. 
    • You will be prompted to Save and Check in the master project, type in a name and select Save.clip_image036clip_image038
    • If you want to change the underlying projects under another name, select Yes when prompted.  Otherwise, select No.

    I hope this is helpful in showing how What-If analysis in a consolidated project can help in determining the impact that new projects/proposals will have on existing projects.  This is a powerful capability and should be used cautiously—ideally by an appointed Portfolio Manager who has visibility and authority above the level of individual projects.

    Technorati Tags: Microsoft , Project Server 2007 , Best Practice , What If , Impact Analysis

  • Microsoft Project 2010

    New Connector Released


    Today, Microsoft officially released a new connector between Visual Studio Team Systems and Project Server 2007.  This connector was a collaborative development effort between Project Server, VSTS and Microsoft Consulting to solve a customer need.  While this connector could have been bundled into the normal release cycle, it was felt that this need had to be addressed sooner.  Hence, the separate release.

    As one of the members of the team that worked on this connector, I'm very happy to see it get released to the world.  We had a large number of people from the teams work on this effort.  I want to thank them all for the work they did to get this product constructed and shipped.  VSTS officially owns this connector but you will see enhancements to the connector as upcoming versions are released.

    The official announcement is below.


    Just Released: Visual Studio Team Foundation Server – Project Server 2007 Connector

    We are pleased to announce the release of Visual Studio Team Foundation Server – Project Server 2007 Connector which is available at


    The Visual Studio Team Foundation Server - Project Server 2007 Connector is designed to integrate the project management capabilities of TFS with Project Server 2007. It's been developed by the Visual Studio Team System Rangers in response to significant customer demand for a connector solution. Future versions of Team System will have native integration with Project Server, in the meantime this Connector solution is the best way to integrate the two Microsoft products. This solution builds on the previous PS2003 VSTS Connector, published on GotDotNet. This solution is intended to provide guidance, provided as source code that can be used "as is," extended, or modified.


    Microsoft® Office Project Server 2007 and Microsoft Visual Studio® 2005 Team Foundation Server (TFS) are two powerful applications that are each used in different ways for management of software development projects. Up-to-date project information requires a seamless integration between the development environment and the project management tool.

    Managing projects, resources, and related information for an entire enterprise requires a holistic view and integration of project management data with the software development lifecycle. The Enterprise Project Management (EPM) solution with Microsoft Office Project Server 2007 can help organizations effectively manage and coordinate people, projects, and processes. The Microsoft EPM solution provides tools for strong coordination and standardization between projects and project managers, centralized resource management, and high-level reporting on projects and resources. Through familiar tools and ease of integration with a broad range of programs in the Microsoft Office System, the EPM solution promotes broad participation for greater accuracy, accountability, and acceptance.

    Visual Studio Team Foundation Server (TFS) provides a solution for software development teams that integrates designing, developing, testing, and managing a project. TFS integrates with Microsoft Office Project Standard 2007 and Microsoft Office Project Professional 2007 for desktop use and allows project managers to plan and manage projects on a local computer. However, because there is no integration with Project Server, the project data for each team is available only in a stand-alone plan. There is no simple way to aggregate project data across multiple projects.

    The Connector synchronizes Project, Resource and Task data between the two systems. Project Managers and Resource Managers continue to work in the EPM environment while the development team works in the development environment, i.e. TFS, and data seamlessly flows between the two systems. Updates to work items in TFS are automatically applied to the corresponding assignments and tasks in Project Server and vice versa. Project Managers have complete control over the inflow of the actuals into the project plan. In addition, resource management functions for all development projects, like managing time and utilization for resources working across multiple projects, team staffing etc. can be performed in Project Server. Lastly, portfolio and program level reports can easily be generated for projects being executed in TFS and managed in Project Server.

    Project Link:

    Setup Guide:

    Questions or Feedback?  or


  • Microsoft Project 2010

    Project 2007 Conference Sessions are now available!


    The session list for the Project 2007 Conference has been posted to the site.  Go to to see the details.


  • Microsoft Project 2010

    HOW TO: Setting Up RBS Security for Vendor Resources


    This post comes to us from Phil Smail, our Project Server Security Program Manager.  He understands Project Server security better than anyone since he oversees the design of the implementation.  So, Phil wanted to share the solution to a fairly common problem that we experienced internally.  With that, here's Phil.


    I was asked a question recently on an internal distribution list about how a Microsoft Group should handle their Project Server Security. At first the issue didn’t seem too complex but after a face to face meeting it became obvious that there challenges here but thankfully the Project Server security model was able to work around it. I feel it’s worth spending some time to describe the scenario as it may help others who face similar issues.

    Don’t worry, all names are changed to protect the innocent!


    This particular Microsoft group, let’s call them Microsoft Group Foo, has a lot of localization work that occurs through external vendors. It’s up to the internal Microsoft folks to assign those vendors to localization projects. Each Vendor has general work resource that can be assigned to these localization work, for example for Vendor A the resource will be called ‘General Vendor A Resource’. Now this is where things get complicated!

    Each Vendor has a number of users (not assignable resources) in Project Server who are allowed to edit the project if the Vendor’s general resource is assigned to that Project. They should also be able to assign full time Microsoft folks to the Project as required. It’s not a concern for vendors to see what other vendors are working on the same project but vendors shouldn’t be able to see what other, non-related, projects that other Vendor’s are working on. Got that?

    So let’s say we have a User, called Roderick, who is one of the Microsoft Employees. He needs to be able to assign a general resource per vendor to projects. This general resource should be represented by a generic resource with each vendor having their own generic resource. Therefore the Microsoft employee no longer needs to worry about who in the Vendor does the actual work

    Now each Vendor has their generic resources but we need to add in the users for each vendor. Let’s say Vendor A has the user David and Vendor B has the User Heather. We know we have the parent-child relationship between the Vendor users and the Generic Vendor resource. It also makes sense for the Microsoft internal folks to have a parent child relationship with all the Vendors

    Security Design

    The way we would represent in our security system would be by assigning these users/resources  values within the Resource Breakdown Structure (RBS). Both Users and Resources can have RBS values and therefore can all exist in the hierarchy. The RBS is useful as it allows us to use the RBS category rules. These rules allow us to get permissions to Resources and Projects that have some relation with our peer Resources or Resources below us in the RBS. This means we would put the generic Vendor resources below the Vendor users and the Microsoft internal folks above the Vendors in the RBS to allow them the correct permissions on the Resources and Projects

    I figured we could represent the RBS structure as such:

    Now what about the Categories that would need to be associated here?

    First off David and Heather need to be added to a category that gives them Project Manager permissions. The Category rules are more interesting.

    The rules they’d definitely need set are:

    Project permissions: ‘A resource on the project’s Project Team is a descendant of the User via RBS’.

                    This rule would allow them to view all Project’s that the general Vendor Resource had been added to the Project Team.

    Roderick, and all other Microsoft employees within that group should belong to another category which has the ‘Assign Resource’ permission and the following Category Rule:

    Resource permissions: ‘They are descendants of the User via RBS’.

                    This rule would allow them to assign the general Vendor resources to projects

    Now one tricky bit is for the Vendor users, for example David if they become the Project Owner, is how to assign Roderick to a project. The only option would be to create another category which includes David and Heather (and any other users). The would also be given the ‘Assign Resource’ permission. The resources in the category would be the list of Microsoft employees that could be assigned. Unfortunately there’s no way to assign a group as the list of resources so as the list of MS resources changes then this list would need to be manually modified.

    So there you have it. An environment now where vendors can only see the projects that they’re assigned to, the Microsoft folks can assign the Vendor’s to projects and the Vendors can assign Microsoft people to those projects

    Questions and Answers

    Question: The obvious follow up question is how do we take this model further and prevent Vendors from seeing the work that other Vendors are doing on even if they’re on the same Project

    Answer: Unfortunately this functionality is not available in Project Server 2007. The only solution would be to create sub projects for each vendor and aggregate into a master project

    But let’s think about expanding this further. This solution could be used to support full time employees managing contractors who manage sub contractors! Assuming the contractors are longer term vendors and the sub contractors are short term resources it makes sense to make the sub contractors generic resources under the main contractors. This is super cool!

    Question: I have sub contractors who are managed by multiple contractors. How do I cope with that in the RBS

    Answer: Unfortunately the RBS based category rules do not support accessing RBS nodes in different branches. That is something we are hoping to improve in future releases. This is where another category containing those sub contractors resources would make sense

  • Microsoft Project 2010

    SDK Updates


    Jim Corbin informs us that the Project Server 2007: Getting Started with a New Platform for Developers article on MSDN has been updated and includes new information about Project documentation, using datasets in event handlers, and error checking.

    The Project Developer Portal is also updated, to match the recent SDK refresh.  Enjoy!


  • Microsoft Project 2010

    HOWTO: Deploy Project Web Access 2007 ActiveX controls via SMS


    One of our support engineers, Anil Kumar, created the following instructions for using SMS to remotely install these controls.

    If you are implementing Project Server 2007, your users will have to download the ActiveX controls before they can view Project Center and Resource Center.  In order to do this, you have to have the rights to perform the installation.  Many corporations have this capability locked down.  The alternative is to use a tool like SMS to deploy the controls to your user's machines.

    Deploy Active X controls of Project Server 2007 via SMS

    1. Active X controls reside in two .cab files located on your project server site in C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\PWA\OBJECTS\1033.
    2. You will need the following two .cab files:
      • (in the 1033 sub folder or other language folders)
    3. Copy the .cab files and extract to a location on your SMS Server.  This is technically called as "Data Source" in SMS
    4. Create a batch file using the following script. For example, you can name the batch file activex.bat
    5.    1:  ================================================================
         3:  CLS
         5:  XCOPY *.* "%windir%\Downloaded Program Files"\ /q /r /h /y
         7:  regsvr32 /s "%windir%\Downloaded Program Files\pj12enuc.dll"
         9:  regsvr32 /s "%windir%\Downloaded Program Files"\pjres12c.dll"
        11:  regsvr32 /s "%windir%\Downloaded Program Files"\PJPrint12.dll"
        13:  regsvr32 /s "%windir%\Downloaded Program Files"\PJTEXTCONV12.dll"
        15:  regsvr32 /s "%windir%\Downloaded Program Files"\PJGRID12.ocx"
        17:  regsvr32 /s "%windir%\Downloaded Program Files"\PJQUERY12.ocx"
        19:  del "%windir%\Downloaded Program Files\" /f /q
        21:  del "%windir%\Downloaded Program Files\" /f /q
        23:  del "%windir%\Downloaded Program Files\activex.bat" /f /q
        25:  EXIT
        27:  =================================================================  
    6. Copy the batch file to the same location as mentioned in Step 3.
    7. Create a "Package" and mention "Data Source" as the location we have extracted the files as in steps 3 in SMS Console.
    8. Expand the "Package" and select "Program" and point the batch file in SMS console.
    9. Create an "Advertisement" and mention the name of the "Package" and "Program" as created in Step 7 in SMS Console.
    10. Run the "Advertisement"
    11. Once you get the message that it is successful, login to PWA of Project Server 2007 and click on "Resource Center" or "Project center" and you should see the data without prompting you to download Active X controls.

    This script is presented as is with no warranty.  Please test in your environment before running broadly.

     UPDATE:  Some of the double quotes were in the wrong place in the example above.  This has been corrected.

  • Microsoft Project 2010

    Downloadable Books Now Available


    The downloadable books that correspond to content in the technical libraries on the Web have been updated for March!

    Office Resource Kit -

    Office SharePoint Server -

    Office Project Server -

    Windows SharePoint Services -


    Updated third link.  Thanks Mike!

  • Microsoft Project 2010

    Project Server Collection


    This Project Server centric collection is being released as a way to keep you connected with the Project Server community, even if you don't have Outlook 2007 or have any other RSS reader.  Since it is web-based, you can access this collection from any web connected device. 

    In addition to the blog feeds, this collection also contains links to commonly referred Project Server web sites. 

    Need the latest Knowledge Base articles for Project?  It's there.  Need to find the Deployment Guide for Project 2007?  It's in the favorites.  Hopefully, this encompasses everything you need to learn for Project Server 2007.

    If you already have a customized page, this collection will be added as a new tab.

    Note:  you will need a Live ID to use this collection.


Page 10 of 12 (287 items) «89101112