Milestones and dependencies
Milestones mark the moments that matter — a beta, a go-live, a hand-off. Each has a name, a due date, and an open / met / missed status, and they appear both on the project detail and along the Gantt timeline. Milestones do not do work themselves; they are the goalposts you plan tasks toward, and reviewing "met vs missed" over time is a quick health read on a delivery team.
Dependencies express order. AWRA models finish-to-start links — "this task cannot start until that one finishes" — which is the clearest and most common relationship. On a task you add the tasks it is blocked by, and the page shows both a "Blocked by" and a "Blocks" view so the chain is explicit in both directions. A task can be blocked by several others.
The dependency graph is guarded against cycles. If adding a link would create a loop — directly (A depends on B, B depends on A) or transitively (A→B→C→A) — the system rejects it before saving and explains why. This matters because the scheduling maths in the next lesson assumes an acyclic graph; a cycle would make "what must finish first" unanswerable. Trust the guard: if a dependency is refused, you have a loop to rethink, not a bug to work around.
Key takeaways
- Milestones are dated goalposts with open/met/missed status, shown on the timeline.
- Dependencies are finish-to-start; a task can be blocked by several others.
- The task page shows both "Blocked by" and "Blocks".
- Cycles (direct or transitive) are detected and rejected before saving.