Many global and large national organizations employ thousands of permanent and contingent workers and contractors (e.g., resources) to deliver services and products to customers. A concern for many of these organizations is workforce planning to select resources with certain skills for an appropriate position at a relevant time and at an efficient cost. Many organizations operate in a dynamic environment and, as a result, allocating resources between functional work groups can consume relatively large amounts of time while not always resulting in the optimal resource selection.
Currently, many resource planning personnel in relatively large organizations (e.g., corporations, governments, conglomerates, companies, etc.) have to search databases of resources (e.g., employees, workers, contractors, etc.) to determine which resource should fill an open position and/or provide skills and/or labor to a project team. In some instances, the resource planning personnel may use tools that filter resources by search criteria including, for example, work placement parameters. However, in these instances, resource planning personnel have to manually maintain the search terms, maintain the work placement parameters, and/or manually select a resource from lists of available unfiltered resources. Resource work placement parameters include, for example, a location, a business domain, a job level, a skill group, a workforce type, a travel preference, an education level, or a job type.
In organizations that include thousands to hundreds of thousands of resources, resource planning can be relatively inefficient and time consuming. For example, resource planning personnel typically have to maintain resource work placement parameters, determine which resources are available to be allocated, and manage resource searches to locate which resource should fill an open position. In some instances, resource planning personnel may not select an optimal resource to fill an open position. Further, as organizations attempt to become dynamic by rapidly adapting to changes in business strategy, current known methods of resource planning may slow organizational change by inefficiently reassigning resources.
Example methods, apparatus, and articles of manufacture disclosed herein address at least some of these problems and improve the efficiency of resource planning by using a systemic method for determining work placement preferences based on functional distances of resources (e.g., organizational distances between resources) and matching work placement parameters. An organizational distance is based on relationships between resource groups. In many organizations, resource groups are specified to, for example, report to one or more resource group(s) and/or provide instructions and/or support to one or more resource group(s). Resource groups that report to and/or instruct other resource group(s) are functionally directly linked and/or coupled to the other resource group(s). An organizational distance is a number of resource groups linked and/or coupled together that are between two resources and/or between a resource and a resource group.
The example methods, apparatus, and articles of manufacture disclosed herein determine work placement preferences by creating a structure (e.g., a hierarchical organization structure) that includes resource groups linked together based on functional relationships. To create resource groups, the example methods, apparatus, and articles of manufacture disclosed herein identify a group of resources that can be logically combined together in a resource group. For example, resources allocated to a group may share a manager, location, project customer, service offering, capability, and/or functional unit.
The example methods, apparatus, and articles of manufacture disclosed herein link together resource groups based on an organizational structure including, for example, business units, regions, country, work center, business vertical arrangement, practice group, and/or team. In some examples, available resources may be included within delivery resource groups that are functionally at the lowest level of an organizational structure that is bound together by reporting manager resource groups. In other examples, available resources may be included within any resource groups of an organizational structure. In this manner, the example methods, apparatus, and articles of manufacture disclosed herein encapsulate business rule preferences in a dynamic organizational structure.
To determine which resource is to fill an open position, the example methods, apparatus, and articles of manufacture disclosed herein identify a primary resource group based on a request for a resource. The primary resource group identifies a requested resource group selected to fill an open position. In some examples, the primary resource group may also include the open position. The example methods, apparatus, and articles of manufacture disclosed herein use the primary resource group to determine resource group preferences based on an organizational distance between the primary resource group and other resource groups. The example methods, apparatus, and articles of manufacture disclosed herein assign weights to resource groups based on a ranking and/or ordering of the resource group preferences. In this manner, the example methods, apparatus, and articles of manufacture disclosed herein enable available resources to be allocated beyond immediate, requested, and/or adjacent resource groups.
To determine resource group preferences, the example methods, apparatus, and articles of manufacture disclosed herein identify (e.g., classify) children resource groups, sibling resource groups, and/or cousin resource groups for a primary resource group. A child resource group is a resource group that is functionally lower and directly coupled to a primary resource group. A sibling resource group is a resource group that is functionally at a same level as a primary resource group and shares a parent resource group. A parent resource group is functionally higher and one-hop away from a primary resource group. A cousin resource group is a resource group that is functionally at a same level as a primary resource group and shares a grandparent, great grandparent, etc. resource group. The example methods, apparatus, and articles of manufacture disclosed herein may also determine preferences for business location resource groups (e.g., best shore resource groups or regional resource pools), which are resource groups that may be in a different geographic location from a primary resource group.
The example methods, apparatus, and articles of manufacture disclosed herein use a classification (e.g., child sibling, cousin, business locations, etc) of the resource groups in relation to a primary resource group to determine resource group preferences. For example, children resource groups are preferred over sibling, cousin, and business location (e.g., regional) resource groups, sibling resource groups are preferred over cousin and business location resource groups, and cousin resource groups are preferred over business location resource groups. The example methods, apparatus, and articles of manufacture disclosed herein use the resource group preferences to assign a weight to each resource group. The example methods, apparatus, and articles of manufacture disclosed herein select an available resource from resource group(s) with the greatest weight. In instances where a resource group has a greatest weight but no available resources, the example methods, apparatus, and articles of manufacture disclosed herein select available resources from a resource group that has the next greatest weight.
In some examples, the example methods, apparatus, and articles of manufacture disclosed herein may combine calculated weights of resource groups with scores for work placement parameters of available resources matching work placement parameters of the open position. The example methods, apparatus, and articles of manufacture disclosed herein may then select an available resource with a score that exceeds a threshold and/or may select an available resource with a greatest score. In this manner, the example methods, apparatus, and articles of manufacture disclosed herein utilize a desired position in an organization structure and relationships among resource groups to quantify weights used to select a best available resource that is chosen based on a preference to be as organizationally close as possible to an open position.
Resource planning personnel may use the example methods, apparatus, and articles of manufacture disclosed herein to efficiently and quickly assign resources to open positions to maintain a dynamic organization. The resource planning personnel may also use the example methods, apparatus, and articles of manufacture disclosed herein to evaluate resources at other locations within an organization to fill gaps in resources, maintain project teams with resources from relatively close resource groups, and/or examine preferred business location resources for an open position. Further, resource planning personnel may use the example methods, apparatus, and articles of manufacture disclosed herein to modify weights, scores, and/or an organizational structure based on changing business conditions without causing delays in resource allocation.
In the illustrated example, the resource sourcing processor 102 is included within a server 104 that is accessible by a workstation 106. The example server 104 may include any processor, computer, computing center, distributive computing environment, etc. for allocating resources within an organization. In some examples, the server 104 may be included within the workstation 106.
The example workstation 106 may be implemented by any type of computing device including, for example, a personal computer, a server, a laptop, a smartphone, a smartpad, etc. In the illustrated example, the workstation 106 includes an operating system and a display monitor. The example workstation 106 may be communicatively coupled to the server 104 via a network (e.g., the Internet, a Local Area Network, etc.). The example workstation 106 enables resource planning personnel to request resources to fill open positions and/or request to allocate resources within an organization. While the example of
To enable resource planning personnel to request resources and/or to view candidate resources, the example workstation 106 includes a user interface 108. The example user interface 108 enables resource planning personnel to interact with the example resource sourcing processor 102 to allocate resources. In some examples, resource planning personnel may use the example user interface 108 to provide organizational information that the example resource sourcing processor 102 uses to construct an organizational structure and determine resource group preferences. Resource planning personnel may also use the example user interface 108 to provide weights and/or scores that the example resource sourcing processor 102 uses to select and/or match resources to an open position. Further, resource planning personnel may use the example user interface 108 to provide available positions and/or specify work placement parameters.
In the illustrated example of
To determine an organizational structure for an organization, the example resource sourcing processor 102 includes a resource structure manager 120. The example resource structure manager 120 receives organization information from, for example, the workstation 106 and/or any other computing device within an organization. In other examples, the resource structure manager 120 may access organizational charts of an organization stored in resource planning databases. The organization information includes, for example, resource groups, resources assigned to each resource group, and functional relationships between the resource groups.
After receiving the organization information, the example resource structure manager 120 of
To determine which resource groups are associated with which business locations (e.g., regions), the example resource sourcing processor 102 includes a resource location manager 122. The example resource location manager 122 uses organization information and the structure determined by the resource structure manager 120 to determine which resource groups are included within a business unit (e.g., a set) that is associated with a physical location. The organization information may include location information that specifies where resources and/or resource groups are physically located. The example resource location manager 122 may modify the structure so that resource groups are organized based on functions and/or geographic locations.
For example, the resource location manager 122 may determine that some resource groups are associated with a California location while other resource groups are associated with a Bangalore, India location. The example resource location manager 122 groups the resource groups associated with California into a first location and groups the resource groups associated with Bangalore into a second location. The example resource sourcing processor 102 may then use the business location information when determining preferences for resource groups based on a primary resource group. In other words, the example resource sourcing processor 102 uses the business location information to initially locate available resources located within the same location as an open position. The example resource sourcing processor 102 may then look to resources in other locations if there are no available resources in the same location as an open position. In this manner, the example resource location manager 122 modifies a structure of an organization so that resources located relatively closer to an open position are preferred over resources located relatively farther away.
To determine resource group preferences based on a determined organizational structure, the example resource sourcing processor 102 of the illustrated example includes a resource preference processor 124. The example resource preference processor 124 uses the structure from the resource structure manager 120 and/or the resource location manager 122 to determine resource group preferences of resource groups. The example resource preference processor 124 also determines organizational distances between resource groups to calculate weights for each of the resource group preferences. In this manner, the example resource preference processor 124 creates a preferences matrix (e.g., a multidimensional preferences matrix) that is used to determine which resource should fill an open position.
In some examples, the example resource preference processor 124 of
To determine resource group preferences, the example resource preference processor 124 identifies a resource group as a primary resource group. The example resource preference processor 124 then identifies children resource groups. The children resource groups may be resource groups that are directly linked functionally below the primary resource group. In some instances, the children resource groups may include available (e.g., deliverable) resources for a specified higher level resource group. The example resource preference processor 124 classifies the children resource groups as a first preference.
The example resource preference processor 124 also determines sibling resource groups and cousin resource groups. The resource preference processor 124 identifies the sibling resource groups as a second preference and the cousin resource groups as a third preference. The example resource preference processor 124 may then determine other location resource groups as a fourth preference. Additionally, the resource preference processor 124 may determine some resource groups are associated with a fifth or higher preference. Alternatively, the example resource preference processor 124 may determine that resource groups are associated with three or fewer preferences based on a structure of the organization and/or preferences of resource planning personnel.
In other examples, the resource preference processor 124 may assign resource groups to a first preference that are one-hop away from a primary resource group. In these other examples, the resource preference processor 124 may also assign resource groups to a second preference that are two-hops away from a primary resource group and assign resource groups to a third preference that are three or more hops away from the primary resource group. In these examples, the resource preference processor 124 may assign resource groups to a fourth preference that are in a different location from the primary resource group. In yet other examples, the resource preference processor 124 may determine preferences based on other criteria and/or business rules of an organization such as, for example, a job level, a skill group, a workforce type, a travel preference, an education level, etc.
The example resource preference processor 124 of
After determining preferences for resource groups and/or weights for resource groups, the example resource preference processor 124 of the illustrated example stores the preferences, weights, structure, and/or preferences matrix to a resource database 126. The example resource database 126 enables the resource sourcing processor 102 to identify which resource groups are preferred based on a selected primary resource group. In some examples, resource planning personnel may access the resource database 126 to view a structure, relationships between resource groups, and/or which resource groups are preferred to other resource groups. The example resource database 126 may be implemented by, for example, storage disk(s) disk array(s), tape drive(s), volatile and/or non-volatile memory, compact disc(s) (CD), digital versatile disc(s) (DVD), floppy disk(s), read-only memory (ROM), random-access memory (RAM), programmable ROM (PROM), electronically-programmable ROM (EPROM), electronically-erasable PROM (EEPROM), optical storage disk(s), optical storage device(s), magnetic storage disk(s), magnetic storage device(s), cache(s), and/or any other storage media in which data is stored for any duration.
To calculate scores for available resources to fill an open position, the example resource sourcing processor 102 of
The example resource sourcing processor 102 of the illustrated example uses any routine, algorithm, formula, and/or equation for calculating a score based on how much work placement parameters of available resources match work placement parameters associated with an open position. For example, the resource sourcing processor 102 may determine a numeric value based on how close of a match there is for each work placement parameter. The example resource sourcing processor 102 may then aggregate and/or calculate a score based on the determined numeric values. In some examples, the calculation may incorporate different weight values assign to the types of work placement parameters.
After calculating a score for the available resources, the example resource sourcing processor 102 of
To determine which resource group is to be the primary resource group for calculating resource scores, the example resource sourcing processor 102 includes an open position receiver 128. The example open position receiver 128 receives requests to fill open positions from, for example, the workstation 106. In other examples, the open position receiver 128 may access databases of open positions within an organization. In addition to receiving an identifier of an open position, the example open position receiver 128 may receive work placement parameters associated with an open position. In many instances, resource planning personnel may specify the work placement parameters for an open position as requirements and/or recommendations for the position. In other instances, the open position receiver 128 may determine work placement parameters based on an open position type. For example, an open position for a Level 3 Hardware Engineer in California may correspond to a predefined set of work placement parameters.
An open position received by the example open position receiver 128 of
To determine which resources within resource groups are available to fill an open position, the example resource sourcing processor 102 of
The available resource identifier 130 receives indications of available resources and determines corresponding resource groups. In some examples, the available resource identifier 130 may identify resource groups based on work placement parameters associated with available resources. In other examples, the available resource identifier 130 may determine which resource groups are associated with which resources based on resource type and/or information provided by resource planning personnel.
After determining available resources, the example available resource identifier 130 transmits identifiers of the available resources to the example resource score calculator 127. The example resource score calculator 127 then scores the available resources based on matching work placement parameters, resource group preferences, and/or weights. In some examples, the available resource identifier 130 may update the resource score calculator 127 as available resources become available and/or unavailable. In other examples, the available resource identifier 130 provides available resources each time the example resource score calculator 127 calculates scores of resources to fill an open position.
To select a resource to fill an open position, the example resource sourcing processor 102 of
In other examples, the resource selector 132 may select a resource among identified available resources that has a greatest score determined by the resource score calculator 127. In these other examples, the score may include adjustments for resource group preferences and/or weights. In yet other examples, the resource selector 132 may be instructed to select a resource that has a score, weight, and/or preference above a predefined threshold. In these other examples, the resource selector 132 may return a ‘no matching resources available’ message to, for example, the workstation 106 if there are no available resources with scores that meet and/or exceed a threshold.
After selecting a resource to fill an open position, the example resource selector 132 transmits a message to, for example, the workstation 106 identifying the selected resource. Alternatively, the example resource selector 132 transmits a message identifying a plurality of resources with a score, weight, and/or preference above a predefined threshold. In these alternatively examples, resource planning personnel may select a resource from among the identified resources. The example resource selector 132 may also update the example resource database 126, the available resource identifier 130, and/or any other resource database within an organization with the information that a selected resource is not longer available (e.g., that the resource has been allocated). The example resource selector 132 may also identify which position has been filled. Additionally, the resource selector 132 may send a message to the open position receiver 128 indicating that the requested open position has been filled.
To accommodate feedback from, for example, resource planning personnel, the example resource sourcing processor 102 of
For example, when resource planning personnel request a different resource to fill an open position, the feedback processor 134 may identify a resource group of the requested resource and adjust the preference and/or weight to more closely match the open position. In this example, the feedback processor 134 may also modify matching work placement parameter scores based on the newly selected resource. In examples where resource planning personnel modify a structure, preferences, and/or weights, the example feedback processor 134 incorporates the changes into the already determined structure stored in the resource database 126. The feedback processor 134 may then instruct the resource preference processor 124 to recalculate weights and/or re-determine resource group preferences based on the changes provided by the resource planning personnel. In examples where resource planning personnel adjust work placement parameter scores and/or score calculating routines, the example feedback processor 134 communicates the changes to the resource score calculator 127 to use in later requests to fill open positions.
While an example manner of implementing the example system 100 has been illustrated in
Thus, for example, any or all of the example resource sourcing processor 102, the example server 104, the example workstation 106, the example user interface 108, the example resource structure manager 120, the example resource location manager 122, the example resource preference processor 124, the example resource database 126, the example resource score calculator 127, the example open position receiver 128, the example available resource identifier 130, the example resource selector 132, the example feedback processor 134 and/or, more generally, the example system 100 could be implemented by one or more circuit(s), programmable processor(s), application specific integrated circuit(s) (ASIC(s)), programmable logic device(s) (PLD(s)) and/or field programmable logic device(s) (FPLD(s)), etc. When any of the appended apparatus claims are read to cover a purely software and/or firmware implementation, at least one of the example resource sourcing processor 102, the example server 104, the example workstation 106, the example user interface 108, the example resource structure manager 120, the example resource location manager 122, the example resource preference processor 124, the example resource database 126, the example resource score calculator 127, the example open position receiver 128, the example available resource identifier 130, the example resource selector 132, and/or the example feedback processor 134 are hereby expressly defined to include a tangible computer readable medium such as a memory, DVD, CD, Blu-ray disc, etc. storing the software and/or firmware. Further still, the system 100 of
The example structure 200 of the illustrated example shows one possible hierarchy for an organization. Other examples can include different numbers of resource groups, different levels of resource groups, different relationships between resource groups, and/or different types of organizational structures. For example, some resource groups may be linked together in a matrix structure or, alternatively, some resource groups may be linked together in a horizontal structure.
In the example of
In the illustrated example, the resource preference processor 124 determines resource group preferences for each of the resource groups Root-RP22. For example, the resource preference processor 124 may determine that resource groups that share a common parent resource group are siblings. In the illustrated example, the resource groups RP111 and RP112 are siblings because they are both directly functionally linked to a higher level parent resource group RP11. In this example, the resource preference processor 124 may determine that the resource group RP121 is a cousin of the resource groups RP111 and RP112 because the resource groups RP111, RP112, and RP121 are functionally linked to a common grandparent resource group RP1. Further, the example resource preference processor 124 may determine that the resource groups RP1111 and RP1112 are children resource groups of the resource group RP111 because the resource groups RP1111 and RP1112 are functionally directly linked one level down from the resource group RP111. In other examples, the example resource preference processor 124 may determine resource group preferences after a request is received to fill an open position.
When, for example a request to fill an open position identifies the resource group RP111 as a primary resource group, the example resource sourcing processor 102 identifies resource group preferences based on the determined relationships (e.g., children, siblings, cousins) between the resource groups. In other examples, the resource sourcing processor 102 may also identify business location resource groups as a fourth preference if there are no available resources within the first three preferences. The example resource preference processor 124 may also weight the resource groups within the structure 200 based on an organizational distance from a primary resource group. For example, the resource group RP12 has an organizational distance of two-hops (e.g., two links) from the resource group RP11. In another example, the resource group RP221 has an organizational distance of seven-hops from the resource group RP1111. In this manner, the example resource sourcing processor 102 of
In the illustrated example, the work placement preference routine 300 includes a work placement preferences block 302 that includes (and/or is linked to) a first preference 304, a second preference 306, a third preference 308, and a fourth preference 310. In other examples, the work placement preference routine 300 may include additional or fewer preferences. The example preferences 304-310 specify conditions when resource groups are included within the preferences 304-310 based on functional relationships of the resource groups within, for example, the structure 200 of
The example first preference 304 is specified as including resource groups within a selected (e.g., primary) resource group rule 312. For example, the first preference includes available resources within a resource group specified for an open position. The selected resource group rule 312 can include any resource group at any level within, for example, the structure 200.
The example first preference 304 also includes a children resource group rule 314. The example children resource group rule 314 specifies, for example, that the first preference 304 also includes available (and/or qualified) resources within resource groups that are children of a primary resource group. In some examples, the children resource group rule 314 may be utilized as the first preference 304 when there are no available (e.g., delivery) resources within a primary resource group.
The example second preference 306 and the example third preference 308 include a rule 316 that specifies a resource group is to be selected that is included within a same business location (e.g., physical location) as the primary resource group. In conjunction with the rule 316, the second preference 306 includes a rule 318 that indicates sibling resource groups are to be selected and the third preference 308 includes a rule 320 that indicates cousin resource groups are to be selected. In other words, the rule 318 indicates that sibling resource groups are classified as the second preference 306 and the rule 320 indicates that cousin resource groups are classified as the third preference 308.
In some examples, the cousin rule 320 may include an additional rule that weights the cousin resource groups based on an organizational distance from the primary resource group. Alternatively, the work placement preferences 302 may include a rule (not shown) that weights the resource groups based on an organizational distance from a primary resource group. In these alternative examples, the work placement preferences 302 may use the weight rule in conjunction with the preferences 304-310.
The example fourth preference 310 of
By using the example preferences 304-310 of the illustrated example, the resource sourcing processor 102 determines which resource groups are preferred in relation to other resource groups via the work placement preferences 302. The example resource sourcing processor 102 may then use the work placement preferences 302 to determine which resource to fill an open position. In this manner, the example work placement preference routine 300 quickly and efficiently allocates resources within an organization based on work placement preferences.
The example structure 400 may be determined by, for example, the resource structure manager 120 of
In the illustrated example, the work placement case 1 corresponds to a resource request that indicates the testing resource group 412 as the primary resource group to fill an open position. Because the testing resource group 412 was selected as the primary resource group to fill an open position, a resource may be selected equally from among the testing team resource groups 416-420. Additionally, because the testing resource group 412 does not include workers (e.g., available resources), the first preference 402 includes the testing team resource groups 416-420, which are children of the testing resource group 412. In other words, by requesting the testing resource group 412 as the primary resource group, the example resource sourcing processor 102 includes the children resource groups 416-420 as the first preference 402 because the groups 416-420 include available resources (e.g., testers).
In this example, the resource sourcing processor 102 may select an available resource from any of the team resource groups 416-420 for the work placement case 1 to fill an open position. Additionally, the resource sourcing processor 102 may calculate a score for the available resources within the resource groups 416-420 based on matching work placement parameters and select the available resource with the relatively highest score. If there are no available resources within the team resource groups 416-420, the example resource sourcing processor 102 may identify second preference resource groups as described in conjunction with
In the example of
In the illustrated example, the example resource preference processor 124 determines that for the work placement case 1 the general maintenance resource group 414 is a sibling of the testing resource group 412. The example resource preference processor 124 determines that the general maintenance resource group 414 is a management resource group and does not include any deliverable (e.g., available resources). Thus, the example resource preference processor 124 includes the children general maintenance team resource groups 422-426 that include deliverable and/or available resources within the second preference 502.
In the example structure 400 of
In the illustrated example, the example structure 400 includes a center B resource group 606 that is managed by the business unit resource group 408. The example center B resource group 606 manages a testing resource group 608, which manages four testing team resource groups 610-616. The example resource preference processor 124 determines that the testing resource group 608 is a cousin resource group of the selected primary resource group 412. The example resource groups 412 and 608 are cousins because the resource groups 412 and 608 are linked to a common grandparent resource group 408 and are separated by at least 3 hops of organizational distance. Further, because the testing resource group 608 is a management resource group and does not include deliverable resources, the testing team resource groups 610-616 are included within the third preference 602 for the work placement case 1.
In examples where the resource preference processor 124 determines that the testing resource group 412 has multiple cousin resource groups, the resource preference processor 124 may calculate weights for the cousin resource groups based on an organizational distance from the testing resource group 412. The weights may be used in conjunction with the third preference 602 by the example resource selector 132 to select an available resource with a relatively high weight among the available resources within resource groups classified as the third preference 602.
In the illustrated example of
In some examples, the example resource preference processor 124 may determine that the testing team resources 610-616 are also a third preference of the primary resource group 422. In these examples, the resource preference processor 124 may determine that because the testing team resource groups 610-616 have a greater organizational distance from the primary resource group 422 than the testing team resource groups 416-420, the resource groups 610-616 have a relatively lower weight than the resource groups 416-420. As a result, the resource selector 132 selects available resources from the resource groups 416-420 to fill an open position as the third preference 604 before selecting available resources from the resource groups 610-616.
In the illustrated example, the example resource group 706-716 are located at a different business location (e.g., physical location) from the business unit resource group 408. The different location may include another country, another geographical region, another continent, another state, another city, etc. In other examples, the structure 400 may include other locations.
In the example of
Using the example preferences 402, 502, 602, and 702, the example resource preference processor 124 can determine which resource to fill an open position for the work placement case 1. The example resource preference processor 124 uses the example preferences 404, 504, 604, and 702 to determine which resource to fill an open position for the work placement case 2. In some examples, the resource preference processor 124 may assign a first weight to the first preferences 402 and 404, a second weight to the second preferences 502 and 504, a third weight to the third preferences 602 and 604, and a fourth weight to the fourth preference 702. These weights may then be averaged and/or otherwise combined with organizational distance weights to determine a total weight for each resource group.
In other examples, the resource score calculator 127 may determine scores for the resources based on work placement parameters matching work placement parameters specified within a request for an open position. In these examples, the resource score calculator 127 combines the calculated score with the respective preferences 402, 404, 502, 504, 602, 604, and 702 and/or any calculated weights. The example resource selector 132 may then select an available resource with the highest calculated adjusted score to fill an open position.
A flowchart representative of example machine readable instructions for implementing the resource sourcing processor 102 of
As mentioned above, the example machine readable instructions of 8A, 8B, 9A, and 9B may be implemented using coded instructions (e.g., computer readable instructions) stored on a tangible computer readable medium such as a hard disk drive, a flash memory, a ROM, a CD, a DVD, a Blu-ray disc, a cache, a RAM and/or any other storage media in which information is stored for any duration (e.g., for extended time periods, permanently, brief instances, for temporarily buffering, and/or for caching of the information). As used herein, the term tangible computer readable medium is expressly defined to include any type of computer readable storage and to exclude propagating signals. Additionally or alternatively, the example processes of 8A, 8B, 9A, and 9B may be implemented using coded instructions (e.g., computer readable instructions) stored on a non-transitory computer readable medium such as a hard disk drive, a flash memory, a read-only memory, a compact disk, a digital versatile disk, a cache, a random-access memory and/or any other storage media in which information is stored for any duration (e.g., for extended time periods, permanently, brief instances, for temporarily buffering, and/or for caching of the information). As used herein, the term non-transitory computer readable medium is expressly defined to include any type of computer readable medium and to exclude propagating signals.
The example machine-readable instructions 800 of
The example resource structure manager 120 and/or the resource location manager 122 determine an organizational structure (e.g., the structure 400 of
For each resource group, the example resource preference processor 124 determines children resource group(s) (block 810) and designates those resource group(s) as a first preference (e.g., the first preferences 402 and 404) (block 812). The example resource preference processor 124 then identifies sibling resource group(s) for each resource (block 814). The resource preference processor 124 classifies these sibling resource group(s) as a second preference (e.g., the second preferences 502 and 504) (block 816).
In
The example resource preference processor 124 continues by identifying different business location resource group(s) in relation to each resource group (block 824). The example resource preference processor 124 then designates the business location resource group(s) as a fourth preference (block 826). In some examples, the resource preference processor 124 may calculate weights for resource groups within the fourth preference based on a distance from each of the resource group(s). The example resource preference processor 124 then assigns a weight to each resource group based on the preference associated with the resource group (block 828). In examples where the resource group(s) include a weight from an organizational distance, the weight associated with the preference may be combined and/or averaged with the organizational distance weights. In some examples, the resource preference processor 124 may then store the preferences, weights, structure, and/or a resource group preference matrix to, for example, the resource database 126.
The example feedback processor 134 may then determine if feedback has been received from, for example, resource planning personnel (block 830). The feedback may include, for example, changes to preferences assigned to resource groups, weights assigned to resource groups, changes to the organizational structure, and/or functional relationships between the resource groups. In some instances, the feedback may be received in response to changes to the organization. If feedback was not received from resource planning personnel, the example instructions 800 terminate. In other instances, the example instructions 800 may wait until feedback is received and/or create a new structure for another organization.
However, if resource planning personnel provide feedback, the example feedback processor 134 instructs the resource preference processor 124 to revise the preferences, weights, structure, and/or resource group relationships based on the feedback (block 832). The example instructions 800 may then terminate. In other instances, the example instructions 800 may wait until feedback is received and/or create a new structure for another organization.
The example machine-readable instructions 900 of
The example instructions 900 of the illustrated example continue by the open position receiver 128 and/or the resource score calculator 127 determining work placement parameters associated with the open position (block 906). The example resource score calculator 127 then accesses the available resource identifier 130 to determine available resources within resource groups of the organization (block 908). The example resource score calculator 127 next accesses the resource database 126 for a structure, resource group preferences and/or weights, and/or resource work placement parameters. The example resource calculator 127 then calculates a score for each available resource using the structure, resource group preferences and/or weights, and/or resource work placement parameters (block 910). The example resource selector 132 uses the calculated scores to select an available resource with the highest score (block 912).
The example instructions 900 of
If feedback was received from the requestor, the example feedback processor 134 adjusts work placement parameters, weights, and/or preferences for the previously selected resource and/or the newly selected resource (block 920). For example, the feedback processor 134 may lower weights and/or reduce preferences for resource groups associated with a resource that was manually replaced by a requestor. In other examples, the feedback processor 134 may instruct the example resource score calculator 127 to reduce matching scores of work placement parameters for the resource that was replaced by a requestor. The example resource selector 132 then indicates that the resource selected by the requestor has been allocated for the open position (block 918). The example instructions 900 may then terminate. In other examples, the example instructions 900 may return to receiving a request to fill an open position (block 902).
The processor platform P100 of
The processor P105 is in communication with the main memory (including a ROM P120 and/or the RAM P115) via a bus P125. The RAM P115 may be implemented by dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), and/or any other type of RAM device, and ROM may be implemented by flash memory and/or any other desired type of memory device. The tangible computer-readable memory P150 may be any type of tangible computer-readable medium such as, for example, compact disk (CD), a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), and/or a memory associated with the processor P105. Access to the memory P115, the memory P120, and/or the tangible computer-medium P150 may be controlled by a memory controller.
The processor platform P100 also includes an interface circuit P130. Any type of interface standard, such as an external memory interface, serial port, general-purpose input/output, etc, may implement the interface circuit P130. One or more input devices P135 and one or more output devices P140 are connected to the interface circuit P130.
Although certain example methods, apparatus and articles of manufacture have been described herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus and articles of manufacture fairly falling within the scope of the claims of this patent either literally or under the doctrine of equivalents.