Life would be so much easier for a project manager if all the project activities could be worked in parallel. Each person working on the project could be given a list of the activities he or she is responsible for, and once everything on the list is done, that person could return to his or her functional organization. Each team member could estimate how long it takes to complete the assigned tasks, and the project completion date would be based on the team member with the longest estimate. Unfortunately, completing project work is not that simple; many of the project activities cannot start independently. The project team has to identify activity dependencies , which describe the relationship between two activities.
Activity sequencing is the process of identifying dependency relationships between project activities. First, you need to identify the type of dependency; next comes the specific relationship between the activities. Using this data you can create a pictorial representation of the tasks that shows all of the dependencies.
You need to identify three categories of dependencies when you are doing activity sequencing. A mandatory dependency is created by the type of work the project requires. A utility crew in a new subdivision cannot lay the cable until a trench has been dug. A discretionary dependency is something that you choose to impose on the project schedule. An example is a decision to complete tasks in a specific sequence to conform to an established corporate practice, even if there is an alternative means to sequencing the tasks. An external dependency is a relationship between a project task and some factor outside of the project that drives the scheduling of that task. Installation of a new server is driven by when the vendor can deliver the equipment.
It is important to know the type of dependency because you have more flexibility with a discretionary dependency than a mandatory dependency. This distinction becomes important later on when you look at ways to complete a project in less time.
Once you’ve identified a linkage between two tasks, you and the project team need to identify exactly how this relationship works.
It isn’t enough just to know there is a dependency between two tasks. You need to answer several other questions: How does the dependency impact the start and finish of each of the tasks? Does one task have to start first? Can you start the second task before the first task is done? All of these variables impact what your overall project schedule looks like.
Once you identify a dependency between two tasks, you need to determine what that dependency relationship is so that you can sequence the tasks properly. Before we look at those relationships, let’s cover a few key terms that are critical to understanding task dependencies.
A predecessor is a task that exists on a path with another task and occurs before the task in question. A successor is a task that exists on a common path with another task and occurs after the task in question. Figure 4.1 shows a simple predecessor/successor relationship between Task A and Task B.
Four possible dependency relationships exist between the predecessor task and the successor task. Identifying the correct relationship between dependent tasks is critical to developing an accurate schedule. Depending on the type of dependency relationship, you may be able to schedule the tasks in parallel or the successor task may have to wait until the predecessor is completed. Getting this relationship wrong can have a drastic effect on the accuracy of your schedule. Let’s look at the four alternatives you need to evaluate for your dependent tasks.
Finish to Start In a finish to start relationship, the successor task cannot begin until the predecessor task has completed. This is the most common task relationship. It is the default setting on most project tracking software packages. For example, the user interface must be coded before the printing module can be developed.
Start to Start Use a start to start relationship when the start of the successor task depends on the start of the predecessor. These are tasks that can be worked in parallel, but if the first task is delayed, the successor task cannot start. For example, user guide documentation can start when requirements definition starts, but if requirements definition is delayed, the user guide documentation will also be delayed.
Finish to Finish A finish to finish relationship has the finish of the successor task dependent on the finish of the predecessor. For example, a new product is finished when the customer manual is complete. If the customer manual is delayed, the release of the product to market is also delayed.
Start to Finish In a start to finish relationship, the finish of the successor task is dependent on the start of its predecessor. This relationship is seldom used. Perhaps an example would be that a technical support task cannot be completed until the formation of the technical support team has started.
Once the task dependency relationships have been identified, the project team has the data to create-a picture of when the various project tasks can begin and end. This picture is a network diagram.
One technique used by project managers for activity sequencing is called a network diagram. Understanding activity relationships is fundamental to using this technique. A network diagram depicts the project activities and the interrelationships among these activities. Because you can actually see how the work flows, a network diagram is a great tool to develop with the project team. Using a white board and sticky notes provides an easy way to move activities around and make changes.
The most commonly used network diagramming method is the precedence diagramming method (PDM) . PDM uses boxes to represent the project activities and arrows to connect the boxes to depict the dependencies. Figure 4.2 shows a simple PDM network diagram of tasks with finish to start dependencies on this diagram.
Now that the activities are sequenced based on the task dependencies, we are ready to estimate how long it will take to complete each activity