Disciplined Agile

Gantt Charts and Agile Planning

Are Gantt charts applicable for agile and lean teams? The quick answer is that yes, they are in some circumstances. The Disciplined Agile (DA) tool kit provides put techniques into context to help you to decide how and when they will potentially add value. This article provides advice for when to apply Gantt charts.

Gantt charts are used to visually depict schedules. Figure 1 provides an example of a high-level Gantt chart for an agile project team. Activities are presented as horizontal bars, milestones and other types of important dates as diamonds. The exact notation will vary based on the tool that you use. In Figure 1 milestone dates that the team is responsible for are filled rectangles whereas dates that external teams are responsible for (and which this team depends on) are shown as empty rectangles. For example, in Figure 1 the Proven Architecture milestone date is April 6th and the team depends on the delivery of a Security Framework which is scheduled for June 15th (hopefully the team recognizes this is a risk that they need to address).

Gantt Chart

Figure 1. Example of a high-level Gantt chart (click to enlarge).

Here are some heuristics for applying Gantt charts effectively:

  1. Summarize project schedules. Teams taking project-based approach, following DA’s Agile life cycle or Lean life cycle, may choose to use a Gantt chart to capture their project schedule. Figure 1 depicts a desired schedule for an agile project team, showing initial Inception phase work, a series of Construction iterations/sprints, and then Transition phase work. This schedule was developed as the result of the team’s Plan the Release efforts.
  2. Summarize release schedules. Product teams tend to be long-standing in that they remain formed to deliver many releases over time.  These teams are likely to follow one of DA’s Continuous Delivery: Agile or Continuous Delivery: Lean life cycles. Such teams may choose to apply Gantt charts to capture their release schedules.
  3. Keep it high-level. Figure 1 is high-level, showing important dates and activities. It is possible to capture far more detail, depicting individual activities down to the task level, dependencies between the activities, and even who is doing the activities. Such details are better captured using other mechanisms, such as task boards, if at all.
  4. Track and communicate critical dependencies and dates. The Gantt chart in Figure 1 is used by the team to identify and then track critical dependencies and milestones.
  5. Expect it to change. Teams face changing environments and shifting priorities, and as a result their schedules will need to vary accordingly. The implication is that the team may find that they need to update their Gantt chart over time, as the result of continuous planning activities captured in the Produce a Potentially Consumable Solution process goal.
  6. Provide date ranges. The challenge with estimated dates is that they shift as your situation evolves. As a result, it is poor practice to provide exact estimated dates, such as the Production Ready milestone date of November 2nd in Figure 1. Gantt charts, particularly those created using a project management tool, will often calculate exact dates and thereby imply a level of planning precision that typically doesn’t exist. A better practice is to instead calculate, and then communicate, ranged dates. In Figure 2 we show an example of doing exactly that, using an activity to indicate a date range, October 1st to December 15th, for the Production Ready milestone. Having said this, it requires the target audience of the Gantt chart to understand the implication of why dates are presented as ranges. 
Gantt Chart Ranged

Figure 2. Example of a Gantt chart depicting critical “dates” as ranges (click to enlarge).

To summarize, Gantt charts do in fact have a potential application on Agile and Lean teams. If you’re in a situation where creating, and then evolving, a Gantt chart makes sense then do so to the extent that it makes sense. A common reason why Agile teams choose to not apply Gantt charts is because they’ve seen them abused in the past by capturing too much detail that was better captured in different ways.  This detail needed to be maintained as their situation evolved, thereby injecting needless overhead. Our advice is to use Gantt charts for what they’re good for, capturing and visually communicating high-level information.

February 2022