Scale is everything in approaching skill sets and other attributes specifically designed to help project planners quickly identify appropriate and available resources. Project Server provides tools that instantly sift through hundreds or thousands of resources to locate one that has the preferred attributes for the job. If your organization doesn’t have hundreds or thousands of resources, then you may take a very light-handed approach to this capability or opt to ignore it completely.
The system matches skills through enterprise resource outline codes. Although it’s possible to set multiple outline codes as participants in the matching process, this approach is less flexible than using a single code for skill matching. Because you can apply filters to the results of skill-set matches, they’re best suited for narrowing down a result set. Therefore, skill-set matching is very effective at a fairly high level, provided that precooked filters are provided and that planners are properly trained in the use of ad hoc filters in the team-building tools.
Skill-set matching in Project Server uses exact-match-only logic. Therefore, it’s difficult, if not impractical, to represent a lot of complexity in skill-set modeling. It’s impractical because of the number of generic resources that are required to model skill combinations and it’s just too darn specific. Don’t confuse skill-set matching in Project Server with an application that manages skill sets. Look elsewhere for that, like your sophisticated HR application that came with your enterprise resource planning (ERP) system. If your company is among the very few that have skills management automation in place, chances are you’ll need to dumb down the attribution to suit Project Server skill-set matching.
I recommend that you employ broad-level matching for skills because of their absolute nature. Use filters in the Project Web Access interface to narrow resource selection. This delivers the greatest flexibility and is the easiest to manage conceptually and physically. The built-in ability to save filters and perform ad hoc filtering to augment skill-set and availability matching delivers a very effective resource matching solution.
Providing thoughtful attribution values as filters to enhance Project Server’s team-building tools is your challenge. If you’re working with a large resource pool, it’s possible to build a significant matrix of attributes for team building. Distributed organizations want location codes; larger organizations want seniority codes and secondary skill identifiers. The only limit to your scheme is that eventually you’ll run out of custom outline codes. Remember that once you create a new attribute, you obligate yourself to provide a value for it for each resource in your pool.
The following example uses a very simple model to identify resources. One outline code is used to represent skills. The skills represented are as follows:
Note that these are deliberately set at a high level. Discounting Stakeholder, Other, and Business SME, because they exist to identify noncore resources, this skill code immediately divides the resource pool by 10. In a pool containing 200 resources, 10 slices yields an average of 20 resources to choose from based on skill matching alone. You can quickly reduce the number of eligible resources by considering availability, but two additional attributes provide even finer slicing in the selection. The second is actually a repeat of the first with a different name. More remarkably, you’re sharing a value list with the enterprise project outline code, Sponsor, that you originally defined as a project-level attribute.
Primary System Knowledge
Secondary System Knowledge
The simplicity of the preceding example belies its usefulness. It very naturally follows the way the sample organization taps resources. The project managers locate resources sought first by role, then by system knowledge, and always according to availability and priority. The duplication of the code to represent primary and secondary knowledge demonstrates how you can best create multi-value constructs using outline codes.