Good relationships are the key to success in Microsoft Project, as well as in life. Task links, aka task dependencies or relationships, tell Project how tasks influence one another, which it uses to calculate task start and finish dates. The start and finish dates of the tasks in a project combine to determine the finish date of the entire project, too. This month’s column describes the different types of task dependencies and different methods for creating and modifying them.
Although the project management names for tasks in a relationship are successor and predecessor, a link isn’t about which task starts first, order or sequence — it’s about control. For example, in a start-to-start dependency, both tasks start at the same time, but the start of the predecessor controls when the successor starts.
Task links come in four flavors:
- Finish-to-start (FS) task links are the most common. In this relationship, tasks line up like elephants, the end of the predecessor task (like an elephant’s tail) precedes the start of the successor task (the next elephant’s trunk), as shown in Figure 1. For example, the law of gravity requires that you finish building the walls of a house, before you place the roof on top.
- Start-to-start (SS) task links are the solution when the start of one task triggers the start of another. For example, as soon as you depart for vacation, your kids start asking, “Are we there yet?” Start-to-start links often come with lag time, a built-in delay between the start of the predecessor and the start of the successor. If your son starts poking his sister on your vacation drive, she might not start crying until you look at her in the rearview mirror two minutes later.
- Finish-to-finish (FF) task links are mirror images of start-to-start relationships. The finish of the predecessor determines the finish of the successor. In other words, the successor task continues only as long as the predecessor does. As long as your teenagers live at home, you pick up their clothes from the bathroom floor. Finish-to-finish links often come with lag time. For example, when a custodian mops up a spill and places caution cones around the area, he doesn’t pick the cones up until the floor is dry.
- Start-to-finish (SF) links tend to gather dust, which is a good thing, since they can be confusing. To keep this relationship straight, simply remember that the start of one task controls the finish of another. For example, when the school bell rings, class is over, whether or not the teacher has finished the lesson.
If you don’t link tasks in the right way, your Project schedule won’t represent what happens in real life. If you have any question about which type of link to use, complete the following sentence:
The predecessor must (start/finish) before I can (start/finish) the successor.
Successor tasks don’t always step on the heels of their predecessors. Sadly, I usually have to wait 30 days or more after I submit an invoice to receive the corresponding payment. A delay applied to a task link is called lag time, because the successor lags for a while after the predecessor starts (or finishes). Project has a field Lag, which is your route to specifying lag or lead time (an overlap between tasks). Type a positive number, like 4d, and you create lag of four days. A negative number, -4d for example, starts the successor four days before the finish of the predecessor. To define lag or lead as a percentage of the predecessor task duration, simply type a percentage like -50% in the Lag box (which starts the successor halfway through the duration of the predecessor for a finish-to-start link. For example, if you link paint walls and lay carpet in this way, someone starts laying carpet halfway through painting the walls.
Note: Don’t forget about elapsed time. You can specify lag or lead in elapsed time without regard to working and nonworking days by typing “e” before the time unit, such as 10ed for 10 elapsed days.
Project offers several methods for creating and editing task links, particularly for the most common type of task link: finish-to-start. Here are the different methods for linking tasks and the best time to choose each one:
- The Link Tasks command on the Standard toolbar (see the figure) is dedicated to creating finish-to-start task links. It’s not only fast, it’s also the easiest way to link two tasks when you can’t see both task bars in the Gantt Chart simultaneously or to create several finish-to-start links at once.
To use the Link Tasks command, select the tasks you want to link. (If you drag across two or more tasks, the Link Tasks command makes the one higher in the list the predecessor to the one immediately following it.) Or you can click the predecessor and then Ctrl-click the successor(s). Then, click the Link Tasks icon.
Figure 1. The Link Tasks command is the cat’s meow for finish-to-start links.
Caution: The Unlink Tasks command on the Standard toolbar is rarely what you want. When you select a task and click Unlink Tasks, Project removes all the links to that task, not just the one you probably had in mind. To remove a link, delete it in a task form or double-click the link in the Gantt Chart timescale.
- In the Gantt Chart timescale, you can also create a finish-to-start link by dragging from the predecessor task bar to the successor task bar. You have to pay attention to what you’re doing with this technique, because you can move or split a task instead of linking it. When you position the pointer over the first task, make sure you see a four-headed arrow. Then, when you drag the pointer to the second task, make sure the pointer looks like a link of chain. (If the pointer turns into a one-headed or two-headed arrow, you’re about to split the task or move it, respectively.)
- The Task Form (usually the bottom pane of the Gantt Chart view) includes fields for specifying predecessors, successors, types of links, and lag. When you select a task in the top pane of the Gantt Chart view, the Task Form fills in with the values for that task. In the top pane of the Gantt Chart view, select the successor task. Then, in the Task Form, choose the predecessor in the Predecessor Name field, as shown in the figure. In the Type drop-down list, choose the type of link you want (like FS for finish-to-start or SS for start-to-start). If you want to introduce a delay or overlap the tasks, enter a time value in the Lag box. Click OK to create the link (or click Cancel to not save changes to the task). You can change an existing link by changing the values in the Predecessor fields. Or to delete a link, click in the row for the link and press the Del key.
Figure 2. You can create any type of link in the Task Form.
To see predecessors and successors at the same time, right-click the Task Form and, from the shortcut menu, choose Predecessors & Successors.
- The Task Information dialog box lets you fill in or edit all sorts of information about the currently selected task. To open the dialog box, double-click the task you want to edit or select the task and then click Task Information on the Standard toolbar. To create or edit links, select the Predecessors tab in the dialog box. However, the Task Information dialog box lets you define only predecessors, not successors and you must close and reopen the dialog box to edit a different task.
- The Entry table, which the Gantt Chart view displays out of the box, includes the Predecessors column, perfect for typing links. If you’re creating finish-to-start links, type the ID number (the first column in the table area) for the predecessor. To specify a link other than finish-to-start, type the link abbreviation immediately after the ID number, for instance, 3SS to create a start-to-start link with task number 3.
- Double-clicking a link line in the Gantt Chart timescale opens a small dialog box for modifying or deleting the link. Make sure that the From and To tasks represent the link you want to edit before you change any values.
Think You Know Task Linking? Test Yourself!
You’re managing your own backyard renovation project. You can’t start constructing the deck until the concrete footings have cured. The directions on the bag of cement say that concrete requires seven days to cure. Which of the following schedules deck construction to start seven days after the concrete has cured?
A. Create a Start-to-Start task dependency with the concrete task as the predecessor and the deck construction task as the successor. In the Lag field, type 7d.
B. Create a Finish-to-Start task dependency with the concrete task as the predecessor and the deck construction task as the successor. In the Lag field, type 7d.
C. Create a Finish-to-Start task dependency with the concrete task as the predecessor and the deck construction as the successor. In the Lag field, type 7ed.
D. Create a Finish-to-Start task dependency with the concrete task as the predecessor and the deck construction task as the successor. In the Lag field, type -7d.
No peeking! Scroll below the book ordering information to read the answer to this quiz.
To learn more about Microsoft certification, read, “Microsoft Project Management Certification: How to Get Started.”
Read Microsoft’s exam topics list for 70-632 here
The Answer to Test Yourself!
Correct answer: C
The finish of the concrete task triggers the start of the deck construction task, so the correct task link is Finish-to-Start with the concrete task as the predecessor. The concrete requires seven days to cure, but concrete doesn’t follow the working times in your project, so you must set the lag to be seven elapsed days, 7ed in this example.
A is incorrect. Start-to-Start isn’t the correct link type, because the start of deck construction depends on the finish of pouring concrete. Also, a lag value of 7d represents seven working days, or nine elapsed days because a weekend is two days of non-working time.
B is correct. A lag value of 7d represents seven working days; the equivalent of nine elapsed days because a weekend is two days of nonworking time.
D is incorrect. A negative lag creates an overlap between the tasks. In this example, the negative lag would start the deck construction seven working days before the finish of the concrete task.