1 · State the plan
Jobs, arrows and durations
Try a different shape
Examples replace the draft. Every edit clears the calculation and its download. Choose Calculate timing to calculate again.
2 · Compare what can overlap
Calculate this draft when you are ready
The result will show each job’s earliest and latest times, its total slack, and all critical links. The starting example has two equal branches and a zero-duration finish milestone.
An edited graph has no retained calculation. Your inputs stay only in this tab; reloading starts the example again.
2 · Read the timing
Timing for these inputs
Unlimited parallelism: independent ready jobs may run together. Durations are fixed integers, dependencies have zero lag, and latest times use this earliest project finish as their deadline.
Parallel earliest and latest schedules
All jobs are milestones at time 0. The arrows still determine which prerequisite must finish before a dependent job starts.
Exact times and total slack
Scroll the table horizontally if needed. Its scroll area is keyboard-focusable.
| Job | Direct prerequisites | Duration | ES | EF | LS | LF | Total slack | Role |
|---|
How to read these times
- Earliest start and finish
- A job starts after all its prerequisites finish. Its finish is its start plus its duration.
- Latest start and finish
- The latest schedule keeps the whole plan’s earliest finish unchanged, including every terminal job.
- Total slack
- Latest start minus earliest start. It measures this job’s allowable delay while preserving the project finish; connected jobs cannot always spend their slack independently.
- Critical job
- A job with zero total slack. More than one branch may be critical, and a zero-duration milestone can be critical too.
Critical jobs
Every critical branch
These are all tight critical arrows: both jobs have zero total slack, and the first job’s earliest finish equals the next job’s earliest start. A shortcut arrow can join critical jobs without itself being critical.
This graph has no tight critical arrows. Its critical jobs are still listed above.
Inspect every prerequisite arrow
The source must finish before the target starts. A gap between these earliest times makes an arrow non-tight.
No arrows were entered. Every job is independent.
| Arrow | Source earliest finish | Target earliest start | Critical branch? |
|---|
Fix the cycle before calculating timing
Timing requires an acyclic prerequisite graph, including when durations are zero. No partial project finish or critical path is reported for this input.
Jobs on a cycle
Downstream, but not cycle members
An independent job may still be ready in the prerequisite lesson. That does not give this complete graph a valid timing plan.
Keep this exact calculation
Download a local JSON trace with the arrow convention, assumptions, accepted graph, durations and complete calculated results. It contains no timestamp or calendar estimate.