Locked lesson.
About this lesson
The scheduling engine calculates dates for you based on constraints you place on tasks and resources.
Lesson versions
Multiple versions of this lesson are available, choose the appropriate version for you:
2013, 2019/365.
Exercise files
Download this lesson’s related exercise files.
Constraint Based Scheduling.mpp223 KB Constraint Based Scheduling - Completed.mpp
243.5 KB
Quick reference
Constraint Based Scheduling
Microsoft Project has a scheduling engine. The scheduling engine calculates dates for you based on constraints you place on tasks and resources. It is this scheduling engine capability that makes Microsoft Project so much better than just using task lists in Excel because you do not have to re-calculate your entire project’s completion date when just a few other tasks change.
Further Discussion
Here are the types of primary types of constraints you will use on your project:
- Predecessor/successor: You link tasks together, and Microsoft Project will calculate the start and finish dates for you.
- Calendars: You define working time and non-working time, and Microsoft Project will extend or contract the dates based on the calendar definition.
- Resources: You define how much time each resource can work on a project and Microsoft Project will extend, contract dates based on your entry. Alternatively, Microsoft can just warn you of resource over allocations and you can adjust those issues manually.
There is one more type of constraint and that is the feature that Microsoft Project calls constraint type.
- You use constraint types when you want to force tasks to start or finish at a particular time.
I do not cover constraint types in this lesson as I cover it in another lesson and --more importantly -- I do not recommend you use them. When you use constraint types, you are forcing tasks into working with certain dates and Microsoft Project should really be calculating that for you.
Steps
To work with constraints, try performing some of these steps:
- Start a blank project and create a few tasks.
- Link the tasks together with predecessor relationships (you can use the successor column as well).
- Add a duration to each task.
- Add resources to each task.
There is no need to manually constrain tasks to certain dates because the scheduling engine will do that work for you.
Login to download- 00:04 So far, I have talked quite a bit about how to use Microsoft Project.
- 00:09 Now, let's talk a little bit about why to use Microsoft Project.
- 00:12 Well, Microsoft Project uses what's called a constraint based scheduling engine.
- 00:19 And this is what makes Project unique over other tools like Microsoft Excel.
- 00:25 And I'm gonna show you what that constraint based
- 00:27 scheduling engine looks like.
- 00:28 First, I'm going to create a brand new, blank project.
- 00:32 And we're going to just quickly create a very simple project,
- 00:37 to purchase a new car.
- 00:39 So let’s go ahead and type in a few task names.
- 01:00 With these tasks entered, you can see that now I can enter a duration.
- 01:05 There's a start date and a finish date and predecessors, but
- 01:09 there's not really much going on right now.
- 01:12 Well, first of all,
- 01:13 Microsoft Project starts in what's called a manual scheduling mode.
- 01:17 You can see that down here at the bottom of the screen.
- 01:20 New tasks are manually scheduled.
- 01:21 What we're gonna do is use auto scheduling mode and
- 01:25 this is where the power of Microsoft Project comes in.
- 01:29 So I'm just gonna go ahead and change this task to auto scheduled and
- 01:32 then just click this little tick mark here at the bottom right of that drop down,
- 01:37 and choose auto scheduling for the rest of the tasks.
- 01:41 What you can see is there's a Gantt Chart that shows up on the right hand side.
- 01:45 The Gantt Chart is a visual representation of the project,
- 01:49 based on the number of days that each task will take.
- 01:53 So, let's go ahead and add some durations to these tasks.
- 01:58 By default, Project puts in one day with a question mark, and that question mark just
- 02:03 says you haven't estimated this yet, you haven't decided how long it will take.
- 02:09 Well I do want this one to take one day, so
- 02:11 I'll just type 1D, then I'll type 5D for days.
- 02:17 2D for days, and 1D for days.
- 02:21 Now I have a project schedule.
- 02:23 Now what's interesting about this project schedule here,
- 02:26 let's draw our attention here to this five day task.
- 02:31 You can see that it starts on Tuesday, but finishes on Monday.
- 02:36 Well why is it that a five day task is taking longer?
- 02:40 Well this is the first type of constraint based scheduling that project uses, and
- 02:45 that's based on a calendar.
- 02:47 So project by default assumes that you're not working Saturday and Sunday.
- 02:52 So this task, while it's showing blue over here in the Gantt chart, it's really just
- 02:57 saying I'm skipping over those two days and finishing it on Monday for you.
- 03:02 You can override this with various scheduling options.
- 03:05 And we'll talk more about that in future lessons.
- 03:07 So at this point you might be thinking,
- 03:09 okay well if there's a calendar constraint, that's nice.
- 03:13 But, you know,
- 03:14 what about trying to figure out how long this whole project's gonna take?
- 03:18 Cuz right now everything's starting at the same time.
- 03:21 So what you can do is use a column called the predecessors.
- 03:25 And there's actually another column called successors, and I'll just go ahead and
- 03:29 insert that column by right clicking on a column name, and
- 03:32 choosing Insert Column and typing successors.
- 03:39 What you'll notice once I start doing a predecessor,
- 03:42 the successor column will start filling in accordingly.
- 03:46 Now, what, let's watch what happens here.
- 03:49 Here is test number 2.
- 03:50 It cannot happen until after I've done some research.
- 03:54 So I'll go ahead and type 1.
- 03:55 And what I'm gonna do is link task 2 to task 1, and press enter.
- 04:01 Now look over here on the Gantt chart and you can see, my task got pushed out.
- 04:06 And these blue highlights on the start and
- 04:08 finish is Project telling you that the dates have changed.
- 04:13 And I'll go ahead again, and type 2 and 3, and now I have
- 04:20 a project schedule where Microsoft Project helped to calculate the dates for me.
- 04:26 And this is what we call relationship constraints.
- 04:29 Another way Microsoft Project's scheduling engine uses constraints is with resources.
- 04:36 Now with resources you have a lot of options to turn certain features
- 04:40 on or off.
- 04:41 But let's go ahead and just do something simple so I can show you the point.
- 04:45 Click the View tab, and click Resource Sheet,
- 04:48 and I'm just gonna add, two resources.
- 04:51 I'll type in Me, My Wife.
- 04:56 Now I'm going to type, sorry select Gantt chart.
- 05:00 And over here we're going to add to this five day task, me.
- 05:05 Let's just say that I thought it was just going to be me doing the test driving.
- 05:10 So you can see the task is still at five days.
- 05:12 Now watch what happens to the task when I choose my wife.
- 05:17 The task just split in half to two and a half days.
- 05:20 And it changed the duration of the overall project.
- 05:23 And I can see how that 2.5 days affected the start and finish date
- 05:29 of a number of different tasks, by way of their highlighting in that blue color.
- 05:33 So that's a basic overview of Microsoft Project's scheduling engine.
- 05:37 Of course there's a lot more to it and there's a lot of features that we can turn
- 05:41 on and off to control how Microsoft Project calculates dates.
- 05:46 But what we talked about are the three primary constraint types.
- 05:50 One are dates, based on a calendar.
- 05:53 Another is, predecessor and successor relationships.
- 05:57 And finally, we can use resources to further constrain dates on a project.
Lesson notes are only available for subscribers.
PMI, PMP, CAPM and PMBOK are registered marks of the Project Management Institute, Inc.