You are on page 1of 19

What is an S-Curve?

For those of you who are new to the topic, an S-Curve is a simple graph that plots costs, hours,
units or other values (depending on the subject matter) over time. They are popular in Project
Management because they give managers a quick and easy-to-understand view of cumulative
budget, actual and remaining values over the project lifecycle. The term S-Curve denotes the
tendency of the lines to form a shallow S shape; flatter at the start, steeper in the middle and
flattening off again towards the end. This shape is very typical of most projects as the effort
ramps up in the beginning periods, stabilizes during the main execution phase and then starts to
wind down again towards the Projects completion.

Primavera P6 Professional can display and publish S-Curves as part of its standard functionality.
You can generate S-Curves in the Resource Usage Profile bottom layout in the Activities view, and
also in the Resource Profile area of the Tracking view.
The S-Curves in the Resource Usage Profile Bottom Layout
When you first open the Resource Usage Profile it displays a histogram of usage for the selected
resource. This histogram is based upon period values as dictated by the timescale setting. So if
your timescale bottom tier is displaying weeks, then the histogram bars will be a summary of the
total labor units for that week; assuming youre displaying a labor resource.
S-Curves however, are built upon cumulative data. The line rises each week to reflect the
accumulation of labor hours over time. In Primavera P6 the Resource Usage Histogram is set to
display the current period bars by default. To change this default you need to do the following:
Right-click in the chart area of the Resource Usage Profile area and in the resulting menu, choose
the Resource Usage Profile Options item.

In the resulting Options dialog, you can deselect the By Date options in the Show Bars/Curves
group, and select the Cumulative options as shown below. You can also change the colors of the
Budget and Actual options using the adjacent Color buttons.

Click the Apply button to see the results of your changes. It should appear similar to the following in the Resource Usage Profile
area.

What are these S-Curve lines telling us about the project?


In the above example you can see that the Budget Units and Remaining Early Units lines are
slightly different for the selected resource. The Early Remaining Units line is below the Budget
Units line. This indicates that the remaining work for this resource is predicted to cost less in
hours than originally budgeted.

The underlying activities are Physical % Complete types, and show that, compared to the
original plan, the work is going faster than expected. Because Physical % Complete type
has been used on the activities, the scheduler has been able to manually adjust the
remaining duration to reflect a more realistic amount of time to complete the work; in this
case, less time than planned.
However, if you look at the blue Actual Units line, the resource is overspending
compared to the original plan. The blue line is well above the orange budget line. This
indicates that more hours are being spent on the current activities than planned. This
suggests the work is time-critical and is being managed accordingly.
The predicted Remaining Durations have been reduced on the in-progress activities. This
has caused the green Remaining Early Units line to drop below the budget, indicating
that the upfront overspending is having the desired affect and the work will likely
complete early; assuming this trend continues.
Viewing an Aggregated S-Curve
When selecting individual resources, the Resource Usage Profile shows us what is
happening for that particular resource on the project. It doesnt tell us much about the
project as a whole. While one resource may be very productive and showing very
favorable S-Curves, others may be not. To better understand the status of the project, we
need to see an aggregated S-Curve of all resources working on the project.
By holding the Ctrl key down, you can select multiple resources assigned to the project.
With each resource you add to the selection, the S-Curve becomes a summary of those
selected resources.

Tracking View
Another way to show an aggregated S-Curve is to use the Tracking view. In this view you can
show an Aggregated S-Curve based upon a grouping of resources, without having to select each
resource. For example, you could group by Resource Type, and then select the Labor grouping
band in the Resource list area in the tracking view.

The S-Curve will represent all the labor resources for the current project (the project currently
open), assuming you set the list filter to Current Projects Resources.
The result would appear similar to the following:

Printing the S-Curves


Once you have the S-Curves displaying as you want in the Tracking view, or indeed in the
Activities view; click on the File menu and choose Print Preview.
In the Print Preview dialog, select Options tab. In here you need to uncheck the Activity Table and
Gantt Chart Options. Then select the Profile option.
The S-Curves will appear on the page and you can simply print from here.

You can also save these Print Preview settings in the Layout of the Tracking View or the Layout in
the Activities view.
Summary
So there you have it; some simple instructions to get you started with plotting S-Curves in
Primavera P6 Professional. You can continue to experiment with the Resource Profile options
dialog to fine-tune the S-Curves.
For example, see if you can create a plot that compares the remaining early and remaining late
units in the project. Remember that all the Resource Usage Profile settings can be saved to a
layout in either the Tracking view or the Activities view. This will allow you to open and report
these S-Curves whenever you need them.

The Value of Milestones in Project Scheduling


Lets assume you have your project mapped out! You have your list of deliverables and you know
the activities required to produce those deliverables. Is there something missing? Like a hiking
trail with markers telling you definitively where you are on the trail wouldnt it be helpful to have
markers in your project schedule telling you exactly where you are in your schedule? Thus enters

the value of milestones.


Milestones

Milestones are like major trail markers you can insert in your schedule. They help you locate
exactly where you are in your project. A Work Breakdown Structure (WBS) is useful because it
organizes the project deliverables in a hierarchy with systems at one level and then components
at lower levels. Once your work breakdown structure is in place then you are ready to consider
the activities required to produce those deliverables. Your schedule then becomes a list of WBS
elements or deliverables and the associated activities or tasks required to make those deliverables.
In scheduling software, such as Microsoft Project, the WBS elements or deliverables are known as
summary tasks. And the associated deliverable producing tasks are listed below each summary
task and indented to show their relationship.
Once you complete all the activities associated with your deliverable you know you have
completed a portion of your project. Keep track of the completion of all your deliverables and you
know roughly how far along you are in your project. But wouldnt it be nice to have larger markers
in your schedule.
Markers to tell you are at the trailhead, the beginning of a project, or you are entering the design
phase of the project. Or, perhaps, your project has reached a substantial completion marker
where you can begin to consider quality assurance, product delivery, and, possibly, project
closeout. These can all be done with the convention known as milestones.
Milestones are unique activities in the schedule because they have no duration; they consume no
time. They also do not consume resources, so they have no resource assignments. They do,
however, have relationship assignments like most other activities. So they are well connected to
the activities in a schedule. And the schedule leads through the milestones the way a hiking trail
goes through the trail markers. They also have a status, where they are either not started or
completed.
Their definitive not-started/completed states are because they, again, have no duration. They are,
however, more than just switches in a circuit. They are guideposts telling you where you are or
have been. Primavera P6 milestones, in particular, describe whether you are at the start of a phase
with its start-milestone or completion of a phase with its finish-milestone.
With this knowledge of knowing where you are and/or are going you can dive down deeper into

the nuances of your schedule map and look at the activities that are producing
the deliverables.
Primavera P6 Milestone Example

Lets take a look at a sample schedule with the most basic milestones. Here we
have displayed in Figure 1 a complete Primavera P6 schedule.

Figure 1

The milestones on the Gantt chart are represented by black diamonds. Notice first in this
schedule that the milestones are grouped together with all the high level activities. Milestones
may be spread throughout the schedule or grouped together. It is helpful, particularly for large
projects to group the milestones together. And you can follow the relationship lines to the
activities the milestones are pointing to. In our demonstration schedule we have two milestones
that occur at the same time and together signify permission to commence the project and the
project start.
Project start is connected to both the project management activity, which is a level of effort
activity, and the first occurring activity Drain Piping System that is one of two activities
producing the Demolition Piping WBS element, i.e. deliverable. If you follow the schedule
relationships you will eventually come to the last activity required to produce the Quality
Assurance WBS element. This is connected to the Close Project finish-milestone activity in a
Finish-to-Finish relationship. Last of all Close Project is connected to the Project Management
activity in a Finish-to-Finish relationship.
The milestones in this schedule help to highlight the beginning stages of the project and the
closing stages. In larger projects milestones would help to mark the different phases of the
project schedule.
In larger more complex schedules, it is common practice to place all the major milestones at the
top of the schedule. They are then linked using relationships to their driving activities further
down in the details of the critical path. This provides an easy view of where you are in the project
without having to drill down in to the details of the schedule to find you key milestones.
Summary
A milestone activity with no duration and no resource assignments, nevertheless, serves a pivotal
role as the schedule guidepost markers. Milestones may signify the start of the project or phase
like design phase, structural phase, quality assurance phase, or closeout phase. They tell you
where youve been or where you are going. They point to the activities that produce the
deliverables.

Grouped together they can help you find your place in large project schedules. Capable of the
same relationship assignments as other types of activities they are intricately linked into the
mechanism of the schedule. Milestones are of great value to the proficient project manager and
scheduler.

Primavera P6 Displaying Two Baselines on the Gantt Chart


Suppose you wanted to display two baselines on the Gantt chart: one baseline for measuring
progress since the commencement of the project and another baseline for measuring the current
months progress. Heres how you can do this in Primavera P6.
This article describes how to create, assign, and display up to two baselines on the Gantt chart in
Primavera P6.
In Primavera P6 you can create and assign a project baseline and up to three user baselines. The
project baseline is normally the baseline set at the beginning of the project, and should fall under
some kind of formal change management control process.
The other baselines are user baselines for more ad-hoc tracking of the project. For instance you
may want the user baseline to help you measure schedule progress for the current month. You
can also display two baselines on the Gantt chart. You could display one baseline for measuring
progress since the beginning of the project and display another baseline for measuring progress
for the current month.
The first step in the process is to create the baselines. This is done in Project | Maintain Baselines
dialog. Click the + Add button to create a new baseline. The Add New Baseline dialog will appear
and ask what would you like to do? You want to save a copy of the current project as a new
baseline. In our demonstration we have already created two baselines, Figure 1.

Figure 1
The first, Wellmont Substation B1, was created at the commencement of our schedule, January
5th. We highlight Wellmont Substation B1 in Figure 1 and note the Data Date of 05-Jan-2015. The
second, Wellmont Substation B2, was created after one month into the project. Again, we
highlight Wellmont Sustation B2 in Figure 2 and note the Data Date of 02-Feb-2015

Figure
2
Also, note the Baseline Type of Wellmont Substation B2 is set to Monthly Snapshot. If you do not have this Baseline Type
go to Admin | Admin Categories. Select Baseline Types in the Admin Categories dialog. Click + Add and Primavera P6 will
create a new baseline type, which you can name Monthly Snapshot.
Now we want to assign our baselines. To assign baselines select Project | Assign Baselines. In the Assign Baselines
dialog, Figure 3, we set the Project Baseline to Wellmont Substation B1, set the Primary Baseline to Wellmont Substation
B1, and set the Secondary Baseline to Wellmont Substation B2.

Figure 3
Great! We created our baselines and now they are assigned.
The next step is to create and/or set up Gantt chart bars for our baselines. Select View | Bars. You should already have a
Gantt chart bar labeled Primary Baseline. Toggle the Display on for this bar, Figure 4.

Fig
ure 4
In the bottom frame of the Bars dialog select the Bar Style tab. Adjust the shape of the Primary Baseline Bar, as
appropriate. Also, in the Bar Style tab set the Row to 3. So our Primary Baseline that is equivalent to the Project Baseline
will be displayed on Row 3, the bottom row.

Lets now create a new Bar for our Secondary Baseline. In the Bars dialog select + Add. This creates a new Bar, which you
can name Secondary Baseline, Figure 5.

Figure 5
Set the Timescale to Secondary Baseline. Set the filter to Normal. In the bottom frame Bar Style tab adjust the shape,
accordingly. Choose an appropriate color, such as orange. Last set the Row to 2. Your Secondary Baseline Bar definition
should look similar to Figure 5. If so, select OK.
At this point you still may not see two baselines on your Gantt chart. To rectify this situation select View | Table Font and
Row. In the Table, Font and Row dialog toggle off the Keep Current Row Heights option, Figure 6.

Figure 6
Toggle Select height for all rows. Increase the row height to, say, 30.
Your Gantt chart should now look similar to Figure 7.

Figure 7
The orange bars represent the Secondary Baseline on Row 2. This baseline will measure progress
since February 2nd, 2015. The yellow bars are the Primary Baseline displayed on Row 3, and
measure progress since project inception, January 5 th. Now you can see your project progress
since the beginning in January. And you are all set to measure progress for the month of

February.
Summary
Several Bars may be displayed on the Gantt chart enabling you to show at least two baselines.
This allows you to, for example, track schedule progress since project inception and, additionally,
progress for the current month.
The basic steps to displaying Gantt chart baseline bars is to create the baselines, assign them,
and then define a unique Bar for each baseline. In your Bars definition it is important to set the
appropriate Row number. Also, if all the defined Bars are still not appearing you may have to
increase the row height using the Table Font and Row feature. By adjusting the shape of the Bars
in the Bar Style tab you can, possibly, display two Bars per Row. You may have to experiment with
the Bar Style shape and Row number definition to get the Gantt chart to appear the way you want
it to.

Start to Finish Relationships to use them, or not?


Of the four standard activity relationship types you can define in most half decent scheduling tools, the Start to Finish
relationship is the least used, but the one responsible for most of the puzzled looks I get when training new schedulers.
Admittedly in my 25 years of working with schedules on various systems, Ive used the Start to Finish relationship
precisely zero times; until this week that is.
In this article Im going to take a look at this peculiar Start to Finish relationship type and share some thoughts on whether
to use it or not.

Definition
For those not familiar with the Start to Finish or SF relationship type, heres the textbook definition, plucked directly from
our very own P6 Professional training manual:

The first question is Under what circumstances might one need to model a situation where something cannot finish until
something else starts? Ive asked dozens of schedulers that question over the years and have never found a really good
actual live-use example where this relationship is being used. If you have one, Id love to hear from you.
Moreover, Ive seen scheduling guidelines that actively discourage the use of SF relationships, largely because few
consumers of schedule output truly understand what the scheduler is trying to model. The best written example Ive seen
recently is in a book by Daniel L. Williams, PhD and Elaine Britt Krazer, PMP called Oracle Primavera P6 Version 8: Project
and Portfolio Management.

We [Ten Six] reviewed this book a couple of years back and thats when I found the following
example for using a Start to Finish relationship:
Imagine that you are building a facility in an area that has no power transmission lines. Activity B
can be: run a generator to power up site X. Activity A can be: turning on a power line to the site,
which is being built while the rest of the project progresses. B must continue as long as A has not
started. It is not necessary that B finish once A starts, but it is allowed to finish once A starts.
Making such a link between these two example activities is easy enough. And indeed here it is, as
performed in Primavera P6 Professional. The following figure shows the Start to Finish link on the
A and B example. Note how making the link and then scheduling didnt move activity A. B cant
finish until A starts, and A doesnt yet have a predecessor so its just sitting on the Data Date.

I think further confusion comes when thinking about SF linked activities in context with other
preceding or succeeding activities. It can be hard to grasp what a Start to Finish link is buying us
in terms of how the critical path will be affected and how these predecessors and successors will
be impacted. And my research uncovered no practical discussions of SF relationships in the
context of a true scheduling situation.
In the previous figure you can see that in isolation, the link hasnt moved anything. For now, both
the activities are sitting back on the Data Date because they have no other predecessors. Weve
told P6 that the Generator cannot be stopped until the power line goes live. Nothing has been

moved when the schedule was calculated because activity A is not dependent on the longer
duration activity B. Quite the opposite in fact, activity Bs completion is entirely dependent on the
start of power being turned on in the lines.
So lets explore that situation first.
In order to power up the lines, there must be some effort to get the cable run from the power grid
to the site. So this would precede the Turn on Power Line to Site activity. So lets say it will take 25
days to run the cable out to the site, so we add Run Power Lines from Grid activity to the
scenario.

Lets now make the Run Power Lines activity a Finish to Start predecessor of Turn on Power
Lines and watch what happens.

Now what do we have? Thats interesting; the Turn on Power activity has dragged the Run
Generator activity out the extra 5 days. The Start to Finish relationship is pulling on its
predecessor. What is also interesting is that if you look at the Total Float value for the Run
Generator activity, it only shows 2 days.

Why only two days? Didnt it just slip 5 days further out from the current Data Date?
To answer that question we have to go under the hood and look at a sample of the forward and backward pass process on
our Start to Finish activity. The following network diagram helps us to see whats going on during this process at least
somewhat.

Because B Run Generator cant finish until A Turn on Power Lines starts, the normal Finish to Start process changes.
During the forward pass, the finish date for B gets set equal to the start date of A then Bs duration is subtracted (26
20) to get an early start date of 1/6. On the backward pass, the late finish date of A is applied to the late finish of B (1/27).
Now you might be wondering why B is apparently showing a 2 day float on the late dates, but a 3 day float on the early
dates (the delta between the early and late dates is the total float). Its because As SF relationship has pulled activity Bs
end date to the beginning of the shift on 1/26. Its easier to show you than explain it, so take a look at the schedule when
zoomed in to Day/Hours.

Look how activity Bs end date has been dragged across the non-work period (grey area) to give it an early finish date of
1/26, and then its late finish date of 1/27 has been calculated to equal As late finish date. So you have ended up with an
apparent extra day on activity B because its finishing at the very start of the following day, so the backward pass has
subtracted the delta of activity Bs the early and late dates (1 day) from the duration and takes only 19 days from the finish
date an early start date of 1/8. In short its a date vs. duration issue that the backward pass has compensated for. A final
observation that you might note here, is that the earliest we may turn off the generator is at the very beginning of 1/26, and
the latest is end of the working day on 1/27. If activity is turned off any later than that, it will in this example become
critical. The float of activity B then, is always equal to the duration of its SF predecessor A.

Moving on

Ok, pass the Excedrin and enough of this backward number-crunching stuff. It just makes me glad I was borne in the
computer age. Imagine doing this stuff manually like they did in the project rooms of yesteryear. Indeed I wonder if they
used SF at all. All we need to know these days is that Primavera P6 is doing it right.
So what has all this bought us in terms of our power lines and generator scenario?
If the power line guys are really dragging and the planned finish date starts slipping, you are going to see increases in the
at complete duration of the Run Generator activity and variance on its finish date if a baseline has been taken. But as for a
compelling reason to use Start to Finish, Im still not there.

Technically it is correct. But what it buys us, versus the headache we get trying to figure out how
it affects the critical path is questionable. I could just make Run Generator a Level of Effort (LOE)
activity in P6. That seems to sit better because running a generator isnt a deliverable; its an
ongoing thing and exemplifies the purpose of an LOE activity. I could then have tied this LOE to
the back of the Turn on Power lines activity with a nice, simple, Finish to Finish relationship.

When the power lines go live, we kill the generator and the LOE finishes. If the Turn on Power
Lines activity gets delayed, the LOE would just stretch out with it. I would also have the benefit of
not having to compute Run Generators percent complete with every status cycle because P6
does that for me with LOE activities during the schedule calculation process. See above; delayed
power lines activity with status and an FF link to LOE Run Generator activity.
Exploiting Start to Finish in P6
I did find one use for the SF relationship this week. Its not proper use of the SF as it was
intended, but it served a purpose.
I was planning a large number of long duration training delivery tasks that represented many one
day classes over a period of weeks. The training was for two different business groups, one of
which needed to finish before the other.
This was part of a huge estimating schedule, and I didnt have time to create a detailed plan of every one of the many
courses. Therefore rather than create two consecutive activities for every class and group, and then tie a finish milestone
to the back of each one, I simply used a SF relationship and then put a lag on it. I used a SF relationship because the
milestone was a finish milestone. In P6 finish milestones dont allow start to start relationships, so it was either a choice of
use the FF with a negative lag (generally considered not good practice) or use the SF with a positive lag. I thus took the
path that seemed most compliant with the generally accepted scheduling best practice guidelines. It kept a lot of
unnecessary detail out of the schedule, but still gave a provable date of completion that would slip appropriately if the
start of the training got delayed.

Summary and Conclusions


Most examples of start to finish relationships always seem to refer to non-deliverable type activities. The one I see most is
shift B cannot finish until shift A starts. I think that is why most examples for SF use dont convince me that you every
really need this type of link. Shift changes and even running generators are ongoing, non-deliverable items. They dont
really represent activity in the true sense of building a project deliverable. There is almost always an easier and more
understandable way to model what SF is supposed to be modeling, particularly when using a tool as flexible as Primavera
P6. Furthermore the one example I just cited is pretty pathetic too because I was exploiting the SF relationship in order to
link to a finish milestone and not for its designed purpose whatever the heck that might be.
Now I know someone out there must be using start to finish relationships on a real project, and have a great reason for
doing so. If that someone is you, Id love to hear all the gory details about the how and why, with screenshots if possible.
It would make the topic of a fascinating follow up blog for sure. And Im sure the entire scheduling community would be
delighted to see this relationship in action.
I had hoped that by researching an article on the topic of this obscure relationship, I would uncover some compelling
situations where it can and should be used. Sadly it did not. While I understand what its doing from a technical
standpoint, 25 years of schedule building and the research for this article have got me no closer to finding a really good
and practical application.
It almost seems like Start to finish linking is an unpleasant little prank we schedulers might exact on some poor
unsuspecting recipient of our output. Complexity for the sake of complexity? My conclusion as to the use it, or not
question is; unless you really understand it, and are certain your audience also understands it, dont use it.
After the hours spent studying and testing this relationship type, I better understand why many scheduling guideline
dissuade schedulers from its use. Its just too darn confusing. After all, a schedule is an important communication tool. It
therefore behooves us schedulers to make sure everyone can understand what we are saying.

You might also like