Many clients have asked us how to best track their non-project work leveraging Microsoft Project and Project Server. Non-project work can be any type of sustaining work that isn’t planned at the project level. Common examples for an IT organization are help desk activities, break/fix operations, or any other Business As Usual (BAU) tasks. Typically, these work activities just need to be scheduled at a high level (typically yearly) and a certain percentage of a resource’s time needs to be allocated to these activities. Using Microsoft Project with Project Server, you can assign team members to these support projects and have them track their actual work there. Management will then have a good picture of overall resource capacity and remaining availability when accounting for both non-project and project work.
The objective is to allocate a certain percentage of a resource’s time to a support project to show resource allocation and to allow tracking of actual hours spent on non-project work. The solution must keep consistent resource allocation percentage even after actual work has been entered that varies from the planned work.
The following five steps are required to set up and maintain this solution in Microsoft Project and Project Server.
- Initial Setup
- Resource Allocation
- Setup for Actual Work Entry
- Actual Work Entry
Note: This solution is just one possible method to achieve the desired outcome. I’m sure there other methods that could be used. This is just one that has worked for us and many of our clients. Also, note that these screenshots were taken from a Project Server 2010 environment but could also be used for Project Server 2013. Some of the techniques could also be used for earlier versions of Project Server or standalone Microsoft Project.
The initial setup is done to define the duration of the tasks. You are only concerned about the duration of the tasks at this point. A common approach is to set up all tasks in the schedule to be one year in duration.
- Set up your task Work Breakdown Structure (WBS) with whatever amount of detail that you desire. Typically, these tasks are at a very high level. You want it to be easy for your team members to track time to.
- Set all Tasks to be Fixed Duration, Non-Effort Driven and Auto Scheduled Task Mode. You can add these columns to the Gantt Chart or create an enterprise view that all users can utilize.
- Set the Project Start Date if you haven’t already. Set the Duration for all the tasks to be whatever gets the Finish Date to the end of the year (or 2 or 3 years, etc). Note, you must use days for duration (do not use eDays or set a finish date). If you want Project to calculate the duration for you, you can add a temporary task and set the Actual Start and Actual Finish dates and then Project will give you the duration. Then delete this task and use the duration value for the other tasks.
The Resource Allocation section sets the percentage of work allocated to each resource to the support project. Typically, this percentage is obtained from the Resource Manager or Functional Manager that determines how a person’s time should be allocated.
- Add resources to your project if you haven’t already. Assign Resources to appropriate tasks to make assignments. Do not concern yourself with the Work values or over-allocations at this time.
- Set up a Resource Usage view with the following settings:
On the left side: Add the following columns: Resource Name, Work, Max Units, Peak, and Assignment Units.
On the right side: Change the Timescale to Middle Tier: Years; Bottom Tier: Months
Add the following Detail Styles: Baseline Work, Work, Actual Work, All Assignment Rows. Arrange them in that order as well.
Your finished view should look like the one below. You can save this view and table to the enterprise global if you are using Project Server and then all users can utilize this custom Resource Usage view.
3. Determine the allocation for each resource. This will probably involve asking the resource manager or functional manager what percentage of the resource’s time to allocate to this support project. In this example, we are going to assign Worker Bee at 80% for the project. Worker Bee is assigned to 4 concurrent tasks in the project so we are going to divide it up evenly (80/4) and assign 20% assignment units to each task. Note the Peak column to verify the rollup. Notice, now that the work has changed to an even 20% allocation for the entire duration for each task rolling up to 80% total. The tasks don’t need to be all set to the same assignment units but they do need to add up to the determined amount for the resources.
4. Once all the allocations and work distributions look good then set an initial Baseline and Save the project (do not publish the project yet). Notice the Baseline Work values were added in the Details section.
Set up for Actual Work Entry
The following section details the steps necessary before you have team members track time to this project. Now that the work has been distributed the way you intend, you need to make sure that it keeps a consistent work allocation percentage when the actual work has been entered.
- Set the Task Type for all tasks to Fixed Units (Non-Effort Driven) and make certain that none of the tasks are milestones.
Note: Summary Tasks will always be Fixed Duration and should not have any resources assigned.
- Publish the project.
Actual Work Entry
Actual Work will be entered by team members using either My Tasks or Timesheets and then accepted by the Project Manager and the work will change accordingly. By setting up Fixed Units tasks, the allocation percentage will stay the same except at the end. If the actual work is less than the planned work, Project adds work at the end and increases the duration (however it keeps a steady allocation percentage). If the actual work is greater than the planned work, Project subtracts work from the end and decreases the duration (however it keeps a steady allocation percentage).
In the example below we have 10 actual hours in January 2013 (highlighted below in green) for the task “BAU Tickets” (less than originally planned (36.8h)) and 80 actual hours in January 2013 for the task “Software Installations” (more than planned (38.6h)).
The first task “BAU Tickets” kept the same work values for the remaining months and added 26.8 hours in January 2014 (highlighted above in red). In the second task “Software Installations” it kept the same work values for the remaining months but reduced November 2013 to 25.6 and removed work for December 2013. This keeps a consistent 20% allocation for each task but removes work or adds work to the end of the task. The orange line represents the original baseline finish date.
The maintenance in this project would be to review the project once a month (or once a year if you set up a 5 year duration project) and change the work values to what was initially set as the baseline work values. This will keep the allocation consistent. In this example, I would delete the planned work from January 2014 for the “BAU Tickets” task and add planned work to the “Software Installations” task for November 2013 and December 2013 to match the baseline work values.
Additionally, check to make certain that tasks that have not had work assigned to them have not reverted to milestones. If they have, change them back to regular tasks by unchecking “Mark Task as Milestone” in the “Advanced tab” of the task information dialog box. Publish the project after the edits have been made each month.
Auto Accept Updates
Most likely if you are using Project Server, you will want to automatically accept the actual work hours submitted by the team members from either My Tasks or Timesheets. To do this, the Project Owner goes to PWA -> Approval Center.
You then click Manage Rules from the ribbon.
You then click on the New button from the ribbon to set up a new rule.
Fill out a name for the rule and set the options to “Automatically run this rule” and “Automatically publish the updates”.
Note: The option to “Automatically publish the updates” was introduced with Service Pack 1 for Project Server 2010.
Leave the Request Types to Task Updates for All Updates, set the Projects option to Specific projects, then choose your support project and click Add. Leave the default Resources option to All my current and future resources.
Adding New Resources or New Tasks
The same process needs to be done when adding new resources to existing tasks or new tasks within the schedule. You will need to add the resource first to the project team. Then you will need to change the task type back to “Fixed Duration” and “Non-Effort Driven” for each task you intend to assign to the new resource(s). Then assign the resource(s) to those existing tasks or new tasks. You then need to highlight the tasks that have the new assignments on them and “Set a Baseline” and choose “Selected Tasks” and to choose to roll up baselines “To all summary tasks”.
Once you are ready to track actuals on them again, set the task type to “Fixed Units” and “Non Effort Driven”. Publish the schedule.
If you need to change the allocation for a resource, you simply change the Assignment Units in your Resource Usage view for the tasks that are assigned to that person. You then need to baseline those tasks as done in the previous step. Publish the schedule after making the needed allocation changes.
Hopefully the steps outlined above will get you started tracking non-project work within Microsoft Project and Project Server. This will give you visibility to all work done within your organization and give you true resource capacity and demand metrics to help you make better decisions.
About Sensei Project Solutions
Sensei Project Solutions is a Microsoft Partner specializing in Project and Portfolio Management (PPM) deployments with Microsoft Project and Project Server on the SharePoint platform. With extensive experience on hundreds of PPM deployments and with thousands of users trained, Sensei Project Solutions brings a process-focused approach; and support for industry standards and best practices to all engagements. We offer a complete set of services to help an organization make their Microsoft PPM deployment successful, including full implementation and support services, training, as well as pre-configured solutions and report packs. firstname.lastname@example.org