Scheduling in Primavera P6> CPM Scheduling and Critical Path Example
CPM Scheduling and Critical Path Example (15m 35s)
In this comprehensive lesson, Michael will show you the inner workings of the Critical Path Method as he walks you through scheduling an example project step by step. Learn how the Critical Path Method's forward and backwards pass calculations work and how CPM reveals your project's Critical Path. Knowing CPM Scheduling will no doubt make you a better scheduler.
Video: CPM Scheduling and Critical Path Example
This is a very simple example of a simple project schedule. I have I think it's 8 activities here, A through H. Their durations are set in blue and we have to keep things simple. I only used finish to start relationships so I have no fancy relationships in here, just finish to start to keep things very simple. Now CPM scheduling happens in two passes. Essentially, we're going to walk through the project schedule in a forward pass and what that means is we'll start at activity A and will move through the schedule to activity H, and in that forward pass, we're going to write some numbers at the bottom of each box. We’ll write in dates recalled ES and EF. Anybody know what those stand for? Think about it Ok. They stand for Early Start and Early Finish. My forward pass will calculate those early dates. They were the earliest the activity can possibly start and the earliest they can possibly finish.
So after I do that for all activities, I’m then going to walk through and do that with the backwards pass. So essentially I’ll start at the end of the project and come back in a reverse direction. And in the backwards pass, we’ll be calculating these dates. LS and LF and those are, you guessed it. Late Start and Late Finish dates. So two passes. Now after I do those two passes, I will have essentially set the dates for my schedule but then I want to do a little bit more work to understand my critical path. So what we'll do after we calculate these dates, we’ll then calculate total float for each activity and then we'll figure out what our schedule’s critical path is. Let's get started.
I want to start on a forward pass and we're going to start with Activity A which is 5 days in duration. Now, rather than talk dates, to keep things simple, we'll just talk day 1, day 2, day 3, day 4. We’ll let dates be… Primavera actually converts those numbered days into dates using calendars and whatnot. So we’ll keep it simple and use numbered days. So here I have Activity A, 5 days and the earliest you can start is on day 1. So the project starts on day 1. Now the activity is 5 days in duration so when does Activity A finish? Well if we do the math, it actually starts on day 1 so day 1, day 2, day 3 day 4. It ends at the end of day 5. Great. Now these three activities B, D, G have finish to start relationships so if we focus on Activity B, activity B is scheduled to start right after Activity A is done. And again we'll assume no lags as well.
So since this is done on day 5, this guy can start on day 6. And it's 5 days in duration and so again using the math, what we calculate is, you add these two up so 6 plus 5 is 11 but we always subtract 1 because one of those days is included in there, so it's 6 + 5 -1 finishes on day 10. Now these two guys are similar. We’ll come down and do these. These also start on day 6 because Activity A started or finished on day 5, so day 6: 6 +3 - 1 gives me day 8 and down here at 6+5-1 gives me day 10.Let's keep going. Activity B has a finish to start relationship with Activity C and Activity E. Let's focus on Activity C here first. So Activity C is supposed to start right after B is done so we can start on, you guessed it, day 11, and it's 2 days in duration. So we work day 11 and day 12 so we're finished at the end of day 12. Activity E. We have a finish to start will B and the finish to start with D. So Activity E can't start until both those are done.
So here's a question for you. Which activity are we waiting for? Well it's the activity that finishes the latest and you can tell by the durations as well. These both started on the same day. This one's 5 days, this one's 3 days. So we're waiting for B to finish. So really the relationship here, this is the driving relationship and so this Activity E can't start until day 11. It's also two days in duration so it can finish on day 12. Let's keep going. Activity F has a finish to start with Activity E so it can start the next day. Day 13. It's 1 day and duration so it's 13 + 1 but again, the math is that we always subtract 1. So we'll subtract 1 here so it actually starts in the morning of day 13 and finishes in the evening of day 13. Alright. Now Activity H is waiting on C and F as well as Activity G and once again, the question is which one is it really waiting for? So we have to pick the one with the latest finish date and it would be Activity F here that has 13 versus 12 and 10. So this will be 14 and starts in the morning of day 14. It's 1-day long. It finishes in the evening. There we go. We've done our forward pass and we've calculated our early dates, early start and early finish. Now we'll do our backwards pass.
So to start the backwards pass, what we'll do is we'll take our 14 and we'll move it up to the top so we'll just copy it up to the top. Great. Now we have to think in the reverse direction. So the thinking, the logic goes like this. If activity H ended on day 14 and it was 1 day in duration, when did it start? Well, it started also on day 14 and there's a little trick here as well. If the first two top and bottom guys match, then the other two guys have to match. So the finish dates matched and the start dates have to match so you don't even have to do the math.
Let's do F. So if Activity H started on the morning of the 14th and there's a finish to start here, when did Activity F finish? And again, it's the day before. So it finished on day 13 and once again, as I said, the little trick is, if these two match, then these two must match so there's nothing really to calculate, so we'll put 13 in here. Let's do C. So we have 14 here and it was 13 here so we can put 13 up here as well. 13. 13-2 and then we need to add 1. So this will be 12.
So let's do E. Activity F finished, sorry, Activity F started on the morning of the 13th and it turns out that this is going to be the 12th so these two match and we'll come over here and we'll do G. We have the morning of the 14th so this will be the 13th. 13-5+1 gives me 9 there. Now we have to do D and B. So D is fairly straightforward because it only depends on E. So 11, this should be 10. 10 – 3 is 7 and then we add 1. We’ll put our 8 in there. Now here we have two relationships pointing back to activity B so what we'll do is, we'll take the smaller number. In the forward direction, we would have taken the larger number. In the reverse direction, we’ll take the smaller number. So here we take the 11 and that forces this to be 10. Both these match, great.
Here's a similar situation. we've got early, sorry, late start dates of 9, 8, and 6 and once again, we need to take the smaller number in the reverse direction. So we'll take the 6. That makes this 5 and that makes Activity A late start on day 1. Getting this marker. We have now assigned early start and, sorry early dates and late dates to those activities. Now the question is, when you look at Primavera, do you actually see two sets of dates? No you don't. You usually just see one set of dates for each activity. And so which dates do we actually see in Primavera is the question I'm often asked? Well the truth is, you always normally see the, I don't say always, but I want to say you normally see the early dates. The ones at the bottom. So if you're looking at an activity in Primavera and you see a start and finish date, most of the time, it's the early dates for the activity. The early start and the early finish. And that's because those are the earliest dates, the most optimistic dates, and for the most part we’re normally working from the early dates. Now, why don't we look at the late dates? Well, instead of looking at the late dates. we look at total float. And so we'll look at an activity starts on this date, it has so many days of total float. And that's what we're going to calculate now, is total float for each activity in the schedule and I'll explain what total float gives me in just a moment.
The way to calculate total float is to subtract the early dates from the late dates. So it's the difference between the early dates and the late dates. So you can either subtract the early start from the early, from the late start or you can subtract the early finish, early finish from the late finish. It gives you this. It gives you the same results either way. So let's do the finish. 5 – 5. What is the total float for this activity? 5 – 5 =0. So this activity has 0 total float. How about activity B? 10 - 10 or 6 – 6. Well this activity also has 0 total float.
10-8 here or 8-6 both give me 2 days of total float.
13 -10 or 9 – 6. That gives me 3 days of total float Crossover.
13-12. That gives me 1 day of total float.
12-12. This gives me 0.
13-13 gives me 0 and 14-14 gives me 0.
We’ve now calculated our total floats.
Total floats are one of the ways to understand what your critical path is in the project and the way to figure out your critical path is to follow the trail where you have 0 total float. So let's have a look at what that looks like. I have Activity A has 0 total float. B, E, F and H. So what's the critical path in this project? Well if I follow that trail, I'll just draw it in. hat is my critical path for the project: the path of A, B, E, F and H. here's my critical path so we simply follow that trail of 0 total floats to figure out your project’s critical path.
Now, what does that critical path mean? I'm sure you understand this already but let's just make sure and we'll hammer it home. Any activity on my critical path. If hose activities don't start and finish on the dates that we've set, what happens? That's right, it delays the project. So let's have a look.If Activity B here didn't finish on day 10, let's say it finished 1 day later, it finished on day 11. What would the effect be? Well, because it's on my critical path, it would force Activity E to start a day later so this would be 12, this would be 13, this would be 14, and this would be 15. So if one activity on that critical path is late, it causes this ripple effect which causes the last activity to be late or the end of the project to be delayed. And it's the same thing if things are actually accomplished early, right. So if any of the activities on my critical paths are accomplished early, then the project will be finishing early. That's why we want to focus on that critical path. It's the path and the key activities in the project that really determine the project’s end date.Alright. What is total float then?
What does it mean if I have an activity with 1 day here of total float? What does it mean? Well, it means that this activity has 1 day of give, let's call it that. It can actually start on day 11 at the earliest but it could finish a day late. So we could start on the 11th and finish on the 13th and there would be no ripple effect.
It could also start 1 day later. It could start on the 12th and finish on the 13th and again, no ripple effect. So that's what float means. We have some leniency. We have a little bit of flexibility, 1 day of flexibility in that particular activity. Now, if we don't finish by the late finish, if we finish on day 14, well that's going to cause me to adjust my critical path. This critical path will now change and it will again delay the project. So when we have activities with small amounts of float, that's not a lot of float so we often want to focus on those ones as well.
There you have it. That's my example for you. This is the whiteboard session on CPM scheduling. In the next video, we're going to take these concepts and put them right into Primavera so you'll understand how this concept, the concept of scheduling works inside the tool. Check us out in the next video.