Gantt Chart with Dependencies

Add dependencies to your Gantt charts to efficiently manage your project timeline and the relationships between individual tasks. When the start or end date of a predecessor task changes, the dates of dependent tasks in your timeline will automatically update to reflect the change.

Follow these step-by-step instructions to create a Gantt chart.

Create and Work with a Gantt Chart

Display tasks in your sheets and reports as bars in a timeline with a Gantt chart. Get a picture of the duration, as well as the start and finish date of your project's tasks Gantt View.

TIP: If you are working with a report, see the article about how to add a Gantt chart to a report.

You can view any sheet or report that contains at least two date columns in Gantt View. (For more information on Date columns, see the Column Types article in the Help Center.)


cropped-gantt

A Gantt chart also allows you to do the following:


Add a Gantt Chart 

You can add a Gantt chart to any existing sheet and optionally enable the dependencies features to create automation between project sheet columns.

To add a Gantt chart:

  1. Ensure your sheet contains at least two date columns, one representing the Start date of tasks and one representing the End date.

    These columns are required to add a Gantt chart to the sheet because the length of each task bar is based on the span of time between the given dates.
     
  2. Select the Gantt View button in the toolbar to display your tasks in a timeline view based on their Start and Finish dates.
    Views on the toolbar

    The chart will appear to the right of your columns and a divider splits the screen between grid columns and the Gantt chart. You can drag this divider right or left to widen the display of either section.
     
  3. Click the Project Settings icon  in the Gantt chart header to ensure the Gantt chart is using the correct columns for start and end date.

Adjust the Timeline Display

Across the top of the Gantt chart, an adjustable Primary and Secondary Timeline allows you to display your tasks using different units of time.

zoom

Click Zoom In or Zoom Out to toggle the different timeline displays.

Adjust the Project Settings

Click the gear icon gantt-settings to access the Project Settings for the sheet.

In the Project Settings form, you can: 

  • Enable Dependencies for automatic task duration calculation
  • Adjust the Primary and Secondary Timeline Displays
  • Configure non-working days and holidays

Find out more about modifying project settings in the Modify Project Settings article.


If you've configured a % Complete column in Project Settings, any time a value is entered in this column its also visually indicated in the Gantt bar for the task:

Display Hierarchy

In the sheet's Primary Column, you can indent rows to create a hierarchical relationship to organize rows into sections that you can expand or collapse. Child rows display as individual task bars in the Gantt chart based on their start and end dates.

If dependencies are enabled on the sheet, parent rows reflect a summary of their child rows. The parent row values are calculated automatically in the duration, start and end date, and % complete columns and can't be modified. If dependencies aren't enabled, you can change the parent row information as needed.

NOTE: Row hierarchy isn't displayed in a report.

Apply Color to the Gantt Bars

Change the color of a Gantt bar color in a sheet by right-clicking on the bar and selecting Color Settings.

NOTE: Task bar colors may change automatically if your sheet has Conditional Formatting rules set up. Check out our Help Center article on Conditional Formatting for more information.

Follow these step-by-step instructions to enable dependencies on your Gantt chart.

Enable Dependencies and Use Predecessors

You can use the Dependencies functionality in Smartsheet for automatic calculation and adjustment of dates as values for Duration (how long something will take to finish) and Predecessors (what must happen first) change. Once dependencies are enabled, your sheet will have the following functionality:

  • Altering the start or end date on the defined predecessor will immediately adjust the dates of any dependents.
  • Entering any two values for the start date, end date, and duration columns will automatically calculate the third value.
  • Start and end dates, duration, and % complete will roll up to parent rows as summary calculations.
  • When you enter a Duration and Predecessor value, start and end dates will populate automatically based on the Working Days schedule established in the sheet’s Project Settings.
  • Parent row values are read-only, as they’re calculated automatically based on values in the child rows. Learn more in our article on Parent Rollup Functionality.
  • You can highlight the Critical Path in the Gantt chart to visualize what drives the overall project duration. See the Help Center article on Critical Path for details.

Enable or Disable Dependencies in a Project

To enable dependencies in your sheet:

  1. Click the dropdown arrow down-arrow under any column header and select Edit Project Settings.

    The Project Settings form will appear.
     
  2. In the project settings form, under Dependencies, select the Dependencies Enabled checkbox.

    dependencies-enabled

    New options will appear in the Project Settings form.
     
  3. Select which columns in your sheet should be used as the Predecessor column and the Duration column. (If you don't have columns set up for this, Smartsheet will insert columns named “Predecessors” and “Duration” for you when you enable dependencies.)

To stop using dependencies and remove the automation from the sheet:

  1. Click the drop-down arrow down-arrow under any column header and select Edit Project Settings.
  2. Uncheck the Dependencies Enabled box and then click OK to apply the changes.

Work with Duration and Predecessors

When you enter a Duration or Predecessor value in a row, the Start and End Dates will populate automatically based on the Working Days schedule established in the Project Settings.

Duration

Duration is the amount of working time between the start and end dates. Duration can be calculated automatically based on a start and end date or you can manually enter it in the Duration column.

The following table includes examples of how to format values in the duration column.

DurationFormat
Weeks2w
Whole working days4d
Partial working days3.5d
Hours7h
Minutes60m
Seconds500s
Combination4h 30m

TIP: Elapsed time can be used in the Duration column to ignore non-working time (including non-working days and holidays). Lead with an “e” to indicate duration in elapsed time (e.g. e3d, e5h).

Predecessors

Predecessors are used to create dependencies between items. 

Create a Dependency by Specifying a Predecessor

  1. Find the row for which you want to create a predecessor.
  2. In the Predecessor column, type the row number for the item that must occur before the item you’re working with.

NOTES:

  • You can make dependencies on multiple predecessors by entering the row numbers into the cell, separated by a commas (as in row 7 in the image below). Smartsheet will take all predecessors into account when determining the dates of the dependent. (For example: on Finish-to-Start relationships, Smartsheet will schedule the dependent's start date after the latest occurring end date of all predecessors.)
  • Adding predecessors to a parent row in hierarchy will apply the predecessor to all of its child rows due to the parent roll up functionality. For example, if a Finish-to-Start predecessor is set in a parent row, all of the child tasks will start of the same date regardless of the predecessors that are set at the child row level. To work around this, set predecessors at the lowest-level child rows whenever possible.

sheet-grid

Change the Attributes for a Predecessor Relationship

By default, when you specify a predecessor, a Finish-to-Start relationship is established between items. 

To make changes to the relationships between dependents and their predecessors, click edit-predecessors Edit Predecessors (hover the mouse in any cell in the Predecessors column). From the Edit Predecessors form, you can change the relationship type or add lag time.


predecessors-window

You can choose from the following dependency types:

  • Finish-to-Start (FS) - start after the predecessor finishes.
  • Finish-to-Finish (FF) - finish at the same time the predecessor finishes.
  • Start-to-Start (SS) - start at the same time the predecessor starts.
  • Start-to-Finish (SF) - finish before the predecessor starts.

Lag Time and Lead Time

To represent a period of inactivity or overlap between the predecessor and dependent, you can use lag time. For instance, entering 1d into the “Lag (days)” field for a Finish-to-Start dependency causes the dependents to start an additional working day after its predecessor finishes. To schedule the dependents to start before the predecessor finishes, use a negative number (for example, -1d) to create lead time.

NOTE: Lag and lead time can be entered in increments of weeks, whole working days, partial working days, hours, minutes, seconds, milliseconds, or a combination (in similar fashion to the duration examples above)

Review the specific column types associated with Gantt charts with dependencies enabled.

Project Sheet Columns: Start Date, End Date, Duration, % Complete and Predecessors

In a project sheet, you can enable automated dependency functionality in the following columns:

NOTE: Formulas aren't allowed in the columns listed above when dependencies are enabled.

Right-click any column's header and select Project Settings, or click the Project Settings icon in the Gantt chart header, to enable dependencies and map your columns to the automated functionality.

NOTE: With dependencies enabled, each parent row will reflect a summary overview of the child rows (sub-tasks) indented underneath it. The values in the project sheet columns listed above are calculated automatically and can't be modified. Learn more about how these values are calculated in our article on Parent Rollup Functionality.

Back to top


Start and End Dates

Each scheduled task requires a Start and End date with month, day, and year. Clicking the date-picker icon in the cell will ensure that the date is in the correct format. If your sheet includes a Gantt chart, the Start and End dates will be used to plot out bars in the chart.

The Start and End dates you select are meant to be the starting point for your scheduling and may shift as your schedule shifts. You can right-click on any cell and select View History to see previous values that were saved within it. This can be helpful in reviewing your original schedule to see where the timeline may have "slipped".

If a row has a given Duration and Predecessor value, the Start and End dates will be calculated automatically. If using the default Finish-to-Start (FS) or Start-to-Start (SS) predecessor relationship, the Start date will be set automatically based on the dates of the Predecessor task. The corresponding End date will be calculated automatically by adding the given Duration to the Start date. If using the Start-to-Finish (SF) or Finish-to-Finish (FF) predecessor relationships, the End date of the task will be calculated automatically based on the dates of the Predecessor task, and the Start date will be equivalent to the End date minus the given Duration.

If a task's Start or End date is driven by a predecessor, you can still change it manually by clicking in the cell and selecting a new date. Doing so will override the association with the Predecessor and remove the Predecessor value from the row.

NOTE: If a parent row has a Predecessor value listed, this dependency relationship will drive the Start dates for each child row making them un-editable. Deleting the Predecessor value on the Parent Row will remove this constraint and allow you to manipulate the child row dates individually.

With dependencies enabled, End dates of sub-tasks, as well as Start dates of sub-tasks that are driven by a predecessor, aren't editable from a report, a row update request, the iOS app or the Android app. Instead, you can manually update the Start date and/or Duration of a task and Smartsheet will automatically update the End date for you.

In the Gantt View, you can click-and-drag on the center of a task bar (a crosshair icon will appear) to move the task to a new Start and End date. Doing so may change the Duration value and would break any dependencies (remove the Predecessor values) previously established. Dragging from either end of the task bar will extend the Duration to a new Start or End date.

Back to top


Duration

Duration represents the amount of time a task is expected to take. Click on the Duration cell of a sub-task and type in the length of time. You can use a few different formats:

  • Weeks (e.g. 2w)
  • Whole working days (e.g. 4d)
  • Partial working days (e.g. 3.5d)
  • Hours (e.g. 7h).
  • Minutes (e.g. 60m)
  • Seconds (e.g. 500s) and milliseconds (e.g. 50000ms)
  • A combination of hours, minutes, seconds and milliseconds (e.g. 4h 30m)
  • Elapsed time (lead with an e to indicate duration in elapsed time e.g. e3d, e5h, e3.5d, etc). A task with a duration in elapsed time ignores non-working time. The task will start and end in the amount of time specified regardless of working day length and non-working days in the sheet.

Parent (summary) rows will always reflect duration in partial working days.

If your task is taking longer than anticipated, you can increase the Duration to push out the End date. This will also push out the End dates of any dependent tasks automatically. A Duration of zero will create a diamond shape on the Gantt chart to indicate that the task is a milestone marking a significant event or checkpoint.

When you provide a Duration and a Start date (whether entered manually or driven by a Predecessor), the dependency functionality automatically calculates the End date by adding the number in the Duration cell to the Start date, excluding any Non-Working Days. If using partial working days, Smartsheet will also take into consideration the length of working days when calculating the End date. You can manually schedule a task to Start on a non-working day. When doing so, the Start date is included in the Duration but subsequent non-working days are excluded.

TIP: By default, the number of hours per working day is 8 but you can open the Project Settings on your sheet to change this.

Back to top


% Complete

On each child (sub-task) row, you can use the % Complete column to manually fill in the percentage of work that has been finished for that task. This will overlay a grey bar on each task in the Gantt chart to visualize the progress. In parent (summary) rows, the % Complete is calculated automatically by Smartsheet based on both the Duration and % Complete values you've manually entered into the child rows.

The % Complete automation in parent rows is optional. Open the Project Settings on the sheet and set the % Complete Column drop-down list to None to disable automation in this column. Doing so will enable you to use formulas in the parent rows or set the parent row values manually. It will also remove the progress indicator from the Gantt bars.

TIP: To format values in this column as percentages, click the column's header at the top then click the % icon in the left toolbar.

Back to top


Predecessors

You can make a task dependent on another task by typing another row’s number in its Predecessor column. The dates for the task will automatically adjust as its predecessor task dates change. Learn more about the various predecessor relationships and their impact on dependent task dates in our article on Using Dependencies & Predecessors.

The task dependencies you create using the Predecessors column will also drive the project's critical path. With task dependencies in place, Smartsheet is able to determine the sequence of tasks that drive the duration of the overall project. This sequence can be visually displayed in the Gantt chart via the critical path feature. Learn more about using this feature in our article on Tracking a Project's Critical Path.

Back to Top  

Follow these step-by-step instructions to set up your working days on a project sheet.

Define Working Days, Non-working Days, and Holidays on a Project Sheet

The sheet owner and collaborators with Admin access to a dependency-enabled project sheet can configure non-working days and holidays for the project, as well as the length of working days (in hours).

Here are a few things to keep in mind about non-working days and holidays in Smartsheet:

  • When the Gantt chart timeline is displayed in days, you'll see non-working days highlighted in grey in the Gantt chart and holidays highlighted in pink.
  • Tasks and milestones can be scheduled manually to start on a non-working or holiday, but end dates can't occur on these types of days.
  • Non-working days and holidays aren't included in duration calculations.

A System Admin of a multi-user plan can also configure working, non-working and holidays at the account-level. The settings will be applied to any new sheet with dependencies enabled created by licensed users on the account. (Not sure which plan type you have? See Identify Your Smartsheet Plan and User Type.)

TIP: Open the User Management screen to find a list of licensed users on the account.


Sheet-level Working, Non-Working, and Holidays

You can use the Project Settings form for a sheet to set the length of working days (in hours), designate days of the week as non-working, and specify dates of holidays. Non-working days and holidays are not included in duration calculations and can be set differently for each project sheet.

NOTE: Dependencies must be enabled on the sheet in order to configure these settings. For information about how to enable dependencies, see the article Enabling Dependencies and Using Predecessors.

  1. Click the Project Settings icon in the Gantt chart header or right-click on any column header and select Edit Project Settings to display the Project Settings form.
    Project Settings form
  2. Under the Working Days section, click Edit to display the Working Days form.
  3. Select the checkbox for each day of the week your team will be working on the project.
  4. Enter a value representing the number of hours per working day in the Length of Day (hours) field if your team works more or less than 8 hours per day.
  5. Enter any specific dates of non-working or holidays in the Non-Working Days (holidays, exceptions) section.
    TIP: You can copy and paste dates using keyboard shortcuts or you can click the calendar icon to the right of this field to select dates from a calendar picker.
     
  6. Click OK to close the Project Settings form.

Account-level Working, Non-Working, and Holidays

A System Admin on a multi-user plan can configure working day settings at the account-level. The settings will be applied to new sheets with dependencies enabled created by licensed users on the account. New sheets created from templates will always inherit the working days of the template regardless of the settings for account-level working days. See Templates: Create Your Own or Use One from the Solution Center for information about creating your own templates.

  1. Click Account in the upper left corner, then select Account Admin. The Account Administration form appears. Click Account Settings on the left side of the form.
  2. Click the Edit button underneath the Working Days heading to configure the settings.
  3. Select the checkbox for each day of the week your team members work on projects.
  4. Enter a value representing the number of hours per working day in the Length of Day (hours) field if your team works more or less than 8 hours per day.
  5. Enter any specific dates of non-working or holidays in the Non-Working Days (holidays, exceptions) section.
  6. Click OK to save your changes.