1. Field of the Invention
The present invention generally relates to the field of automated resource planning for one or more large, global services organizations and, more particularly, to the methods and tools for constructing feasible and optimal sourcing strategies for new and existing service offerings.
2. Background Description
Currently, professional services providers design service offerings and make decisions of how to source the offerings independent of resource costs and constraints. Traditionally, resources are allocated manually by those involved in the project management negotiating for available resources within the local delivery area. There is very little planning that includes resources across the entire organization. Professional services organizations are aware of the types of skills and capabilities of the general population within the organization. However, the service offering does not usually consider availability, costs, location, and other constraints of the members of the population whose skills and capabilities are needed to support a particular service offering, especially outside the immediate area of either the delivery group or the customer location. This may result in inefficiencies with how staff is assigned to particular service deliveries, and staffing plans that are either infeasible or do not achieve the desired profit margin targets.
One of the primary reasons for these inefficiencies or inadequacy of the resource planning efforts is the scope or magnitude of the services offerings and delivery requirements. That is, services delivery providers have become large, global organizations with tens of thousands or more resources located around the globe and service delivery project revenues in billions of dollars. Resource planning for these types of global services organizations requires an automated computer-implemented method that can analyze the enormous amount of data required to optimize the resource allocation across the entire delivery arena.
Professional service organizations would benefit from service offering design tools that identify which resources should be used, acquired or developed to support new or existing offerings. When speaking of services offerings, the types of capabilities and staffing requirements typically considered include those capabilities of the individuals who will be delivering the required service. The resources required for the services offerings may include but not be limited to C++ programmers and other types of software programmers, project managers, quality assurance and test engineers, clerical staff, hardware maintenance engineers, and installation technicians, etc.
The allocation of resources to new and existing service offerings requires a full knowledge of the skills, costs and availability of the resources within the organization. This does not seem to be a difficult problem when staffing a single project from the entire pool of a company's resources. However, as discussed above, the problem becomes significant when the number of projects becomes large and the constraints on the company resources expand. Furthermore, as human resources cannot be split by skill set, managing the optimum skills sets for a project while considering cost, availability, location and other constraints further complicates the sourcing problem.
An exemplary embodiment of the invention provides a method for optimizing the sourcing strategy for new and existing service offerings that considers existing resource skills, locations of the resources, costs of the resources, desired profit margins and strategic sourcing policies.
Another exemplary embodiment of the invention models the demand uncertainty for the various new and existing services offerings, and develops a staffing plan that is robust against the uncertainty of the market demands for the new and existing offerings.
Yet another exemplary embodiment of the invention provides a capability that allows for contingencies of allocating resources when initial planning efforts have sudden changes.
According to the invention, a computer-implemented method is designed to consider the broad spectrum of resource capabilities together with resource constraints in order to present staffing plans for multiple service offerings. These staffing or resourcing plans are designed to provide the optimal resource allocation with contingency considerations. The term optimal is intended to maximize the service provider's strategic goals such as margin targets, delivery quality, customer retention, balanced allocation by location, and other strategic goals, as appropriate. Those skilled in the art will recognize that the method could include additional strategic goals and constraints to those mentioned here.
The foregoing and other objects, aspects and advantages will be better understood from the following detailed description of a preferred embodiment of the invention with reference to the drawings, in which:
Referring now to the drawings, and more particularly to
In this embodiment, the type of information within the revenue factors and business plans 120 that may be considered individually or as a composite may include: revenue growth, cost reduction, linkage to business imperatives, productivity enhancement, competitive advantage, and speed of benefit delivery. In another embodiment, a subset of these factors could be used or additional factors could be considered. While business risk is a measure of business impact as a probability of occurrence over a lifetime and, in this embodiment, may be defined as a composite of: schedule risks, life cycle cost, initial costs, feasibility risks, reliability risks, technical risks, management risks, security, and technical obsolescence. In another embodiment, a subset of these factors and risks could be used or additional factors and risks could be considered.
Once the data has been collected and evaluated, the services offerings resource problem. Depending upon the specific input data, constraints and objectives, this optimization problem may be a linear program, a mixed integer program, or it may take the form of other types of optimization problems. Once the optimization problem is offering staffing plan 160.
A set of potential service offerings 206, which includes modified existing and new service offering, is compiled as the output from step 210. Using this list of potential service offerings together with the existing and potential resources 203 data, the resource requirements for each of the individual offerings is analyzed at step 220. The potential resources are those resources that could be made available through hiring, training, sub-contracting or other commonly implemented actions. That is, the ideal set of resources in terms of skills and attributes is identified for each of the potential service offerings. The result of this step would be a set of resources 207 required to implement all of the potential service offerings identified in step 210.
The method then applies the real world and business defined constraints 204 to bound the potential service offering and the resource requirements at step 230. Some of these constraints may include revenue margins, availability of specific skills sets, location of resources, cost of resources, security issues, citizenship regulations, time zone impacts, etc. Those skilled in the art will recognize that these are only a sample of the types of business and real world constraints that could be applied and the invention is not limited to those mentioned here. The process then applies the constraints 204 which results in a set of bounded resources 208. The inputs and results of each of the method steps, data bases within the service organization network to be used by the various iterations of the computer implemented optimization process and/or for use by other processes within the service organization.
Using the list of potential service offerings together with the set of required resources that are bounded by the constraints, the method formulates an optimization problem and solves that problem at step 240 using a solver that is appropriate for the type of problem formulated. The solution to the problem is the sourcing strategy. A variety of different mechanisms for formulating an optimization problem and solving the problem can be used including, without limitation optimization solvers such as maximum/minimum, constraint bound, branch and bound, evolutionary algorithm, stochastic processing and other optimization solver techniques.
The optimization method selected can optimize the staffing plan based on cost or priority. In the case of a cost based optimization method, the staffing plan which is developed as the output would recommend staffing to maximize income by minimizing cost and/or maximizing margins. The priority based optimization method would output a staffing plan that meets specific priorities (e.g., staff engagement first from US resources, do not hire any new programmers, etc.) which are entered as part of the strategic planning data 202 inputs. Although the invention has described cost based optimization or priority based optimization those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope to include other types of optimization to include but not be limited to a combination of cost and priority based optimization method.
Once the sourcing strategy has been developed, the services organization must approve the strategy at step 250. This step can be a manual decision process performed by appropriate individuals or groups of individuals within the service organization. Alternatively, the sourcing strategy could be automatically evaluated against a predetermined set of criteria. This decision step also provides additional design flexibility to consider demand uncertainty for the various new and existing services offerings.
If the developed sourcing strategy is not approved at step 250, the inputs can be modified at step 260. This input modification step 260 allows for contingencies when allocating resources in the event that initial planning efforts have sudden changes. Modification could include a reduction in the quantity of service project delivery projections or eliminating one or more of the proposed service offerings resulting in a reduction in the needed number of resources with particular skills and/or capabilities. In addition, changes in margins, costs of resources, etc. could also be implemented as part of the input modifications at step 260. These modifications would then be used to revise the input data such as the existing and potential resources 203 and the constraints 204.
The method would then perform the data analysis and optimization process again using the modified data. Once again, the strategy would be presented for approval at step 250. In the event that the sourcing strategy was approved, an optimized services offering staffing plan 205 would be produced. The optimized services offering staffing plan 205 could be stored within corporate or departmental databases or provided as a report to be distributed throughout the services organization. The optimized services offering staffing plan 205 could also be used as the new existing input data to the method when strategic goals have changed warranting another optimized resource plan.
The methodology described herein can be implemented on computerized systems, and software can store processing steps of the methodology on a computer readable medium (e.g., hard disk, floppy disc, CD, DVD, flash memory, tape drive, etc.).
The following example illustrates the types of data inputs and constraints that are analyzed in developing a resourcing strategy for a single new services offering. When this example is considered with the thousands of services offerings being designed, developed and implemented at one time in many global services organizations, the magnitude of the task and the advantage of the automated optimization method is apparent.
The proposed new services offering for a services organization with 5000 employees located worldwide is defined as:
The forecasted delivery of the proposed new services offering is to sell 12 of these engagements in the next fiscal year on an average of one per month. Half of the engagements will be delivered in the US and half will be delivered in Europe. This data would be entered as part of the strategic planning data 202. An example is shown in Table 1.
In Table 1, the Start Period is shown as which month in a 12 month cycle the engagement would anticipate starting. The priority is shown as 1 for all engagement although could be set at different priorities if a priority based optimization was desired. Finally, the quantity is set at 1 for each engagement but could change based on sales forecasts.
The existing offerings data 201 would include a listing of all the types of resources required (similar to a build of materials list in a manufacturing environment) to deliver the engagement. Table 2 provides an example of the types of resources that would be required to deliver the first engagement (engagement name E1US) of this example.
Analyzing the requirements for the new service offering would develop a set of required resources for the new offering. The required resources for this example only consider the technical capabilities and are not addressing the clerical or other support staff necessary to maintain the project.
In Table 2 of this example, the first engagement is to be delivered in the US. This engagement requires 4 job roles (i.e., Sr. Project Manager, Jr. C++ Programmer, Test Engineer, and Sr. System Architect) in order to deliver the project to a client. The table shows the period these job roles are required (e.g., EIQA Test Engineers are required during periods 7 and 8). The quantity of each job role required during each time period would also be specified (e.g., 25 Jr. C++ Progranmers are required each month during periods 2 through 7). Finally, the optimization system would consider whether these job roles could be substituted and the location of these roles could be substituted. In the example Table 2, this is indicated by a 1 in the Job Role Substitute column and the Resource Location Substitute column. If substitution was not allowed for these features, a “0” may be entered in the respective columns.
Once the ideal set of required resources is defined, the method would analyze these requirements against the availability of existing or potential resources. In this example, the existing resources are shown in Table 3.
The example available resources shown in Table 3 are those resources currently available for delivery of the potential service offerings. In this example, the availability of Sr. Project Managers is shown for the US as 2 available each period from period 0 through 3 at a monthly fixed cost of $10,000.00 each Sr. Project Manager. There are 4 available Sr. Project Managers in Canada for the same period of time at a monthly fixed cost of $9,000.00 each. There is also available 1 Sr. Project Manager in Germany for the same time period at a fixed monthly cost of $11,000.00. In addition to existing resources, there is the potential for hiring or retraining resources. An example of these capabilities is shown in Table 4.
Example Table 4 shows the costs and time periods required for acquiring or releasing resources. To acquire new resources would be the cost of hiring the particular Job Role in the respective countries. For Example, to hire a new Sr. System Architect in the US would require $7,000.00 in acquisition costs (e.g., travel, food and expenses for interview, recruiter fees, etc.) and would take 1 time period (e.g., month). The concept of release time and cost is another input because the model allows the staffing plan to be optimized such that unnecessary resources can be released (fired) to eliminate the fixed salary costs. However, because of severance packages and other charges, there may be a cost associated with releasing an unneeded resource. The cost of acquiring more Fortran programmers is shown as $5,000,000.00 which is artificially high. This number was entered to ensure that the optimization scheme would not recommend hiring Fortran programmers. The method would allow other constraint fields to be entered; however, the cost prohibition was used in the example to simplify the number of inputs. However, those knowledgeable in the art would recognize that a large number of additional constraints beyond the cost, quantity could be entered to bound the optimization process.
Finally, the business, technical and real world constraints must be applied to the resource allocations. An example of the constraints for this new services offering could include:
Obvious real world constraints such as 1 person cannot be located at 2 sites at the same time and expenses for locating resources at various sites have not been included here but these types of real world constraints would be included in the database for the computer-implemented method to consider as part of the analysis.
In addition, the method allows for substitutions to be performed in the event a particular type of Job Role is unavailable at a particular location. For example, the method could enable a US resource be substituted by a Canadian resource. However, due to travel and communication charges, there may be a cost per individual of each substitution. In addition to allowing location substitutions, Job Role substitutions may be allow such as retraining a Fortran Programmer to be a Jr. C++ Programmer. There may be training costs associated with this substitution but these substitution costs may be less than hiring a new Jr. C++ Programmer. The optimization could be run with the substitution enabled or disabled at each element.
Once the inputs and constraints have been collected and analyzed the method formulates the optimization problem. In this example, the goal is to maximize revenue (a cost optimization) while meeting delivery quality goals within the specified resources and constraints. The problem must balance the cost of implementation against the gross revenue to determine optimal delivery scenarios. Once the problem has been formulated using the business strategic and tactical goals, the problem is solved using any one of several optimization solvers such as maximum/minimum, constraint bound, branch and bound, evolutionary algorithm, stochastic processing and other optimization solver techniques. The optimization solver techniques listed here are only for illustration purposes. It would be understood by those skilled in the art that many different optimization solving techniques could be used and this invention is not limited to those listed here.
It should be understood that all staffing plan decisions are made relative to the staffing at period 0. This is the initial or boundary point against which the hire, fire, train, assign, etc. decisions are made. The example was run for four different scenarios: (1) no substitutions enabled, (2) substitution of C++ programmers with Fortran programmers is enabled, (3) substitution of US resource with Canadian resource is enabled, and (4) substitution of India C++ programmers for US and Canadian C++ programmers is enabled. These iterations reflect the sourcing strategy approval (step 250 of
Table 5 shows the results of the optimization method for the four different scenarios. An approximate net profit after performing the 12 engagements is used as the cost goal for the cost optimization method. As mentioned previously, several other factors such as priority could be used as the basis of the optimization; cost optimization was used in the example presented here.
Table 5 shows the staffing planning for the quantity of Jr. C++ Programmers located in the US. Referring back to the inputs summarized in Table 3, at period 0, there were 25 available Jr. C++ Programmers in the US.
As shown in the first scenario, if only US Jr. C++ Programmers were to be used, the company would need to hire 25 additional Jr. C++ Programmers in period 4 and then another 25 in period 7. The costs associated with this action would result in a profit margin after completion of all 12 engagements of $350,000.00. This would obviously not be approved at the strategic planning approval step. If the inputs were modified to allow substitution of the less expensive Fortran Programmers for the more expensive US based Jr. C++ Programmers, considering retraining costs, the profit for this second scenario would be $2.5M. Continue across Table 5, the third scenario would allow Canadian resources to be substituted for US resources. Using the Canadian resources and the hiring costs for acquiring more Canadian programmers, the company could release 20 US based Jr. C++ Programmers in period 2. The end of engagement profit would then be $8.5M. Finally, allowing Indian programmers to be substituted for US and German programmers allows all 25 US Jr. C++ Programmers to be released in period 2 and the resulting profit would be $17M. Table 5 does not show the acquired resources in the other countries but these numbers would be calculated as part of the optimization process.
In summary, once the optimization problem was solved, a sourcing strategy would be presented. This strategy would define which resources would be assigned to which implementations of the project. The hiring, firing, and training as well as the location of resources would be defined with the related costs for this strategy. The strategy would then be subjected to approval against a set of predetermined criteria. These criteria might include weighting factors against target revenue margins. That is, the delivery of one particular project may be optimized for revenue but when the total number of delivery requirements is considered, the margin for an individual project may be reduced while the average margin across all the forecasted projects maybe improved. If the strategy is not approved, the method would allow modification of inputs for example, the target revenue margin may be changed for the new offering or the length of time required to complete an implementation maybe changed. Once these modifications have been entered, the method would re-evaluate the new offering against the input parameters. A revised strategy would be produced and refined as necessary. Once the strategy was approved, the method would create the optimized service offering staffing plan as the output. This plan would then be implemented for the new offerings.
While the invention has been described in terms of its preferred embodiments, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the appended claims.