Milestones

A milestone is a zero-duration event that marks a significant point in your project — a decision gate, a deliverable handoff, a phase boundary, or a contractual deadline. In DPlan, milestones appear as diamonds on the Gantt timeline and carry their own set of properties.

What Makes a Milestone Different from a Task

PropertyTaskMilestone
Duration1 or more working daysAlways 0 days
Gantt appearanceHorizontal barDiamond (◆) at a single date point
Drag to rescheduleDrag bar bodyDrag the diamond
Resize by dragging right edgeYesNo — duration is fixed at 0
Progress field0–100 %0 % (incomplete) or 100 % (complete)
Can have dependenciesYesYes — predecessors and successors
Can be anchoredYesYes — use MSO constraint for a hard deadline
Appears in Dashboard milestones panelNoYes

Adding a Milestone

There are three ways to add a milestone:

After inserting, the new milestone row is selected and in edit mode. Type the milestone name and press Tab to move to the date field. Enter the target date. Because duration is always zero, there is no end-date field — the milestone's start and end date are the same.

Milestone Properties (Task Editor)

Double-click the milestone row or press Enter to open the Task Editor. The following fields are available:

FieldDescription
NameThe milestone label, shown on the Gantt beside the diamond.
DateThe single date this milestone occurs. Corresponds to both start and end date in the data model.
ConstraintControls how Auto Schedule treats this milestone. Default is ASAP (floats with predecessor chain). Use Must Start On (MSO) to pin it to a hard contractual date.
StatusNot Started / In Progress / Complete / On Hold / Cancelled.
PriorityLow / Medium / High / Critical — used for filtering and dashboard display.
AssigneeFree-text or chosen from resource list. The person accountable for achieving the milestone.
DependenciesPredecessor tasks or milestones that must finish before this milestone can be reached.
NotesFree-text field. Content appears in the hover tooltip on the Gantt diamond.
ProgressSet to 100 % to mark the milestone as achieved. The diamond fills solid and the Dashboard removes it from the upcoming list.

Milestone Appearance on the Gantt

A milestone is rendered as a rotated square (diamond shape, ◆) positioned on its date. The diamond is colour-coded:

The milestone's name label is printed to the right of the diamond. If a deadline marker is set, a vertical dashed line extends from the diamond downward with a small flag label.

Anchored Milestones — Hard Deadlines

By default a milestone's date shifts when Auto Schedule runs (ASAP constraint — it floats to the earliest date its predecessors allow). To lock a milestone to a contractual or regulatory date, set its constraint to Must Start On (MSO).

With MSO, Auto Schedule will not move the milestone. If the predecessor chain calculates a finish date that is later than the MSO date, the milestone will show negative float — a clear warning that the plan cannot meet the deadline without changes.

A milestone with MSO and negative float means your current plan is late. The critical path will run through that milestone. You must either shorten predecessor durations, add resources, introduce lead (overlap), or negotiate the deadline.

Using Milestones as Phase Gates and Go/No-Go Checkpoints

A phase gate is a formal review point where stakeholders decide whether the project should proceed to the next phase. Model this in DPlan as follows:

  1. Add a Summary Phase for each phase (e.g., Phase 1: Discovery).
  2. Add tasks inside the phase.
  3. At the end of the phase, add a milestone (e.g., Phase 1 Gate Review).
  4. Make all phase tasks predecessors of the gate milestone (FS, no lag).
  5. Make the gate milestone a predecessor of the first task in the next phase.
  6. Set the milestone constraint to MSO if the review meeting is already booked on a fixed date.

This structure ensures Auto Schedule propagates the phase's latest finish through the gate before starting the next phase. It also makes the gate visible in the Dashboard's upcoming milestones panel, giving stakeholders a clear countdown.

Dependencies on Milestones

Milestones participate in the dependency network just like tasks:

Dependency arrows from and to the diamond are drawn on the Gantt. The arrow colour follows the same rule as task dependencies: grey for no lag, orange for positive lag, blue for negative lag (lead).

Marking a Milestone Complete

Two methods:

Once complete, the milestone is removed from the Dashboard's Upcoming Milestones list and counted in the Completed segment of the status donut.

Upcoming Milestones in the Dashboard

The Dashboard panel has a dedicated Upcoming Milestones card that lists all milestones where progress < 100 %, sorted by date ascending. Each entry shows the milestone name, date, assignee, and a colour-coded days-remaining badge:

Use this card in weekly status meetings to focus the conversation on what gates are approaching. See Dashboard for details.

Practical Examples

Example 1 — Project Kickoff

Add a milestone named Project Kickoff at the very start of the project. Set its constraint to MSO with the confirmed kickoff meeting date. Make it a predecessor of all initial tasks so nothing can be scheduled before the kickoff. This makes the kickoff explicit and visible to anyone reading the Gantt.

Example 2 — Design Sign-Off

After a series of design tasks (wireframes, mockups, client review), add a milestone Design Sign-Off. Make all design tasks its predecessors. Add a 2-day lag to allow for email approval turnaround. Make the first development task depend on this milestone. If the client delays sign-off, Auto Schedule automatically pushes all development work forward.

Example 3 — Product Launch

Add a milestone Product Launch with MSO set to the announced launch date (e.g., a trade show date). Make all testing, marketing, and deployment tasks predecessors. Run Auto Schedule — if any predecessor chain extends past the launch date, the milestone will show negative float and the critical path will highlight exactly which tasks are causing the delay. This immediately tells you where to apply crashing or fast-tracking resources.

Example 4 — Regulatory Submission Deadline

For compliance projects, add a milestone Regulatory Submission with MSO on the legal deadline. Make all documentation and QA tasks predecessors with appropriate lags for review cycles. The Dashboard countdown badge gives the team a daily reminder of how many days remain.

Pro tip: Name milestones as completed achievements, not activities. "Design Approved" is clearer than "Design Review" because it states what must be true for the milestone to be complete.
Pro tip: Keep the number of milestones manageable — aim for one milestone per major deliverable or phase gate. Too many milestones dilute their significance and clutter the Dashboard.