Tutorial III: Organizing

Step 8: Group Tasks

When tasks are closely related or interdependent it can be useful to put them in a group. Groups help organize a project conceptually, and also act as meta-tasks that can be linked via dependencies to other tasks or groups.

The easiest way to gather tasks into a group in edit mode. Tap Edit on the project screen, then tap to select all of the tasks and milestones to be grouped. Finally, tap Group in the bottom toolbar to complete the edit.

Selecting multiple tasks for grouping in Edit mode.

With all of the tasks in the group selected, this would be a good time to add a bit of visual distinction to the group as well. Open the task inspector and tap Bar Color to choose a color that will identify all of the tasks in the group.

Styling a group's bar color with the task inspector.

After organizing tasks and milestones into groups and estimating the time required to complete them, we're starting to get a better picture of how our project will take shape. At this stage our Gantt chart looks something like this:

The project with groups, color styles, and task durations.

Step 9: Connect Tasks with Dependency Lines

We can't complete all of our tasks simultaneously! Even if we had the resources to do so, some parts of the project can't happen until others are finished. Thankfully, the pieces are now in place to establish the ways that those tasks are dependent on the status of others. There are four ways that dependencies can exist:

  • Finish → Start dependencies are the most common type, indicating that when task A finishes, task B can start.

  • Start → Finish dependencies indicate that when task A starts, task B can finish.

  • Start → Start dependencies indicate that when task A starts, task B can also start.

  • Finish → Finish dependencies indicate that when task A finishes, task B can also finish.

Connecting tasks in the Gantt view is as easy as tapping a selected task again, which puts dependency arrow handles on either side of the task bar.

A task with dependency handles displayed on either end of its bar in the Gantt timeline.

Drag an arrow from the selected task to another task to create a dependency. The type of dependency is based on the start- and end- points of the arrow: dragging an arrow from the completion of one task to the beginning of another will create a finish → start dependency, and so on.

A finish-to-start dependency between two tasks, as illustrated in the Gantt view.

While in edit mode, you can use the Connect/Disconnect button to add finish → start dependencies or remove dependencies between any number of selected tasks simultaneously.

Step 10: Create Hammock Tasks

A hammock task is one in which the duration is dependent on both when the previous task ends, and the next task starts. This type of task is useful when facing a hard deadline and deciding what can be compressed if the project is running behind schedule, or if external factors influence when parts of the project must happen.

In our example we decide that alpha testing for the game should begin as soon as possible after April 13th, since that's when we receive our prototype testing hardware. We give the "Testing phase" group a start constraint of April 13th by choosing Constraints in the Scheduling pane of the task inspector, and setting Start at earliest to April 13th 11:00 AM.

Setting a start constraint for the Testing phase group.

Note
A Start at earliest constraint can also be set by selecting a task and dragging it along the timeline by the left handle that appears at its edge.

We decide that the "combine art and code" task is the one that's going to give if the going gets rough. To convert it from a task of fixed duration to a hammock task:

  • First, make sure both the "coding" group and the "art" group are linked to "combine art and code" with finish → start dependencies.
  • Then, create a start → finish dependency originating from the testing phase and linking to "combine art and code."
  • Finally, select the "combine art and code" task and open the task inspector. The fourth task type, Hammock, is available for selection.
Selecting the Hammock task type in the Task Info pane of the task inspector.