Foundation Gantt: Critical Path, Dependencies, Baselines for Jira
Foundation's Gantt chart is a first-class feature with 4 zoom levels, all 4 dependency types, drag-to-link creation, critical path highlighting, and baseline comparison — and changes you make on the Gantt sync to Jira instantly.

What's in Foundation's Gantt view?
A full-featured project Gantt, not a flattened roadmap. The grid stays on the left, a zoomable timeline appears on the right, and every row aligns one-for-one with a bar on the timeline. Task bars render for every leaf issue with both a start and due date. Parent rows show translucent group bars spanning the earliest start to the latest end of their descendants. Milestones render as diamond markers on a single date. A today line (orange) anchors your mental model. Dependency arrows connect predecessor bars to successor bars. Four zoom levels — Day, Week, Month, Quarter — cover tactical sprint planning through portfolio roadmapping. Bar style (headline text, subhead, in-bar assignee, bar icon) is configurable per saved view. See Open the Gantt for the full walk.
How do dependencies work?
All four standard dependency types are supported: Finish-to-Start (FS, the default), Start-to-Start (SS), Finish-to-Finish (FF), and Start-to-Finish (SF). Draw a link by hovering any bar, grabbing a dependency handle on the left or right edge, and dragging to the target bar. The edge you leave from and the edge you land on determine the type — right-to-left is FS, right-to-right is FF, left-to-left is SS, left-to-right is SF. Click an existing arrow to open a popover with type, lag time (in working days, weekend-skipped), and a remove control. Cycles are rejected before they save; when a schedule conflict appears, you choose whether to auto-schedule (cascade) or respect the link (move the date). A toast summarizes every cascade with a 60-second undo. Full detail on the Dependencies doc page.
How does critical path analysis work?
Foundation runs the classic Critical Path Method (CPM) algorithm. Toggle Critical path in the Gantt display options and the engine gathers every leaf task with both a start and end date, follows only finish-to-start dependencies between them, runs a forward pass to compute Early Start and Early Finish, runs a backward pass for Late Start and Late Finish, and flags every task whose Early Start equals Late Start — those are the zero-float, on-critical-path tasks. They re-render in a highlighted treatment so the load-bearing chain pops out. Change any date or dependency and the path recomputes. Use it in stand-ups to triage blockers on the critical chain first. See Critical path in the docs.
What is a baseline and how do I use it?
A baseline is a frozen snapshot of where your bars were at a point in time. Capture one at the start of a quarter, after your first planning pass, or right before a replan — then the original dates appear as a thin ghost line under each current bar. Slippage is obvious: the current bar sits right of the ghost, pull-ins sit left, duration changes show up as different bar lengths. Multiple baselines can coexist ("Q2 Commit", "After replan Mar 15") and you switch between them from the Gantt toolbar. Baselines capture only start and end dates — not dependencies, assignees, or progress — which keeps them fast and clean. You can also point a baseline at a pair of custom Jira date fields, turning it into a live comparison against whatever you use for "original plan" dates. Detailed walkthrough at Baselines.
Can I inline-edit schedules on the Gantt?
Yes — the Gantt is editable, not read-only. Drag a bar's left edge to change its start date. Drag the right edge to change its due date. Drag the bar itself to reschedule both together. Drag a diamond to move a milestone. Every edit writes back to Jira immediately via Foundation's inline-edit pipeline — the same code path the grid uses. Dependency cascades preview as translucent ghost bars during the drag so you see where successors will land before you commit. A toast lets you undo within 60 seconds. For issues without dates yet, drag in empty space below the today line to draw a new bar and set both dates at once. Editable dates include Jira's built-in Start date and Due date; custom date fields can be mapped via the view configuration.
How does Foundation's Gantt differ from Jira's built-in timeline?
Jira Cloud ships a Timeline view inside each board — effectively a lightweight roadmap for Epics within a single project. It is excellent at what it does and completely wrong for cross-project portfolio scheduling. Foundation's Gantt is project-management software by comparison: it handles multi-project hierarchies, all four dependency types with drag-to-link creation (Jira's timeline has none of these), critical path analysis, baselines, milestones, and working-day lag. Jira's timeline gives you a read-mostly roadmap view; Foundation's Gantt gives you a true schedule you can edit. Both tools are useful. Use Jira's timeline inside a single delivery team's board; use Foundation when you need a portfolio schedule that spans teams.
How does it compare to Structure.Gantt and BigPicture Gantt?
Structure.Gantt is sold as a separate paid add-on on top of Structure itself — two Marketplace licenses, two price points, two install flows. BigPicture bundles Gantt into its Modules model (Roadmap, Resources, etc.) and prices each module individually. Foundation takes a simpler stance: the Gantt is included in the Advanced edition at a flat per-user price, no add-on license, no module gating. Feature-for-feature the three are comparable at the core — dependencies, critical path, baselines, inline editing — but Foundation's event-driven Jira sync, Forge-native security model, and bundled pricing are the deciding factors for most buyers. See the full Foundation vs Structure and Foundation vs BigPicture comparisons for the detailed matrix.
Frequently asked questions
What is the largest plan size the Gantt supports?
Gantt rendering targets responsive performance up to the Lens limit — 1,000 issues in MVP, with a hard ceiling of 10,000. Large Gantts use row virtualization so only the visible rows render, and the schedule engine runs incrementally rather than recomputing the whole plan on every edit. Expect snappy interaction up to a few thousand dated tasks; beyond that, split the work into multiple Lenses or use filters to focus on a slice.
Can I print the Gantt?
You can export the underlying Lens to CSV today (honors the current filters, sort, and columns) for distribution. Direct Gantt printing and PDF export are on the post-MVP roadmap — the most requested format is a letter-sized landscape PDF with the tree on the left and the current zoom range on the right. If you need it sooner, most teams screenshot the visible Gantt and paste into Confluence, which round-trips cleanly.
Do milestones sync to Jira?
Jira has no native milestone concept, so milestone markers live inside the Lens. The underlying Jira issue behind a milestone is a normal Jira issue with a single date — when you drag the diamond on the timeline, Foundation writes the new date back to Jira via the configured date field. Collaborators in Jira see an updated date; they do not see a special "milestone" flag unless you have mapped that to a custom field yourself.
Does the critical path update in real-time?
Yes. Turn on critical path highlighting in the Gantt display options and the CPM analysis runs on every date change, dependency edit, or issue add/remove. Tasks that drop off or come onto the critical path re-highlight immediately. The algorithm considers only finish-to-start dependencies between leaf tasks with both a start and end date — SS, FF, and SF links are excluded from the critical path calculation by design.
Can I undo a drag on the Gantt?
Yes. After any schedule edit — dragging a bar to reschedule, resizing a bar's duration, drawing a new dependency, creating a milestone — Foundation shows a toast with an Undo button for 60 seconds. Click it and the change (including any cascade to dependent tasks) reverts cleanly. Beyond the 60-second window, use Jira's own issue history to restore specific field values, or reload the Lens to re-fetch current state.