Leveraging Task Dependencies and Intelligent Scheduling

Leveraging Task Dependencies and Intelligent Scheduling
Questions about this training? We've got answers! Post your questions here.

Audience

Project managers and project schedulers

Description

If you have been using Excel to manage projects and want to learn how to leverage task dependencies, then this training is for you. Project tasks have relationships and Project Insight’s intelligent scheduling allows project managers to easily shift project schedules with just a couple of clicks. We cover more advanced scheduling features as well.

Benefits

  • Learn how to add task dependencies to your project
  • Benefit from leveraging the intelligent scheduling to automatically update the project
  • Know when to use constraints, auto-reschedule and other advanced features

Key Points


Transcript

Intelligent scheduling is a core component of Project Insight and is one of the features that can make a project manager’s life easier.

For example, if your project start date gets delayed by two weeks, you don’t have to go through and update every task individually and shift its start date by two weeks. All you need to do is change the project start date and all the task start and end dates will be updated automatically.

So leveraging task dependencies and intelligent scheduling can save you a lot of time and effort when you’re managing your projects.

Different Ways to Set Up Task Dependencies

There are several ways to set up task predecessors and successors in your projects.

Inline Editing

The first way is with inline editing. You can use inline editing to update your project tasks which means you can edit it right on the form that you are on, without having to go open multiple forms.

What you are seeing now is a list of all the active projects you have in Project Insight. Go ahead and add a new project.

Hover on the Add icon and select Project.

The Project Add/Edit form appears.

More details about this form is covered in the Build Your First Project training, so for this session you will enter the main details.

Enter in the project name such as Develop New Company Website.

Leave the rest of the information and scroll down to the Scheduled Start Date.

This field is an important data element that is used in the intelligent scheduling. It can affect the start date of your tasks depending on how your project is set up.

As you can see, it defaults to the today’s date.

That’s fine, you can leave that as the Scheduled Start Date for now.

Hover on Save and click the Save and Display Project option.

Your project is created and has a blank task list.

You can enter in the details for this project with the inline editing.

Just click in the name and start typing the first task name details, such as Determine Requirements. Tab over and input the duration as 10 days.

Tab over again and leave the work hours set as the default, which is 80 hours.

Click Save.

You will see that although you did not enter in a start date for the task, the first task start date is automatically set as the same as the Project Scheduled Start Date.

The End Date was determined by the duration. The software automatically calculated 10 business days from the start date of the task and put that date into the End Date.

Now add another new task, by clicking in the gray blank line and typing the name, such as Review Requirements.

Enter a Duration of 5 days.

Instead of clicking the save icon, you can just hit Enter from your keyboard to save that task.

Now add one more new task, Revise Requirements.

Enter a Duration of 8 days.

Hit enter to save that task.

You can see that each task that you entered automatically had the Start Date set to the Project Scheduled Start Date.

But this is not reflecting the reality of your project because you need to determine your requirements as your first step, then when that’s complete you need to have the team review the requirements and after that you need to revise the requirements based on the outcomes of the review.

So one task must be completed before the next task can start.

Dependencies – Show Predecessor Column

To reflect that situation, you are going to enter your dependencies using the inline editing. To do that, you need to have the Predecessors column showing on your task list view.

In this case, the default task list does have it showing,

But if it were not showing on your task list view, show it by clicking the Display Options icon.

Click on the Column Selection Options to expand it out if it is not already.

Find the Predecessor column in the in the Available Columns,

and double click on it to move it to the Selected columns.

Since it is already in the Selected columns for the current view, click the X icon to close the Display Options without changing anything.

Adding a dependency with predecessor layer – Edit icon

To add a dependency for an existing task, click the Edit icon for the Review Requirements task.

Click Add Predecessors.

The predecessors layer appears.

Click in the drop down for the task and select the task that must be completed before this one starts, which is Determine Requirements.

You’ll see more details about the other information here in a moment.

Leave the dependency Type as Finish to Start.

Finish to Start is the default dependency type as it is the most commonly used. It basically indicates that this task, Determine Requirements must finish before the next task, Review Requirements can start.

Click Save.

You can hover and click and drag the Predecessor column label to make the column wider and see the full title.

The Review Requirements task now has a predecessor of Determine Requirements.

You can also see that the Start Date of the task has been automatically shifted to now start after the end date of the previous task.

That is how you use inline editing to add a dependency.

Adding a Dependency with Predecessor Layer

Let’s set up a dependency for our next task.

Click the Edit icon, or alternatively just double click in the white space on the task line for Revise Requirements.

Click Add Predecessors.

Click in the drop down for the task and select Review Requirements.

Click Save.

The Revise Requirements task now has a predecessor task.

And the start date has been automatically shifted to start after the end date of the previous task.

Edit Existing Task

Another way to create a dependency for an existing task is to right click on the task, hover on Edit Task (inline) and select the Edit Predecessors icon.

That brings up the same Edit Predecessors layer and you can see any existing dependencies as well as add additional ones if you require.

Click Save to just keep everything the same.

You can also right click on the task, hover on Edit Task (inline) and select the Edit Task (full) icon.

This brings up the Task Add/Edit form where you can see all the details about the task, but you can also set up predecessors.

Click the Predecessors tab.

You have the same predecessor data entry form where you can see any existing dependencies as well as add additional ones if you require.

Click Cancel to exit out of there.

Those are the different ways of entering dependencies, with the inline editing being the quickest and most commonly used.

Enter a Dependency While Adding a Task

If you add new tasks, you can set up dependencies during when you add them.

Click in the gray blank line and enter Approve Requirements.

Enter 2 days in the duration.

The Add Predecessors option is available to click during the Add.

Click it.

Enter your predecessor the same way you did previously.

For now though, let’s cancel this add because you will to see another quick way to set up dependent tasks.

Click the X to close the Edit Predecessors layer.

Click the Cancel icon on the task edit.

Insert Task Successor

Another really easy way to add dependant tasks is to use an option which automatically sets up the predecessor tasks.

This is probably the most efficient way if you know the sequence of your tasks as you build the project.

Right click on your current task which is Revise Requirements.

Hover on Insert Tasks and click the Insert Task Successor icon.

You will see when you do that, this task is set automatically as the predecessor for the new task you are going to enter. The new task is the gray blank line. The predecessor is automatically entered for you on this new task line.

Now, just click in the gray blank line and type Approve Requirements.

Enter 2 days in the duration.

Hit Enter to save it.

Interactive Gantt Chart

Another really great way to express your project in a visual way is to use the interactive Gantt chart.

Hover on the Views menu option and click the Gantt Chart icon.

You see a timeline of when the first task starts, how long it will take, then when the second task starts and how long that will take and the third task and so on.

You will notice that as you hover the cursor on a task, more details about that task are displayed. Just move your cursor away from it to remove it.

You can also see the arrow pointing from one task to the next which indicates the presence of task dependencies or the relationships the tasks have to one another.

You can also use inline editing and create dependencies right from this form.

Drag and Drop to Create a Dependency on the Gantt Chart

First hover your cursor on the line between the task list and the calendar timeline and drag it to the right so you can see the additional columns such as duration, work and start date.

Then click in the gray blank line and type Programming.

Enter a duration of 10 days.

Hit enter to save it.

Then add one more task, click in the gray blank line and type Testing.

Enter a duration of 5 days.

Hit enter to save it.

You can see that these two new tasks that you added were automatically set to start at the same time as the Project Scheduled Start Date.

That’s because there are no dependencies.

To create a Finish to Start dependency right on the Gantt Chart, click on the blue bar of the predecessor task and drag it downwards first and drag it to the blue bar of the task you want to create the dependency with.

You can see that the task is automatically shifted to start after the previous task.

Do that again for the next new task you entered. Click on the blue bar of the predecessor task and drag it downwards first and drag it to the blue bar of the task you want to create the dependency with.

You’ll see that Start Date of that task was automatically updated as well.

Insert Successor Task on the Gantt Chart

Of course, you can also insert a dependency from the Gantt Chart form.

Right click on the Testing task.

Hover on Insert Tasks and click the Insert Task Successor icon.

Click in the gray blank line and enter Bug Fixes.

Enter 6 days of duration.

Click Enter to save.

You can see it was automatically added as a dependant task.

Both the Task List View and the Gantt chart view are very flexible and offer you different ways of entering task dependencies.

Predecessors By Number

You can also enter in dependencies using task numbers.

This may be a familiar concept to some of you, particularly if you used Microsoft Project.

You can do this from either the Task List view or the Gantt Chart view, it works the same in both.

Add Numbers and Predecessor Numbers on the View

For now, switch back to the Task List View by clicking on the Views menu option.

Click the Display Options.

Again, click on the Column Selection Options to expand it out, if it isn’t already.

Tell Project Insight where you want the new columns to display. Click on the Name in the Selected Columns.

You do this so that any new columns that you add will be inserted right after the name.

In the Available Columns, scroll down to the Ns and double click on Number to move it to Selected Columns.

The Number is the unique number associated with this task. They are given in order they are added to the project.

Then double click on the Pred. By # column to move that to Selected Columns.

This is where you are going to enter your dependencies.

Click the Update Display icon.

Task Numbers and Entering Predecessor Numbers

You can see that each task is assigned a unique number.

In the Pred. By # is the number of the predecessor task.

To see how this works, add another task, clicking in the gray blank line and typing Bug Fix Testing.

Enter a duration of 3 days.

Click in the Pred. By # and enter 7.

This sets the predecessor to this task to be task number 7 which is Bug Fixes.

Click Enter to Save.

You’ll see that predecessor task gets set up because you entered the predecessor number.

Four Predecessor Types

So far, the dependency type that you have been using is a Finish to Start relationship, which means that one task must finish before the successor task starts. There are other dependency types as well.

Finish to Finish

To see how those work, enter another task in the gray blank line. Call it Documentation.

Give it a duration of 4 days.

Click Add Predecessors.

In the task drop down, select Bug Fix Testing.

Click in the drop down for the Type.

Click Finish to Finish.

This means that the Documentation task will be scheduled to finish at the same time as the Bug Fix Testing.

These two tasks can occur concurrently. They do not need to start at the same time however they must finish at the same time.

Click Save.

You’ll see that the End Date of both those tasks is the same.

Project Insight knew that the Documentation task had to finish on the same date as the Bug Fix Test and since it was going to take 4 days, it scheduled it to start 4 days prior to that.

You can see that relationship type is displayed in the predecessor column with the acronym FF.

You will also see in the Pred. By # column that it lists FF after the number. Again this indicates that there is a Finish to Finish relationship type.

If there is no acronym then it means it is a Finish to Start relationship type.

Start to Start

If you did not care when the Documentation finished, but you knew it could start at the same time as the Bug Fix Testing was occurring, you would change the relationship type to a start to start type.

To reflect that scenario, double click on the white space of the Documentation task.

Click the Add Predecessors icon.

Click the Edit icon on the current predecessor relationship.

Click in the drop down for the Type and select Start to Start.

Click Save.

Now you can see that the Start Date for the Documentation task is the same as the Start Date for the Bug Fix Testing Task but they each have different End Dates because their durations are different.

You can also see the acronyms have changed to SS for start to start.

Start to Finish

What happens if you had a set go live date that you had to meet and you wanted to schedule tasks backwards from that?

In that case, you would use the last relationship type of Start to Finish.

To see how that works, add in one more task called Go Live. Type that in the gray blank line.

Enter 1 day of duration.

This time however, you are going to enter in a hard coded start date as you know you have a commitment to your customer to deliver on that date.

Click on the Calendar icon for the Start Date.

Select a date in the future beyond the last task end date.

Click the arrow button to go to the next month.

Click on the Date.

You’ll get a confirmation asking if you want to enter a manual task start date and time.

Click OK.

Click the Save icon.

Now you know when the Go live is, you can have the system schedule tasks automatically ‘backwards’ from that date.

Double click on the white space on the Documentation task to go into Edit mode.

In the Pred. By #, change this from 8SS to 10SF.

Click the Save icon.

You can see that the Documentation task was now rescheduled to end 1 day before the Go Live task began.

The Start Date was calculated to be 4 days prior to that.

So the Start to Finish (SF) relationship type enables you to schedule backwards from a known date.

Of course, you may want to adjust the relationship types for all the other tasks if you were scheduling with that methodology but you can have different dependency types in your project.

For now, to keep the scheduling methodology consistent on this project, double click on the white space of the Documentation task.

Change the Pred. By. # back to 8 and leave the default finish to start relationship.

Click the Save icon.

Remove Constraint Dates

To remove constraint dates, right click on the Go Live task.

Hover on Edit Task (inline) and click the Edit Advanced Options icon.

You’ll see that there is a Constraint Type set to Must Start On.

There is also a Constraint date.

That’s because you hard coded in a Start Date for this task.

To reset that, click in the drop down for Constraint Type and select As Soon As Possible.

Delete the Constraint Date that was entered. You don’t have to do this, but it is a recommended best practice to remove any constraints dates if your constraint type is as soon as possible.

Click OK to save those changes but still stay in edit mode.

Enter 9 in the Pred. By. # to make it a successor of the number 9 task.

Click the Save icon.

Now you have reset the task so that instead of a hard coded date, it is a dynamic date and Project Insight will automatically schedule it if and when things on your project change.

Leverage Lead and Lag

You can also include lead and lag in your task relationships. This helps you to reflect real life scenarios in your projects.

Lag

For example, there may be a delay after one task finishes and before another task starts. One reason this might happen is because the resource you need is booked on something else like urgent operational work, other higher priority projects or they are in a training course and your task has to wait.

Let’s assume this is the case for your Programming task. Your developer is booked in a training course for the first three days that this task was supposed to start.

To enter that, double click on the white space for the Programming task to go into Edit mode.

Click on Add Predecessor.

Click on the Edit icon for the predecessor task.

Click on Lag if it is not checked, because there is going to be a lag between when this task ends and the next one starts.

In the duration, enter the 3 days.

Click the Update icon.

Click Save.

You can see that the Programming task is now scheduled to start three dates later than the Approve Requirements task finished.

You can also see that the Pred. By# column and the Predecessors column show a +3d acronym.

As an alternative method, you could have just typed that lag by entering +3d in the Pred. By# column

That’s Lag.

Lead

Now let’s look at Lead.

Another scenario that you may encounter is that one task can start before another task is completely finished. For example, your testers may be able to start testing portions of the system before all the programming work is completed. They can’t start at the same time as the programming activity because there is nothing to test yet, but they start testing before programming is 100% completed.

For that, you’ll use Lead.

To enter that, double click on the white space for the Testing task to go into Edit mode.

Click on Add Predecessor.

Click on the Edit icon for the predecessor task.

Leave Lead checked or check it if it isn’t already checked.

In the duration, enter the 2 days.

Click the Update icon.

Click Save.

You can see that the Testing task is now scheduled to start two days earlier than the Programming task finishes.

You can also see that the Pred. By Pred By # column and the Predecessors column show a -2d acronym.

You could have entered that lead by typing -2d in the Pred. By # column as well.

Let’s see what that looks like on the Gantt chart.

Hover on Views and select Gantt Chart.

You can see that there is a gap between when the task Approve Requirements ends and the Programming task starts. That is the lag time, you entered.

You can see also see that the Testing task starts two work days prior to the Programming task being completed. That is the lead time, you entered.

Changing the Project Scheduled Start Date

Now let’s see how this all works with the intelligent scheduling.

When you created this project, you entered a project scheduled start date, and your first task was set automatically to begin on that date.

But say, for example, this project got delayed and you had to change the project scheduled start date.

Hover on the Edit icon and click the Edit Project icon.

Click on the Calendar icon for the Scheduled Start Date and change it to start next month into the future.

Hover on the Save icon and click Save & Display Project.

You can see that the Start Date of the first task was automatically pushed out two weeks and all the other tasks were automatically shifted as well.

You can also view it on the Gantt chart.

Hover on Views and select Gantt Chart.

You can see the new start date for the first task.

Also, you can see those lead and lag relationships were maintained.

That is the benefit of intelligent scheduling.

You do not have to manually go and change every task. You simply change the Project Scheduled Start Date and all other tasks that don’t have constraints are updated automatically.

Changing a Task Duration

Intelligent Scheduling just doesn’t occur when you change the Project Scheduled Start Date.

If you change a duration for a task, all successor tasks will be automatically shifted as well.

To see that, hover your cursor on end of the bar for the Revise Requirements task

Drag it to the right to increase the duration from the Gantt Chart View. You will see the changes are shown in red.

Release it.

You will see that not only does the end date for the Revise Requirements task shift because you have increased the duration, but also all the other successor tasks shift automatically as well.

Again, with the intelligent scheduling and task dependencies, it is very easy and quick to shift your project schedules as required.

Hard Coded or Constraint Dates

One thing to reconfirm is that, all of the start and end dates you have are dynamic dates, which means that Project Insight is automatically determining them based on the project scheduled start date, the dependencies, the durations and, of course, the work calendars that are set up.

But you do have the option to hard code dates using constraints.

For example, instead of entering in a three day lag on the programming task, you can hard code that start date instead.

Click back on the Views menu option to return to the Task List View.

To enter a hard-coded date, double click on the white space for the Programming task.

Click on the Calendar for the Start Date.

Enter a date two weeks earlier.

Say Ok to the confirmation prompt.

Click Enter to Save.

You will see that the task Start Date is now reflecting a hard coded date and not a dynamic date and it is essentially ignoring the dependency you set up.

Effects on Intelligent Scheduling with Constraint Dates

To see the effects of hard coded dates on the intelligent scheduling, hover on Views and select Gantt Chart.

Click on the blue bar for the Determine Requirements task and drag the bar to the right to change the task’s start date.

You will see that the Programming task start date did not shift. That is because it has a constraint or a hard coded date.

Keep in mind, that you can hard code in dates, however, those dates supersede the intelligent scheduling and you will have to manually adjust them if they change.

Multiple Predecessors

It is possible to also enter multiple predecessor tasks.

You can do that from the Gantt Chart view or click back on the Views menu option to return to the Task List View and do it from there.

Multiple Predecessors Pred By #

To do add more than one predecessor, double click on the white space of a task to edit it.

In the Pred. By # column, enter a comma and enter the number of the other task.

Click Save.

Multiple Predecessors – Predecessor Layer

You can also add more predecessors by double clicking on the white space of a task to edit it.

Clicking on the Add Predecessors.

Enter in the other predecessor task details as you saw earlier in the session.

Click Save.

Click back on the Views menu option to return to the Task List View.

Default Task Adjustment Type

So far, you have not been assigning resources to work on the tasks.

Let’s go ahead and make some resource assignments.

Double click on the white space on the task, Determine Requirements to go into edit mode.

Click Add Resources.

Click in the Resource drop down and select a Resource.

Click Save.

This resource has been assigned to work on this task for 80 hours over a 10 day period or duration.

This resource was set up to have a work schedule of 8 hours per day.

In order for this resource to finish this 80 hours of work within the 10 day period, he or she has to be working on this task 100% of their time.

You can see that by clicking on the Resource Name.

In the layer that appears, you can see that the percentage of his day being used is 100%.

But a resource will not always work 100% of his time on one task. For example, maybe this resource will only be working 50% of his time.

If that is the case, then this task is going to take twice as long in terms of duration.

To change the Duration, double click on the white space on the task, Determine Requirements to go into edit mode.

Change the task duration from 10 days to 20 days.

Hit Enter to Save.

You can see that now the resource is only allocated to work 50% of his time on this task, not 100%.

What happened is that the software automatically calculated the percentage of the resource’s time based on the Duration of the task and the Work Hours or effort entered on the task.

This is a very standard Project Management calculation. You have three variables, Duration, Work Hours and % of a resource’s time. You will enter two of those variables and Project Insight will automatically calculate the third variable.

In this case, you entered Duration and Work Hours and the % of the resource’s time was automatically calculated based on those two values.

This is a common setting that is used, but you can change it if you prefer.

For example, maybe you are only given the resource to work on your project for 50% of his time and you know the work hours. In that case, you enter work hours and the 50% of the resource’s time. Then the software will calculate the Duration based on those two values.

Or optionally, you can enter Duration and % of resource’s time and then the system will calculate the Work Hours.

Let’s see how you change this setting.

Global Default Task Adjustment Type

First, you should understand that your Project Insight Administrator will have set up a global Default Task Adjustment Type, based on your business process.

To see where that is set up, click the Show Left Navigation icon.

Click on Administration to expand it out.

Click on the arrow next to the Project section to expand that out.

Click Default Project & Task Options.

Click the Default Task Options tab.

Scroll to the bottom of the form where it says Default Task Adjustment Type.

You can see that it is set currently to calculate the % of Resource Work day variable.

Click on the drop down to see the other two options that are available:

Resource Work and Task Duration.

Your system administrator will have set the most common option for your organization.

Project Level - Default Task Adjustment Type

But as a Project Manager, you can change that at the project level or even task level.

To change it at the project level, click the back icon.

Click the Hide left navigation icon.

Hover on the Views menu and select Options.

Scroll down to the bottom of the form.

This is where you set default options for tasks on this project.

If you wanted to change the variable that was calculated and have it apply to all tasks on the project, then you can create that setting here.

Click on the drop down and select the option you want, such as Task Duration.

Click the Apply to all tasks if you want to have that set for not only new tasks but all existing tasks.

Then click Save.

Task Adjustment Type – Duration Calculation

You are not able to edit the variable which is being calculated by Project Insight.

Double click on the white space for the Determine Requirements task to edit it.

Click in the Work Hours column. You can see that you can still edit that value.

But try to click in the Duration column. You cannot. This is because you have said that for all tasks on this project, the duration will be automatically calculated from the Work Hours and % of Resource Work day that you entered.

Click on Edit Resources.

You can change the % of Resource Day variable.

Change it to 25% and click Save.

The Duration is automatically calculated.

Task Level - Task Adjustment Type

Even though you set the default for this calculation at the Project Level, you can change it on the task level as well.

Right click on the Determine Requirements task, hover on Edit Task (inline) and select Edit Advanced Options.

You will see at the bottom of the Advanced Options layer there are two settings: Auto-Calculate and Default Calculation.

The Default Calculation is the permanent setting for this task. If you want it to always use this calculation, then click on the drop down and enter the option you require.

In this case, set it back to % of resource work day.

This will be the permanent setting.

However, let’s just assume that during this edit only, you want it to calculate a different way. Now, this is just a one-time thing, it is not a permanent change.

In that case, you will enter that temporary setting in the drop down for the Auto-Calculate.

Select Resource Work.

Now what’s set is that, temporarily, for this edit only, you want Project Insight to calculate the amount of Resource Work based on the Duration and the % of Resource Workday.

Maybe you do this because want to get an idea of how much work a resource will have to do, if they are only available a certain percent and a certain length of time to work on it, but that’s for this time only and you want it to revert to calculating % of Resource Work Day as your standard calculation.

It is important to understand the Save and OK options at this time.

Save, saves everything and exits you out of edit mode on the task.

While Ok, saves the settings but does not exit you out of edit mode so that you can still continue to work on the task.

The temporary Auto-calculate option only works with the Ok. It is temporarily setting the option for this edit only, so if you save, you are no longer editing and that temporary setting is cancelled and has no effect.

Click Ok.

Try and click in the Work Hours. You can see that you cannot change them, because your temporary setting is to calculate the work hours.

Click in the Duration and change that to 20 days.

Click Save.

The Work Hours were calculated automatically. Project Insight took the Duration you entered of 20 days, multiplied it by the number of work hours per day or 8 which is a total of 160 hours.

Then the resource was set to work 25% of his time on this task so the software calculated 25% of 160 or 40 hours of work.

Temporary Setting Reverts to Permanent Setting after the Save

To check back on those settings after you’ve completed the edit, right click on the Determine Requirements task, hover on Edit Task (inline) and select Edit Advanced Options.

You can see that both settings are now % of Resource Workday. That’s the permanent calculation setting that you entered.

The temporary setting reverts back to that after the temporary calculation is done when you save.

Leveraging task dependencies is a powerful benefit of Project Insight. If you found this session challenging, please review the video in the Project Insight Community. See you at the next training session!

Online 8/25/2015
Denise Arterberry
Updated on: