Resource allocation and project scheduling


Resource Managers face a regular stream of projects that call upon the organizations resources. The projects tend to bring varying levels of business benefits to the company and have different levels of costs associated with their execution.

The challenge of prioritizing projects, scheduling them in a way that smoothens the work load, changing or re-skilling the staff, complement if need be and maximizing the benefit to the company is ongoing. At the same time, we need to be able to defend and justify our decisions to the clients and internal business sponsors.

Microsoft EPM tool is suitable to make decision on which projects to drop and which to carry out given current resource pool and deciding the best time to start a given project off, given the time scheduling of all the other projects.

Challenges for decision makers

Given the large number of inputs to decision making, it is not possible to intuitively arrive at an optimum (or even near-optimum) decision. This is so because

  • there are conflicting demands from clients for projects that bring varying levels of business benefits,
  • each project can start on a number of various possible dates and use different kinds of resource inputs that can cost differently, and
  • it is possible to manage with different levels of staff shortages.

Often, the first workable solution is adopted and resources committed, thereby potentially destroying value.

Traditional approach to project decisions

Traditionally, Functional Manager have largely relied upon their business judgment and experience when deciding what projects to undertake, how to schedule them within client specified constraints, while minimizing costs at the same time.

Building the model using Microsoft EPM

To use Microsoft EPM to build a model that shows the impact of a particular decision on all other variables, particularly resource utilization, and the effect on the objective function that we seek to maximize.

In modeling terms, the objective to maximize is:

  • A summation of the “value added” by each project undertaken (typically business benefits minus estimated costs)

Less

  • Cost of any external contract resources that had to be hired to ride over peaks in work load

Less

  • Cost of any idle staff (on the bench) that was not charged to projects

Using the above modeling function, we will use the power of Microsoft EPM portfolio modeler with our modifications to go through a repeated iterative process of evaluating a large number of possible solutions, and present to us the best alternative given the exogenous variables and constraints we have specified.

Results of using a modeling exercise

Using a modeling exercise, provides the benefit of making transparent the effects of decisions on project scheduling, resourcing and value added. By using a modeling exercise, we should be able to ascertain:

Appropriate staffing levels – by revealing any persistent over or understaffing for a particular skill type and functional group.

Appropriate project selection – Depending upon staffing levels, cost of alternate contractor resources, and the different earliest and latest start dates of various projects, different projects are profitable in different situations. While projects that have a very large value addition will always have an absolute advantage over others, it is the borderline projects that fall in and out of the “best project portfolio” as different variables are changed. This form of decision making is not intuitive and a model such as this is essential to understand the dynamics of the different choices.

Deciding acceptable shortage levels – When there are more projects than the existing staff can handle, a certain level of “shortage” can be managed by increasing the workload on existing staff. Allowed beyond a certain point, this can cause staff burnout and serious client dissatisfaction. Different “shortage” levels can lead to different projects being selected, and different values of the objective function.

Acceptable level of contractor costs – For the collection of available projects for which a simulation can be carried out, a pattern can emerge if it is worthwhile or not to hire external contract resource.

Conclusion

Decision modeling permits us to build a rational framework for our decisions and allows us to see the impact of various inputs into the decision process on what we seek to maximize. The Microsoft EPM portfolio modeler tool should allow us to carry out “what-if” analysis and provide a strong logical basis for our managerial decision

The project process – Nature of projects

The nature of work is project based. Projects tend to fall into three broad categories:

(a) New implementations – These are completely new implementations carried out for new customers.

(b) Product Progression – These are product upgrades carried out as newer versions of software are released.

(c) Change Requests (CR) requests – These are the most numerous, and often the most complex projects. These relate to efficiency enhancing product customizations applicable often to a single client.

The decisions required

Functional Managers are constantly faced with a variety of requests from clients, each a project, and at the same time have limited resources with which to carry out these projects. The objective is to maximize total value for the company, which happens only when value adding projects are undertaken, and scheduled to best utilize staff resources.

Because of the project oriented nature of the work, the workload is not evenly spread across months in a year, and peaks and troughs in resourcing requirements are quite common. Peaks can be accommodated by hiring contract staff on an as-needed basis, and at every ‘peak’ the functional manager has to grapple with the question of whether to hire permanent staff or engage contractors

Interchangeability of skills

A key characteristic of the services we provide (i.e. implementation and product progression) is that technical skills are fairly commoditized and contractors with the right skills can be hired from the market. Because of their technical experience in other companies, the training period, if it can be called that, is extremely short, and most contractors (except the particularly bad ones!) hit the ground running when they join us. We use contractors to ride over temporary peaks in our work.

Key decisions

The key decisions facing a functional manager are as follows:

  • Given the existing staff strength and skills, what is the most effective way to schedule projects so that value addition to the company is maximized and peaks and troughs are offset against each other to the extent possible.
  • Given each project’s contribution to value, and that there will always be some skill shortages, what is the minimum level of external contract resource that we can hire.
  • Given how projects are scheduled, do we have a perpetual surplus of a particular set of established staff skills that can be shed (or alternatively, can existing staff be retrained), or a perpetual shortage that would best be covered by new hires.
  • Given the existing multi-skilled staff , how can we use one skill for one project and a different one for another – as some staff possess more than one skill set.
  • Given our functional groups (e.g. BA, PA, TA etc.) we need to be able to detect staff shortages on an overall basis as well as on a individual functional group pool.

Traditional approach to the problems

Traditionally, this problem has been using rules of thumb and intuition. For example, after running short of project management skills for six months, we will go out and hire a project manager. Hiring decisions tend to be long term in nature and are not easily reversible, and therefore are reviewed very carefully before being finalized. Project scheduling & prioritization has often happened on the basis of very limited and unstructured analysis, and is greatly influenced by whichever client are strategic for the business or shouts the loudest.

What do we know, i.e. what inputs to decision making are given?

At any point in time, when deciding upon the projects to undertake and their scheduling, we know a few things some of these are a given, and for others we have a bit of flexibility.

Using Microsoft EPM portfolio modeler should allow us to carry out a number of what-if analyses on these inputs, for example can we increase the total value add to the company if we were to hire more established staff, or if we were able to hire contractors at a cheaper rate, say from an software outsourcer in India or China.

The inputs in the decision making process are outlined below:

1. Skill requirements: A variety of skills are required for carrying out projects, and these can be classified in broadly the following non-overlapping categories.

BA = Business Analyst

TA = Technical Analyst

PA = Product Analyst

DEV = Development (programming)

QA = Quality Assurance

Archt – Software Architecture

Tech Serv = Technical Services (IT Services)

PM = Project Management

2. Staff skills: We know the skills of all existing staff, and are able to classify each one of them as belonging to one of the skill sets outlined earlier. As part of their career development, staff will move between categories, but at any given time most staff normally actively engage in only one role.

3. Client Cost for projects: This is the cost for a client for a project. The client cost is the maximum amount charged to the client for the particular project. We are able to make a reasonable estimate of the clients cost by following the CMMI approach to project estimation, building on past projects that have been carried out.

4. Estimated cost of carrying out projects: This is estimated using the time cost of the staff involved. Staff costs are known, and average around 10k per month, which includes all benefits and payroll costs. These do not tend to vary by skill, i.e., a business analyst costs about as much as a technical analyst though the actual cost of a particular staff can be expected to vary a little depending upon seniority and experience.

5. Project “profit” from the project: This equals the client cost minus the estimated cost, and is an estimate of the value added to the company by carrying out a particular project.

6. Earliest project start date: This is the earliest date that a project can start. Often this depends upon the availability and convenience for the client.

7. Latest project start date: This is the drop-dead date by which the project must begin in order to meet the required deadline.

8. Project duration: This is the total elapsed time required for completing the project.

9. Staff availability: We can also predict the availability of staff (classified by skills) over a reasonably long period, say up to an year ahead. Where we have planned headcount increases, these are forecast in the headcount budget.

10. Skill shortages, and the threshold before external resources are hired: It is possible to manage with a limited level of skill shortage as the members of a particular team make up by working a little extra, or working on a different project a few hours every week till the peak is over. If the shortage is severe and cannot be managed by existing staff, contractors are hired. It is possible to take a conscious decision on what level of shortages are acceptable and fix a threshold after which contractors are hired. High levels of shortages create staff burnout and decrease client satisfaction, and are therefore not desirable.

11. Contractor costs per month: Contractors charge on a daily rate basis, and charges go up to 2,000 per day. These vary depending upon where these contractors are hired from those any of the Big-5 cost up to 2,000k per day. Those hired from smaller consultancy companies (called body shoppers) cost as little as 600 a day. Contractors hired from Indian outsourcing companies cost lesser around 400 a day, though visa and work permit issues put limitations on how quickly and for which countries can Indian outsourcers be employed. All of these equate to a monthly cost that can vary between 11k to 25k per month (given 22 or 23 working days in a month).

Effectively, hiring contractors creates a penalty in the value function as contractors are far more expensive. At the same time, we do not charge the extra cost of employing contractors to the projects they are working on as skills are interchangeable and no project should be penalized for the staffing decisions for a particular project.

12. Staff costs per month: Staff costs, including payroll taxes, leave pay etc, average around 10k per month.

The decision problem

Given an estimate of the benefits from a project, the cost of the project, the available skills, the earliest and latest start dates for a project, what is the most efficient way to schedule projects so that value addition to the company is maximized. The objective function to maximize over a medium term period:

  • The value addition resulting from a particular scheduling of a set of projects is equal to:
    • The notional value addition from the project (i.e., client cost estimated cost)
    • Minus Cost (Penalty) for hiring contractors
    • Minus Cost of unutilized staff who are sitting on the bench for projects to arrive.

Building the model in EPM:

Recording the known inputs: Skills required

As we know the skills requirements of different projects, it is easy to record the employee with matching skills requirements in a project plan and publish it to EPM as follows:

Recording the known inputs: Skills available in EPM

By saving the project plan to the EPM project server and publish the project plan all assignments are recorded on the project server. Resources are selected from the project servers enterprise resource pool, a procedure should be in place that all resources are entered or deleted at the time of joining or leaving the company.

Recording the known inputs: Other project related information

We need to enter some additional information or extract them from the project plan, the inputs we would require are:

  • Clients cost – explained earlier
  • Project duration – in months of elapsed time, could be extracted from the project plan start and end date.
  • Earliest start – for the project, decided in discussion with the client and is a part of the project plan published to EPM.
  • Latest start – for the project, decided in discussion with the client and is a part of the project plan published to EPM.

Recording the known inputs: cost variables and other inputs

This is the part were EPM needs to be customized by adding some additional fields in the database to be used for each project published. Fields identified are:

  • For Resource Pool
  • Skill Set – the resource skill set e.g. Java, C++
  • Skill – Functional group the resource belongs to BA, TA etc.
  • For Projects
  • Client costs
  • Project profit (this might already exist)
  • Thresholds to hire external resources

Repeating the input of project in the EPM project server

Each project that we want to do an modeling exercise on has to be entered into the EPM project server as individual project plans, using a master project plan and rollup individual project plans to not work well manage each project separately in EPM.

Each project plan is define accordingly to the project delivery of CMMI, for new implementations we have followed the model:

  • Project Management/Planning
  • Requirements
  • Design & Build
  • QA
  • UAT

For project progression

  • Project Management/Planning
  • Requirements
  • Design & Build
  • QA

Each project plan should be named with the forecasting year and project name or client name, e.g. 2007-Adobe.mpp

Estimated timelines has been taken from 07-Projects-Consolidated-Master, that contains forecasted project efforts recorded in man-days and expected start date and end date of each project.

Expected outputs from the EPM Portfolio Modeler

Given the inputs as described above, we would use the EPM portfolio modeler to setup the model we need to analyze and the expected outputs would be:

  • Best possible project start dates that maximize the objective function, i.e. the value addition as defined earlier,
  • The related project schedule, i.e. the months in which each of the projects are going on,
  • The actual utilization of the skills available, and the resultant shortages (if any) or excess capacity of the staff complement.

Each of the above represents very useful information to the management – while they are not bound by the model outputs, it can certainly provide very useful information for decision making as projects are assigned to staff and months.

Example: The related project schedule, i.e. the months in which each of the projects are going on,

The analyzing modeling exercise also helps determine an optimum staffing level by revealing any perennial shortages or surpluses for a particular skill type. It can also help reveal the sensitivity of the total value added to varying levels of contractor rates, staffing levels, and varying project start dates.

Assumptions of EPM Portfolio Modeler

The following assumptions are implicit in the model:

  • Projects should complete in units of 1 month – This is not too unreasonable an assumption, and the model should be able to take care of half-months, weeks, or even days.
  • Staff are engaged in multiple projects.
  • The model should be able to the fact that some months have already elapsed, and that some projects have already begun and cannot be reversed.

Model logic – how it should work?

The output function is not only non-linear, it is also discontinuous as changing the skills availability, the earliest/latest start dates, shortage threshold for projects causes projects to be accepted/rejected/rescheduled and the total value added suddenly jumps or drops at different points along each of these dimensions.

Subject to the constraints of the earliest and latest start dates, the model should randomly select different start dates for each of the projects and calculates the value of the output function. It does this many times – and if this simulation is performed many times, it can reach quite close to the optimum solution. The number of times the simulation is performed is a user supplied variable at run time. The model should determine the maximum possible value of the output function and display the giving of a solution close to the maximum.

Sensitivity and “what-if” analysis

The most significant advantage of the modeling exercise is the ability to see what happens as we change various “known” inputs to different values.

The EPM Portfolio Modeler need to support “what-if” analysis, some identified “what-if” analysis are:

Sensitivity of maximum value addition to changes in “maximum allowable skill shortages”

Higher shortages do have a cost in terms of dissatisfied clients, project delays and overworked staff.

Sensitivity of the max value addition to changes in contractor costs

As contractors become cheaper or more expensive, the model should change the projects that are decided to be taken on, and reschedules others.

Sensitivity of the max value addition to changes in earliest and latest project start dates

What-if analysis on individual projects should be available in the EPM Project Server. As the earliest and the latest project start dates are changed, it adds flexibility in project scheduling and allows unprofitable projects to be taken up at slack times.

Staffing levels and value addition

Once an optimum portfolio of projects is determined, the staff utilisation schedule reveals whether there are any persistent long term shortages or surpluses in the staffing levels. These should be modified on the model and the impact on the total value addition seen.

Menu