Monday, July 9, 2018

Resource Scheduling in Dynamics 365 FinOps - Basic Building Blocks

I got to get my hands dirty with this functionality in the new project that i started working on and i must say this has been one of the complex areas in PSA. There are couple of bugs still in the system but overall the functionality started making sense only after i tried and tested the scenarios umpteen number of times. The 'penny drop' moment finally happened when i realized that the same screens in the resource scheduling functionality works differently when accessed from different areas in the system. When i came to know this i could instantly make sense out of most of the logic built around this functionality. And then i concluded that different areas are for different people working in resource scheduling space and those being 'Project manager' and 'Resource manager'.

Other important point to note, before i go into further details, is that the 'Resource request workflow' works differently for 'Staffed resource' and 'Planned resource'.

Resource scheduling can be done by:
  • without using a Resource Request workflow
  • using a Resource Request workflow
Before we go into the details of the resource scheduling process, we should understand that there are two main users who are going to use this functionality. They are:
  • Project manager : Project manager will have access to 'Assign' the resources to the specific WBS tasks, which the Resource manager will NOT have. Project manager can also 'Book' the resources from the project record itself.
  • Resource manager : Resource manager will ONLY have access to 'Book' the resources to the projects. Its then the task of the Project manager to assign the booked hours to specific WBS tasks if any.

Without using a workflow
  • Planned resources: 
    • Can be assigned to the WBS tasks using 'Auto-team' feature or by creating a record in the ‘Project team and scheduling’ fast tab of the project record, using a resource role instead of an actual resource.
    • Planned resources needs to be fulfilled with an actual resource. This can be done by the Project Manager from the 'Fulfill resources' from the ‘Project team and scheduling’ fast tab of the project record or by the Resource Manager from the 'Resource fulfillment' menu item. (Project management and accounting > Project resource > Resource fulfillment)
    • The actual resource will then be 'Booked' and 'Assigned' to the project, if it was generated using the 'Auto-team' feature.
    • The actual resource will need to be 'Booked' and 'Assigned' manually, if it was generated from the ‘Project team and scheduling’ fast tab of the project record.
  • Staffed resources:
    • Can be assigned to the WBS task using the 'Assign' form by either soft or hard assigning the resource or by creating a record in the '‘Project team and scheduling’ fast tab of the project record, using an actual resource.
    • The actual resource will need to be 'Booked' and 'Assigned' manually, if it was generated from the ‘Project team and scheduling’ fast tab of the project record.

Using a workflow

Workflow does not support the 'Planned resource' request.
  • Planned resources: 
    • Workflow does not support the assignment of the staffed resource to a planned resource. 
    • Can be assigned to the WBS tasks using 'Auto-team' feature or by creating a record in the ‘Project team and scheduling’ fast tab of the project record, using a resource role instead of an actual resource.
    • Planned resources needs to be fulfilled with an actual resource. This can be done ONLY  by the Resource Manager from the 'Resource fulfillment' menu item. There is a drop down on the page which has following values - 'Show all requests', 'Planned resource only' and 'Staffed resource only'. (Project management and accounting > Project resource > Resource fulfillment)
    • 'Assign' option ONLY appears for the 'Planned resource' requests. For the 'Staffed resource' request 'Assign' option will NOT appear. Instead a 'Workflow' icon will appear.
    • Once the 'Staffed resource' is assigned to the 'Planned resource' then the actual resource will then be 'Booked' and 'Assigned' to the project, if it was generated using the 'Auto-team' feature.
    • The actual resource will need to be 'Booked' and 'Assigned' manually, if it was generated from the ‘Project team and scheduling’ fast tab of the project record.
  • Staffed resources:
    • Can be assigned to the WBS task using the 'Assign' form by either soft or hard assigning the resource or by creating a record in the '‘Project team and scheduling’ fast tab of the project record, using an actual resource.
    • The actual resource will need to be 'Booked' and 'Assigned' manually, if it was generated from the ‘Project team and scheduling’ fast tab of the project record.

Let me now clarify the meaning of 'Staffed resource', 'Planned resource', 'Soft assign', 'Hard assign', 'Soft book', 'Hard book', 'Booked hours' and 'Assigned hours'.

***Assumption - Resource request workflow is switched on***

Staffed resource - Staffed resources can be found under 'Resource list' form. These are resources which are linked to the respective workers / employees.

Planned resource - A planned resource is a project team member, which is created for planning purposes. These resources are not linked to any worker. To create a planned resource, user can either auto generate them from WBS by using the ‘Auto generate team’ feature or from the Projects detail form, user can click on the ‘+Add’ button from the ‘Project team and scheduling’ fast tab. Then on the ‘Add roles to project’ form, pick a role and do not specify ‘Resource’. Then click the ‘Create’ button.

Soft assign - Soft assign means a resource may or may not do the WBS task based on confirmation from either the resource or resource manager. Soft assign can ONLY be done by Project manager AND the screen to soft assign can ONLY be accessed from within the project's WBS.
  • To soft assign - No workflow to Soft assign
  • Hard assign after that, system shows message that, “There are existing soft assignment for the resource which you have selected to hard assignment. Would you like to remove this resource existing soft assignment?”
  • If there are no ‘Hard Booked’ hours, then system shows another message, “Sarang Kusare has no hard booking hours in this project to support this assignment operation. Would you like to submit a resource request for your requested hours?”
  • Had there been ‘Hard Booked’ hours earlier, then system would not have shown the above message and would have ‘Hard assigned’ the resource.
Hard assign - Hard assign means a resource will for sure do the WBS task as he is confirmed. Hard assign can ONLY be done by Project manager AND the screen to hard assign can ONLY be accessed from within the project's WBS.
  • To hard assign - Need to submit a resource request, which would initiate a resource request workflow.
  • If there are no ‘Hard Booked’ hours, then system this message, “Sarang Kusare has no hard booking hours in this project to support this assignment operation. Would you like to submit a resource request for your requested hours?”
  • Had there been ‘Hard Booked’ hours earlier, then system would not have shown the above message and would have ‘Hard assigned’ the resource.
Soft book - Soft booking on a resource means that the resource may work on the project but not on a specific WBS task. Soft booking can be initiated by PM (from within a project record) or a Resource manager (from within the 'Resource availability' workbench).
  • To soft book – No workflow to soft book, however system gives an option to create a resource request, if the item is accessed from the project record. The option to create the resource request does not appear  on the item, if it is accessed from the resource availability workbench.
Hard book - Hard booking on a resource means that the resource will for sure work on the project but not on a specific WBS task. Hard booking cannot be initiated by PM (from within a project record) as the option is disabled but a Resource manager can hard book a resource from within the 'Resource availability' workbench.
  • Cannot directly hard book any resource from project record, but can from the resource availability work bench. 
  • Process to hard book a resource from the project is to first ‘Soft book’ 
  • Then create a resource request to convert the soft booking into hard booking
  • The request when approved, system will convert the soft booking into hard booking
Booked hours - Booked hours are the hours booked on the project but not to a specific task in the WBS. So if a resource is 'Booked' on a project, then he/she can be just booked on the project or can be booked on a project and assigned.

Assigned hours - Assigned hours are the hours assigned to a resource on a project to a particular WBS task. If an employee is assigned to a task in WBS, he/she is automatically booked as well to the project. So if a resource is 'Assigned' on a project, then he/she MUST be booked and assigned on the project.

This is where the bug lies i think, because if i 'Soft assign' a resource on a WBS task in the project and if i make use of the button 'Confirm hours' on the project record or resource availability workbench then the system 'Hard assigns' the resource to the project but does not 'Hard book' the resource, which is expected. Project can have 'Booked hours' without they being assigned to WBS tasks but system should NEVER have just the 'Assigned' hours without they being booked on to the project. If you are assigned on to the project that itself means that you are booked on the project.

Resource scheduling can be done in multiple ways and that's what is the most confusing part of this functionality. And adding to that some standard Microsoft bugs does not let you conclude your understanding, if you are trying to make some sense of the scenario that you are working on. Hence based on client's request / discussion, always suggest one specific way which will be fit for purpose for the client.

Kind Regards
Sarang

No comments:

Post a Comment