In this lesson we will discuss the different types of task dependencies and learn how to define them in Microsoft Project. This is a continuation of what we have learned in Lesson 2 of this tutorial about task insertions and the default type of relationship.
eval(ez_write_tag([[468,60],'brighthubpm_com-banner-1']));
In the first lesson on Getting Started with Microsoft Project, we saw how to define tasks in the MS Project application. We also pointed out that Microsoft Project will, by default, assume that all tasks start on the Project start date.
Then in the second lesson, where we talked about task Insertions and amendments, we briefly touched upon task relationships, and we said that we would take the topic up later. Now, let us understand what we mean by task dependencies or task relationships, and what their role in defining a project is. The very purpose behind breaking a project down into smaller, manageable tasks is that this process of work breakdown makes project planning easier. After having defined a project in terms of the planned tasks, we also need to address the more important part of project management - the part related to project scheduling. As you are aware, any scheduling activity will need to take the constraints into consideration in order to come up with a practical and meaningful schedule.
eval(ez_write_tag([[336,280],'brighthubpm_com-box-2']));
The question then is how do we indicate the constraints that need to be considered while scheduling the tasks in a project to the MS Project application. The two major constraints that we will indicate to Microsoft Project are:
We will take up capacity constraints in a later lesson after we define resources in our project. The sequencing constraints are indicated in Microsoft Project using Task Relationships.
Note: When finished with this lesson, be sure to check out the other Microsoft Project tutorials available at Bright Hub.
To understand the different types of task relationships that can be defined in Microsoft Project, and to learn how to define these <!-- INFOLINKS_OFF --> <!-- INFOLINKS_ON -->relationships, let us create a new sample project, using the following steps:
Now your project should appear as shown alongside, with all four tasks starting on the default project start date.
(Note: Please click on the image to view a larger size for all images in this article.)
<!-- INFOLINKS_OFF --> <!-- INFOLINKS_ON -->Let us now start defining the relationships between the tasks. In earlier lessons, you were defining task relationships by using the mouse and dragging a relationship line from one task to another. Here we will do this using Microsoft Project's Task Information Dialog Window.
As you can see, the drop-down box for Type has four Task Relationship types available as follows:
We will come to the meaning of each of these in a moment. In the meantime, complete the relationships for Tasks 3 and 4 as follows:
Thus for Tasks 3 and 4, we have defined two predecessors each. The idea is to see for ourselves and understand how they show up on our project and in the Gantt chart.
Continue to Page 2 to learn more about the meanings of task relationships in Microsoft Project.
Once you have completed entering the task relationships as mentioned, your project should appear as shown in the image below.<!-- INFOLINKS_OFF --> <!-- INFOLINKS_ON -->Now let us understand what these relationships mean. To begin with, we need to understand that all relationships are defined between a successor task and a set of (one or more) predecessor tasks in Microsoft Project. Thus, in each of the above case, the task you first chose is the successor and the tasks you entered in the rows in the Dialog window are the predecessor tasks for any given relationship. To view the relationships you have defined, you can check on the arrows appearing on the Gantt chart. Another way to see the relationships is to increase the width of the Task pane by moving the Divider line (between the Task pane and the Gantt chart pane) to the right, until the Predecessor column becomes visible in the Task pane. You will see the relationships with the two-letter codes as shown in the image here.
eval(ez_write_tag([[580,400],'brighthubpm_com-netboard-2']));
<!-- INFOLINKS_OFF --> <!-- INFOLINKS_ON -->You can notice that the default task relationship type (FS - Finish-to-Start) is not indicated with code by Microsoft Project.
Essentially the relationships have the following implications:
As you must have noticed, the most common task relationship type is the Finish-to-Start type, which also happens to be the default type in Microsoft Project.
All the task relationships we had used in the Concert Project were Examples of Finish-to-Start relationships
Among the other task relationship types, two are used occasionally to indicate scheduling conditions which are very relevant.
Start-to-Finish Examples:
Implementation of a new procedure and training for the employees on the new procedure are two tasks which can be related with a Start-to-Finish type. Although the new procedure may be ready for implementation after it has been designed, the procedure cannot be started until the employee training is completed.
Similarly, you can finish scheduling production crews only when you start receiving materials.
Start-to-Start Examples:
This relationship is used whenever we can see the possibility of overlap between tasks, though they appear to be sequential.
Thus, proof-reading for a book can be started as soon as the first few pages have been written, and we need not wait for the composition of the entire volume to be completed.
Coding for an application can be started as soon as the initial designs for some components are ready (as practiced in Agile methodology), instead of waiting for the entire design to be completed (as practiced in Waterfall methodology).
Finish-to-Finish is a very rarely used relationship. One complicated example can be the relationship between watering a garden and fertilizing the plants in the garden. As you can see, the plants have to be watered before fertilizing can start. However, the plants must be wet as long as the fertilizing process is going on. Hence we can impose a Finish-to-Finish relationship between the two tasks "Fertilize the Garden" and "Water the plants in the garden."
Another example is the relationship between the tasks "Add wiring" and "Inspect electrical". Here "Inspect electrical" cannot finish until "Add wiring" finishes. Thus, here again there is a Finish-to-Finish relationship between the two tasks. Thus, this kind of relationship, though rare, does exist between two tasks which are related to each other in such a way that one task cannot finish until the other task finishes.
It is important to understand how critical it is to establish the relationships between the tasks so that Microsoft Project can help in scheduling our project optimally. This also helps us understand the way the "lag" appearing in the dialog window will affect managing delays and overlaps between tasks as we get back to our Concert Project and start introducing additional features and constraints that will make the project more practical from the point of view of scheduling. In the meanwhile, spend some time looking at the effect of changing the relationships as defined by us between the four tasks. Experiment with the task relationships and see the impact.
In the next few lessons, we will understand more about the project and task calendars, and we'll also introduce capacity constraints by defining resources available to complete the projects.