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.mpp.mpp223 KB Constraint Based Scheduling - Completed.mpp.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 little bit about why to use Microsoft Project.
- 00:13 Well, Microsoft Project uses what's called a constraint-based scheduling engine.
- 00:18 And this is what makes Project unique over other tools like Microsoft Excel.
- 00:24 And I'm going to show you what that constraint-based scheduling engine
- 00:27 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 to purchase a new car.
- 00:39 So let's go ahead and
- 00:42 type in a few task names.
- 00:51 With these tasks entered, you can see that now I can enter a duration,
- 00:56 a start date, and a finish date, and predecessors but
- 00:59 there's not really much going on right now.
- 01:02 Well, first of all,
- 01:04 Microsoft Project starts in what's called a manual scheduling mode.
- 01:08 You can see that down here at the bottom of the screen,
- 01:11 new tasks are manually scheduled.
- 01:13 What we're going to do is use auto-scheduling mode and
- 01:16 this is where the power of Microsoft Project comes in.
- 01:19 So I'm just going to go ahead and change this test to Auto Scheduled.
- 01:23 And then just click this little tick mark here at the bottom right of that drop down
- 01:28 and choose Auto Scheduling for the rest of the tasks.
- 01:31 Well, you can see this is a Gantt chart that shows up on the right-hand side.
- 01:36 The Gantt chart is a visual representation of the project based on
- 01:40 the number of days that each task will take.
- 01:43 So let's go ahead and add some durations to these tasks.
- 01:49 By default, Project puts in one day with a question mark and
- 01:52 that question mark just says, you haven't estimated this yet.
- 01:56 You haven't decided how long it will take.
- 01:59 Well, I do want this one to take one day.
- 02:02 So just type 1d, then I'll type 5d for
- 02:07 days, 2d for days, and 1d for days.
- 02:12 Now, I have a project schedule.
- 02:14 Now, what's interesting about this project schedule here,
- 02:18 let's draw our attention here to this 5-day task.
- 02:21 You can see that it starts on Tuesday but finishes on Monday.
- 02:27 Well, why is it that a 5-day task is taking longer?
- 02:31 Well, this is the first type of constraint-based scheduling that Project
- 02:36 uses and that's based on a calendar.
- 02:38 So Project by default assumes that you're not working Saturday and Sunday.
- 02:43 So this task, while it's showing blue over here in the Gantt chart, it's really
- 02:48 just saying I'm skipping over those two days and finishing it on Monday for you.
- 02:52 You can override this with various scheduling options and
- 02:56 we'll talk more about that in future lessons.
- 02:58 So at this point, you might be thinking, okay,
- 03:01 well if there's a calendar constraint that's nice.
- 03:04 But what about trying to figure out how long this whole project is going to take?
- 03:09 Because right now everything's starting at the same time.
- 03:11 So what you can do is use a column called the Predecessors, and
- 03:15 there's actually, another column called Successors.
- 03:19 And I'll just go ahead and insert that column by right clicking on a column name,
- 03:24 and choosing Insert Column, and typing Successors.
- 03:30 What you'll notice once I start doing a Predecessor,
- 03:33 the Successor column will start filling in accordingly.
- 03:37 Now, what let's watch what happens here.
- 03:39 Here's task number two.
- 03:41 It cannot happen until after I've done some research.
- 03:45 So I'll go ahead and type 1.
- 03:47 And what I'm going to do is link task 2 to task 1, and press Enter.
- 03:52 Now, look over here on the Gantt chart, and you can see My Tasks got pushed out.
- 03:56 And these blue highlights on this Start and
- 03:59 Finish is Project telling you that the dates have changed.
- 04:04 Now I'll go ahead again, and type 2 and 3, and
- 04:08 now I have a project schedule where Microsoft Project
- 04:13 helped to calculate the dates for me.
- 04:16 And this is what we call relationship constraints.
- 04:20 Another way Microsoft Project's scheduling engine uses constraints is with resources.
- 04:26 Now, with Resources,
- 04:28 you have a lot of options to turn certain features on or off.
- 04:32 But let's go ahead and just do something simple.
- 04:35 So I can show you the point.
- 04:38 Click the View tab, and click Resource Sheet and
- 04:41 I'm just going to add two resources.
- 04:44 I'll type in me, my wife.
- 04:47 Now, I'm going to type sorry, select Gantt chart.
- 04:50 So now let's go and look at this 5 day task.
- 04:54 I'm going to add me and it's still five days.
- 05:01 But now what happens if I add my wife?
- 05:03 Well, Project is saying, hey, you know what?
- 05:06 It may be the case that you want to reduce the duration because you have
- 05:10 two people doing the work.
- 05:12 And if that is the case, I can select that.
- 05:14 And the tasks will change it to 2.5 days.
- 05:17 You can see this blue highlighting is showing that it automatically adjusted
- 05:22 other dates in the project.
- 05:23 So that's a basic overview of Microsoft Project scheduling engine.
- 05:27 Of course, there's a lot more to it and there's a lot of features that we
- 05:32 can turn on and off to control how Microsoft Project calculates dates.
- 05:36 But what we talked about are the three primary constraint types.
- 05:40 One are dates based on a calendar,
- 05:43 another is predecessor and successor relationships.
- 05:47 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.