Gantt Tools Evaluation Criteria

Introduction

A Gantt chart, at its basics, is a representation of the planned and actual work of tasks over time.
In fact, according to [Clark1923aa]1, a book written in 1923:

In the Gantt chart a division of space represents both an amount of time and an amount of work to be done in that time. Lines drawn horizontally through that space show the relation of the amount of work actually done in that time to the amount scheduled. This is the feature which distinguishes the Gantt chart from all other charts.

Even from the graphical point of view, little seems to have changed; the following diagram, presented in [@Clark1923aa]1, looks remarkably similar to the Gantt chart we draw today.

What has changed radically, of course, is our capability of using, analyzing, and manipulating the data associated to a Gantt chart. Tools, in fact, give semantics to the data we use to draw a Gantt chart: the beginning of a task is a date, rather than a point on a sheet of paper. This expands the possibilities we have to use Gantt charting tools also as management tools.

One of the drawbacks, however, is that Gantt charting tools come packed with features which we seldom use or need to use. That is, if you are interested in just drawing a diagram, you need to deal with a bunch of features which comes into your way. Where is the balancing point? This post summarizes some of the features to look at when evaluating Gantt a charting tool.

High-level requirements of a Gantt Charting tool

Gantt charting tools can help a project manager during the whole lifecycle of a project. They deliver most of their value, however, in the following phases:

  • During planning, to simplify scheduling. In my experience the main requirements during this phase are:
    • Drafting a high-level plan, defining the structure and the logic of the plan. Here the goal is setting the broad constraints: a rough schedule, an initial list of deliverables and milestones.
    • Building a detailed plan, in which effort and schedule are more precisely estimated for each activity and team members are allocated to activities. Here the goal is organizing work and committing to delivery dates.
    • Building a plan between the two level of details mentioned above. The goal is building a plan which commits to a schedule and to the resources needed. The granularity of the plan, however, is such that a precise estimation is difficult and a detailed allocation of resources down to the person would be an overkill.
  • During replanning, to update a plan. Here, the main requirements are:
    • Avoiding menial work (e.g., delays must propagate automatically).
    • Updating activities while respecting all the constraints.
    • Rescheduling activities breaking or violating some of the constraints (and being warned about it!).
  • During execution, to communicate the plan to the stakeholders and to coordinate work. Here, the main requirements include:
    • Communicating, e.g., to upper management, the main characteristics of the plan: budget/costs, milestones, deliverables, required resources.
    • Communicating, e.g., to your team, the detailed list of assignments and tasks: who is going to do what and when.
  • During monitoring, to evaluate performances and compare actual and planned data. Here the main desiderata include:
    • The possibility of storing data about tasks statuses.
    • Support for collecting data about tasks statuses.
    • Analyzing and aggregating data about tasks statuses.
    • Storing and viewing historical data, so that we can compare the evolution of our estimations.

On top of the functional requirements defined above, there are a set of non-functional requirements which need to be taken into consideration. These include:

  • Usability, namely, whether the tool is intuitive and well designed. Ease of use is one factor. Another aspect to consider is the possibility of collaborating on building a plan.
  • Supportability/Compatibility, that is, whether the system has to run on multiple operating systems and what other systems it has to exchange data with.
  • Licensing costs and schema, how much you are going to pay for using the system.

Main functions implemented by Gantt charting tools

This section contains the main functions implemented by many Gantt charting tools.

Scheduling and re-scheduling

  • F1. Calendar
    • Project calendar: it is possible to define standard and custom holidays, work-time and off-time
    • Resource calendar: it is possible to define a custom calendar for each resource, including work-time and off-time
  • F2. Task types
    • Tasck groups and hammocks: it is possible to group tasks
    • Deliverables: it is possible to define deliverables in the Gantt chart
    • Milestones: it is possible to highlight milestones in the Gantt chart
  • F3. Constraints between activities
    • Logical constraints between activities: FS, SS, SF, FF
    • Slack and lag time: it is possible to insert a negative or positive delay between two connected activities
    • Calendar constraints, which sets a limit to the start or end date of a task. That is, it is possible to mark an activity with one of the following constraints: must start (end) on a specific date, no earlier (or later) than a specific date, as soon as possible, as late as possible
    • Task priorities: it is possible to assign priorities to tasks
    • Forward and backward scheduling: it is possible to schedule a plan forward or backward (given the end date)
  • F4. Connection between time, work, and resources. It is possible to:
    • Estimate using effort
    • Estimate using duration
    • Define human resources and allocating resources to activities
    • Define material resources and equipment and allocating material resources and equipment to activities
    • Decide how to compute the relationship among duration, work, and effort. That is:
    • Mark an activity as fixed units, fixed calendar, fixed work
    • Mark an actitivity as effort-driven
  • F5. Scheduling:
    • The tool does not allow to build plans which violate constraints (e.g., can I move a task after its “no later than” date)
    • The tool warns about violations of constraints (e.g., I can violate constraints, but if I move a task after its “no later than” date, the tool shows a warning)
    • The tool shows the resource load, highlighting over and under allocations
  • F6. Automation:
    • The tool computes the critical path
    • The tool has a resource leveling algorithm
    • The tool allows to change the start date of a project
    • The tool can automatically reschedule unstarted tasks to start of a new given date
  • F7. Budgeting
    • It is possible to assign a cost to resources, possibly according to different strategies (e.g., per use, per hour)
    • It is possible to distinguish between standard and overtime rates
    • It is possible to assign a fixed cost to a task
    • It is possible to define the work profile/how costs are computed in a task (upfront, at the end, linearly)
    • The tool computes the project budget
  • F8. Book-keeping
    • It is possible to assign a textual note to a task
    • It is possible to assign an attachment to a task
  • F9. Integration
    • Plan data can be shared with other projects

Communicating your plan

  • F10. Decorating the Gantt chart
    • It is possible to choose the time granularity of the Gantt chart
    • It is possible to choose the color of plan elements (tasks, deliverables, milestones) in the Gantt chart
    • It is possible to choose the shape of plan elements (tasks, deliverables, milestones) in the Gantt chart
    • It is possible to choose what information is shown alongside each task (e.g., resources, task name)
    • It is possible to add sticky notes to the Gantt chart. As a plus: the stick note moves with the plan
    • It is possible to draw on the Gantt chart
  • F11. Structuring the information
    • It is possible to view a the WBS in a graphical format
    • It is possible to present the project WBS as a textual outline
    • It is possible to show the plan as a network (PERT) diagram
    • It is possible to filter tasks: for instance, the list of milestones, the list of deliverables, the list of started tasks
    • It is possible to show the list of assignments: which resource is going to do what and when
  • F12. Formats (notice that some of the requirements do not refer merely to presentation capabilities, but, rather, to interoperatibility with other tools):
    • It is possible to export the Gantt chart (and other reports) as a picture: JPG, PNG, …
    • It is possible to export the Gantt chart (and other reports) in a vectorial format: PDF, EPS, …
    • It is possible to make the plan available on the web, either as a static or as a dynamic website. (The former usually applies to desktop applications, while the latter to web applications)
    • It is possible to export (or import) from a MS Project standard: MPX or MS XML
    • It is possible to export (or import) from a CSV
    • It is possible to export to the iCal format
    • It is possible to export/import resources from CardDAV
  • F13. Ease of use when exporting pictures:
    • Can I make the plan fit to one page?
    • Can I easily choose the calendar granularity?
    • Can I easily select the activities to export?
  • F14. Ease of use when importing/exporting information
    • Can I define custom formats for importing or exporting CSV files?

Monitoring

  • F15. Monitoring progress
    • It is possible to mark an activity as started
    • It is possible to mark an activity as completed (and similarly for deliverables and milestones)
    • It is possible to mark the time spent by each resource on a given task
  • F16. Comparison with previous plans
    • It is possible to save one or more baselines, that is, all the information of a plan at a given time
    • It is possible to compare the actual plan (or a baseline) with a baseline
    • It is possible to compare multiple baselines at the same time
  • F17. Standard Reports
    • It is possible to compare actual and planned effort (subcase of F16)
    • It is possible to compare actual and planned expenditure (subcase of F16)
    • It is possible to compare actual schedule and planned schedule (subcase of F16)
    • It is possible to perform earned value analysis, plotting PV, AC, and EV
  • F18. Custom Reports
    • It is possible to assign custom properties (columns) to tasks (e.g., accountable partner, probability of delay)
    • What type of columns can be defined? (e.g., integers, strings, checkboxes)
    • It is possible to aggregate custom columns at higher levels of the hierarchy, specifying an aggregation rule. For instance: I might be willing to sum the custom column “additional costs”, to get the maximum of the custom column “probability of failure”
  • F19. Data collection
    • The tool can import data (e.g., timesheets) from a file (subcase of F14)
    • The tool allows authorized team members to update data and plan status

Matching requirements and features

What features are you most likely to need? The short answer is, of course, “it depends”. A slightly more elaborated answer, however, tries to match requirements and features. The following table, therefore, puts toghether the requirements with the features.

Requirement Revelant Section Features
Sketching a high level plan Scheduling and re-scheduling A subset of the features listed in F1..F9 More in details:
– Choosing an appropriate time granularity
– Planning using duration (rather than effort)
– List deliverables and milestones
– Drawing capabilities are a plus (I have seen many plans written in Excel)
In some cases, F18, to, e.g, mark task accountability
Building a detailed plan Scheduling and re-scheduling All features from F1 to F9
Rescheduling your plan Scheduling and re-scheduling The most relevant features are F3 to F6, which are related to preserving the logic of the plan
Communicating your plan Communicating – Most, if not all, the features listed in F10 ad F11
– A subset of F12, namely some capabilities to export the plan and make it available to your collaborators in some formats
– The features listed in F13 are a plus (a nice one!), if you need to embed your plan in a document or print it
Communicating the list of assignments Communicating – Some of the features listed in F12: more specifically the possibility of exporting to a website, the possibility of exporting to iCal, the possibility of generating a custom report, to name the main ones.
Monitoring your plan Monitoring – Most, if not all, the features listed in Section “Monitoring” (F15 to F19). The basic feature is being able to save one baseline and compare the schedule of the baseline with that of the actual plan.

More Resources on this website

  • List of Gantt charting tools

References

1 Wallace Clark and Henry Laurence Gantt. The Gantt Chart – A working tool of Management. The Ronald Press Company, second printing edition, 1923.

    @book{Clark:1923aa,
      Author = {Wallace Clark and Gantt, Henry Laurence},
      Date-Added = {2013-01-05 15:51:30 +0000},
      Date-Modified = {2013-01-05 15:54:37 +0000},
      Edition = {Second Printing},
      Lastchecked = {January 5, 2013},
      Publisher = {The Ronald Press Company},
      Title = {The Gantt Chart - A working tool of Management},
      Url = {http://archive.org/details/ganttchartworkin00claruoft},
      Year = {1923},
      Bdsk-Url-1 = {http://archive.org/details/ganttchartworkin00claruoft}
    }

Post a comment