Products > PSOP > Documentation

PSOP Overview

A project consists of a collection of activities, relationships between those activities, constraints on the activities, and the resources assigned to work on the activities. Resources may have limited availability. For example, if there is only one welder on staff, we would set the availability of welders to 1. If we have two activities that require the welder, a schedule where both activities occur at the same time would be over-allocated (we sometimes also say the welder resource is overloaded).

Consider the following simple example. A father and son set out to mow the grass and tidy up the path in their yard. The son is too young to use power tools so the father must do the mowing and edging. The son can tidy the path, but only after the father has done the edging around the path. Such a project might be represented in Primavera as follows:

Primavera gantt chart of Lawn project

Edging the path is expected to take 2 hours, tidying the path should take 3 hours, and cutting the lawn should take 6 hours. Since the edging must happen before the path can be tidied there is a Finish to Start relationship between the edging and tidying tasks. We have specified a project deadline of 5:00 pm.

The schedule above is what Primavera produces when schedule is clicked. This schedule requires the the lawn to be cut at the same time the path is edged. Since both tasks use the same resource (the father) and the availability of that resource is 1, this schedule is not workable and must be leveled.

If we level the project in Primavera with the default leveling options, it produces the following schedule:

P3e Leveled Lawn project

While our resources are no longer over-allocated, this is clearly not the optimal schedule; in fact, it finishes at 7:00 pm and misses our deadline of 5:00 pm. It would be better to schedule the Edge Path activity first, so that the son can tidy the path while his father is cutting the lawn.

So what went wrong? Primavera levels by sorting all tasks according to their leveling priority. By default the leveling priority is "Activity Leveling Priority", a user specified priority for each task. Since we didn't specify a priority for our tasks, Primavera simply uses the activity IDs as the priority order. Using this order Cut Lawn comes before Edge Path and Tidy Path because the tasks are simply sorted alphabetically by their ID. Thus Cut Lawn is scheduled first and placed at 8:00 am (as early as possible). The next activity scheduled is Edge Path, but it can't happen at the same time as Cut Lawn because it requires the same resource (the father). Therefore, Edge Path is delayed until 2:00 pm which in turn delays the Tidy Path activity.

What we need is a different priority order. Primavera offers several possible priority orders:

screen shot of priority options

Trying some of the more obvious sort orders, "Total Float", "Late Start", or "Early Start" doesn't work on this project either. Choosing "Early Finish" will produce the optimal schedule:



This optimal schedule finishes by 4:00 pm, 3 hours before the initial schedule Primavera produced.

Manually trying different priority orders worked on this tiny project, but isn't a good approach in general. On this three task project there are only 6 different priority orders so we can keep trying until we find one that works. However, given a relatively small 10 task project there are 3,628,800 priority orders! For a more realistic 100 task project there are over 9 x 10157 different priority orders (that's a 9 with 157 zeros after it)! Not only is it not possible to try all the different priority orders manually, it's not even possible with a computer. If you had a computer that could try one billion different priority orders per second, it would take about 3 x 10141 years (for comparison that's much, much more than the age of the universe which is only 2 x 1010 years).

What is needed a program that intelligently determines the priority orders that are most likely to improve the schedule and a computer that can try many such orders. PSOP uses On Time System's patented technology to identify the best priority orders. The result is schedules that are shorter and have less over-allocation, saving both time and money.

Additionally, PSOP offers many other advantages.