Skip to main content

#projectserver Generic Resources with 0% capacity skew FTE calculations in resource plans

** Update **
Having looked at the data, the general rules are now 

  • Dont use TAP flag unless it is explicitly for the Team Assignments functionality (which no-one uses anyway)
  • And if you want to use Generic Resources on Resource Plans using FTE planning, make sure (for now) that they have some capacity, and design this out of your capacity planning reports.


Generic Resource Capacity

in times gone by I have picked up the habit of using the "Team Assignment Pool" flag on Generic Resources to avoid setting the Max Units to 0% and still have zero capacity for the resources in the RDB.  This was a throwback to the heady days of PS2007 and its complete lack of stability (0% resources used to cause havoc when using the Assign Resources dialogue in MS Project).

It looks as if this is a habit I am going to have to break.

Today I have found a new issue in Resource Plans on PS2013 where setting the Team Assignment Pool OR setting Max Units to 0% on a resource has a negative effect on the FTE calculation.

Example:

  • Create three generic resources (r1, r2, r3)
  • set R1 with Max Units = 0% and Team Assignment Pool is No
  • set R2 with Max Units = 100% and Team Assignment Pool is Yes
    These are the two trouble settings
  • Set R3 with Max Units = 100 and Team Assignment Pool is No
    this one should work fine
Now create a new project and assign these three resources to the Resource Plan
  • Set Timescale = Weeks
  • Set units = FTE
Now enter one FTE for each resource across the periods and save





Now, when switching Units to Hours you will see two of the resources (R1 and R2) will have more hours per week than R3.  In my environment, R3 had 40 hours per week and R1/2 had 54 (no idea where 54 came from)









So this takes us into some further thinking on this:
  • How on earth is the FTE calculation working this out?
  • Does PS now assume Generic Resources do not have capacity elsewhere in the tool (such as the little used and mostly redundant Resource Availability chart, MSP_EpmResourceByDay capacity data, OLAP, etc) as this will have a significant bearing on how we use Generic Resources going forward.

In my mind Generics are buckets of planned work.  They do not have capacity in most scenarios.  They may (or may not) be used as Team Assignment Pool resources (if the functionality was useful).  They should not be included in Capacity calculations but MUST contribute towards the total Team demand.  I have never found another useful "capacity" based solution for these guys, so why on earth do we continue with capacity numbers for them.

So, a word to the wiser.  If you want to use Resource Plan FTE scheduling, leave your generic resources with capacity or see strange results.

I am going to go find out whether i need to update my capacity planning reports now :(


I decided to do a quick check on what exactly 2013 is doing from a Generic Capacity perspective these days





  • The use of Team Assignment Pool removes the resource completely from the MSP_EPMResourcebyDay table so no capacity can be held.  This is probably a tad extreme and could break some reports where joins don't allow for this
  • Use of 0% Max Units zeros capacity in the ByDay table as you would want, and doesn't seem to cause any issues with assigning resources (I didn't expect it would any more, but it's always good to check).  
  • User of >0% Max Units adds capacity to the resource data as you would expect.


Comments

Popular posts from this blog

Issues update on #projectserver2013 - Timesheets and Publishing

Reporting Publish ** updated with links to other related discussions, and a VBA macro ** the following issue has been noted on publish since June 13 CU was applied: ReportingProjectChangeMessageFailed (24006) - Object reference not set to an instance of an object.. Details: id='24006' name='ReportingProjectChangeMessageFailed' uid='4d869e56-f625-e311-bb41-005056b90052' QueueMessageBody='Project UID='e3f49977-b2bc-e211-8559-005056b90052'. PublishType='ProjectPublish'' Error='Object reference not set to an instance of an object.'. I have seen this noted previously on a similar issue: http://nearbaseline.com/blog/2013/06/ms-reporting-project-publish-jobs-failed-after-aprilcu/comment-page-1/#comment-14741 This is  caused by Baselined Milestones having NULL Baseline Cost values Original bug note with potential workaround is here: http://blogs.msdn.com/b/brismith/archive/2012/05/23/project-server-2007-reporting-project-pu...

#projectserver2013 VIEW FAILURE: The view failed to load. Press OK to reload this view with the default settings. Press cancel to select another view.

** UPDATE ** includes notes relating to secondary bug where Timesheet is created without Administrative tasks. Does this ring any bells? This has been bugging me for months, but finally I have a repro for this: Issue Summary:  When a task is deleted from a plan that is approved into a previous or current timesheet - even when there are no actuals on the task - you can no longer view the timesheet The following repro has been proven: - Setup system with Single Entry Mode, with enforced Status Approval before Timesheet Approval - Create resource as own timesheet manager - Create new project - Create two tasks in the same week, starting monday with 5 days duration:  1) Task to assign actuals, 2) Task to delete post submission - Assign Resource to tasks - publish project - as Timesheet User, go to the appropriate timesheet period for the tasks created - Assign actual work to one task (task 1), leaving task 2 with no actual work - Submit timesheet - as Project ...

Restoring PWA Site to another Web App in the same Farm

The scenario is this: SharePoint 2016 Farm with Project Server Two Web Apps Development UAT One PWA on Development Web App. I want to copy the PWA Site on Development web app to UAT to support a testing cycle. As far as I knew there were two options: 1) Content Database Restore and Attach Process would be backup your Dev Content Database, Restore to a new Content Database for QA, then mount the database on the appropriate web app and your off.... Problem:  Although you can do this with the -AssignNewDatabaseID switch in Powershell (to avoid two content db's having the same database id) the Site Collection (PWA) in the db still retains its SiteID which means there is a duplicate SiteID in the Configuration Database.  This stops the PWA site being created and alllocated correctly and becomes essentially orphaned. This method is only any good for MOVING not COPYING Back to the drawing board... 2) Backup-SPSite / Restore-SPSite I didn't believe this ...