Milestones best practices


There are two forms of things called ‘milestones’ in Shotgun:

  • in project timeline, they appear as vertical lines
  • on a Task entity, it’s a checkbox field, and is used to change its drawing style on Gantt charts.

There are no ‘questions’ per se in this posting. I’m just hoping on consensus, or debate. I’m seeking ground truth. tia.

Project Milestones

The Project Timeline milestone is simple:

  • it’s essentially a deadline or kickoff
  • it usually occurs near the start or end of a phase
  • it shows up on the project’s Task Gantt charts
  • they are managed by facility-wide planners and help provide oversight

Task Milestones

A Milestone-attributed Task is:

  • a Task that has its milestone checkbox on. That’s it. It changes to a diamond shape.

When a Task is changed to a milestone-type one – apart from its display style – what exactly would that mean about its intrinsic identity? How do you even put it into a common-sense sentence? The connection between Task and Milestone is at an arm’s length:

“Once we completed that task, we reached a new milestone.”

A milestone is all about marking the completion of one or more events – it’s in its dictionary-definition: it’s a marker on a road.

Maybe you could think of it as a Task that, on its end point, has a marker attached to it… but we normally identify milestones by the completion of more than one task.

It’s not something that has duration, or assigned people, it’s all about ‘funnelling’ dependencies so you can manipulate them more easily in the Gantt view. But any Task that’s downstream can do that.

Truth be told: it’s not a Task at all, in the same way a phase is not a deadline. Unfortunately it’s pseudo-data that serves only to implement a viewing function.

What are they good for then, besides the icon-thingy in the Gantt chart?

  • (I could not think of anything to put here)

Best Practices

Therefor, if you must use them:

  • never assign people to them
  • never give them a duration
  • pray that Shotgun gets rid of them
  • think deeply about what you’re actually trying to model.

And if you do end up with them – it likely means you created another type of task, and not really a milestone. Maybe it’s a delivery task. Or archive. Essentially a nail-in-the-coffin-task.

Idealized Milestone

A Task, if it could interact with a Project Milestone, should:

  • not be able to have its dates set earlier/later (modelling a fixed, ‘deadline-flavored’ milestone)

…or in the case of a ‘completion’- or ‘kickoff’-style or ‘calculated’ milestone:

  • when the dates of the linked Task are altered, it would move the “calculated” milestone’s date
    • this could be used to model the project notifying the facility that they are ahead or behind the planned date.

These idealized goals come with many devilish details unfortunately (and the developers would be quick to reinforce this) …Tasks can be:

  • historical records (cmpt, omit, etc)


  • future plans (waiting)

or worse:

  • in progress (part history, part plan.)

There’s a high likelihood that many of you will find this completely against-the-grain, or non-intuitive or potentially incorrect, but I find the best way to expose truth is to blabber mindlessly.
There seems to be very little information about milestones. In the interest of concentrating wisdom, I’ve presented my thoughts on the topic for debate or reference. Or a fire-starter.


Hey @dougm—thanks for mindless blabbering, it takes me back to our days in production. :ducks under the table: :stuck_out_tongue:

Your part re:Project Milestones is on point and how I’ve used them in prod.

Regarding milestones on Tasks, I found them extremely helpful when running and tracking work as a producer because I could add my own milestones for my teams. This allowed for more customized and personal views for my artists. I could do this without clashing for the top-level schedules using Project Timeline Milestones (or other scheduling tools).

I’m not sure the history of it, but I found this 2010 post by Don:

But quickly - a “Milestone” is a single point in time without a work duration. To create a milestone, create a Task and then check the “Milestone” field (add that column to a task page in list mode and check the box). This then updates the behavior of the “Start”, “End”, and “Duration” fields:

  • “Start” and “End” are kept in sync. Update one and the other updates.
  • “Duration” is always set to 0 (whereas a task with the same Start and End date will have a 1 day duration)

The display of the font color for milestones is updated to blue, and the gantt icon is changed from a rectangle to a diamond.

Otherwise, Milestones behave the same as Tasks. -Don Parker, 2010

Based on that, I’m guessing the reason :shotgun: has two milestones is that Task-based milestones were first—and used more like Project Timeline-based milestones in their day—then the Project Timeline app came along in 2012 introducing the new milestone, but they were never reconciled. Just a theory though…

Curious what others think and how they’re seeing this!