Deltek’s Open Plan calls this skill-scheduling. Microsoft Project/Project Server refers to it as generic resource scheduling and Oracle’s Primavera calls it role-scheduling.
Regardless of the product, the concept is the same. There are a small number of unnamed resource categories that are to be assigned to tasks for some time in the future. The tasks or perhaps the entire project is either not in production or is not soon enough to be ready to name an actual individual to that task yet if no assignment is made, it will be impossible to do forward looking resource capacity planning.
Once a project is ready to go into production or that phase of the project is close enough in time that we know who will be working on those tasks, the skill, generic or role-based entry in the tasks is expected to be replaced with the actual resource code. In many cases this might be the actual named resource who will perform the work but it might also be a category type of resource.
TimeControl’s link to the resource assignments in these project management tools expects to find the category or named resource. We import the assignment information to help populate the resource table then ask that each employee be associated to a resource entry in the project management system through the TimeControl Resource table. This allows the flexibility of going to a named or category resource. When TimeControl sends actual hours and costs back to the tasks it does so at the assignment level. TimeControl first looks for the task. If it doesn’t find it, it stops. If it does find it, it then looks for the assignment that matches the actual resource it’s about to update. If it finds it, it updates that assignment with the actual hours and optionally costs. If it doesn’t find that it polls the resource table in the project management system to find out if that resource exists anywhere. If it doesn’t, it stops. If it does, then depending on the options chosen in the TimeControl transfer, it adds an assignment to that task and updates the hours and costs.
This brings up dozens of possible conditions that TimeControl might find.
- What if a task was assigned to Joe but Bill did the work? The result will be an unfulfilled assignment in the task for Joe and a completed assignment by Bill.
- What if a task was assigned to a category or group resource and the employee is part of that group in TimeControl (by associating the group resource code to the employee). The result will be an update of the group assignment.
- What if the project management user still has an assignment for a skill or generic resource but in TimeControl the resource is an individual? The result will be an unfulfilled assignment for the skill and an additional assignment for the individual.
So, why not carry the ability to move data back to skill categories in the project management tool? For the same reason that each of these tools recommends a best practice of replacing the temporary placeholders of skills with named resources as the project goes into production. The possibility is very real of double-counting resources. Skill scheduling makes perfect sense as a forward looking analytical practice, but in all of these tools, resources can have more than one skill. So, Bob is also an Administrator and an Engineer and a Designer. This might mean that while we think of Bob rather flexibly in forward planning, in day-to-day activities, he can only do one thing in each moment.
Reference Guides for all these products carry the same recommendations: Use skills in your forward planning exercise but replace them with resources before you get the task started. TimeControl follows this same recommendation in its design.