Duration
How task duration works in Plan Builder, how it affects scheduling, and how to set it.
What "Duration" means
- definition: Duration is the number of working days a task spans. We schedule on business days/hours only.
- units: Durations are whole numbers in days. Entering
1,5,10, etc. sets 1/5/10 working days. - milestones: A milestone has a duration of
0and starts and finishes on the same business day (08:00–17:00). - minimum: Non-milestone tasks must have a duration of at least 1 day. Zero-duration is only allowed for milestones.
How duration is used in scheduling
- auto-finish from start + duration: When you change a task's duration and it has a start date, the finish is recalculated using business-day math.
- auto-finish from start edits: When you change a task's start and it has a duration, we recompute the finish accordingly.
- duration = 1 means same day: A 1-day task starts at 08:00 and finishes at 17:00 on the same business day.
- defaults:
- New tasks default to
1day duration (or0if marked as a milestone). - If you provide both start and finish but no duration, we infer duration as the inclusive business-day count between those dates (minimum 1, unless milestone).
- New tasks default to
Business day rules
- Working hours: Tasks start at 08:00 and finish at 17:00 local business time.
- Time normalization: All start times are normalized to 08:00, and all finish times to 17:00.
- Weekend skipping: Weekends (Saturday and Sunday) are automatically skipped when computing start/finish dates.
- Business day alignment: If you enter a date on a weekend, it will be adjusted to the nearest business day (forward for starts, backward for finishes).
Predecessor constraints
- editing allowed: You can edit duration, start, and finish dates even when tasks have predecessors.
- FS enforcement: When a task has Finish-to-Start predecessors, its start date is constrained to the next business day at 08:00 after the latest predecessor finishes.
- Automatic clamping: If you manually enter a start date earlier than the constraint, it will be automatically clamped to the constraint.
- Finish edits: When you edit finish for a task with predecessors, your finish date is preserved and duration is recalculated from the constrained start to your finish date.
- Duration edits: When you edit duration, finish is recalculated from the constrained start + duration.
- Cascading: Changes to a predecessor's dates cascade through all dependent tasks.
Milestone behavior
- Duration forced to 0: Milestones always have a duration of 0, regardless of what you enter.
- Same-day times: Milestones start at 08:00 and finish at 17:00 on the same business day.
- Date normalization: If you enter different start/finish dates for a milestone, both will be normalized to the same business day.
Editing duration in the UI
- In the Plan grid, type a whole number in the
Durationcolumn. This value is interpreted as days. - In the Gantt editor dialog, the field is labeled "Duration (days)" and accepts only numeric values.
- Resizing a bar in the Gantt also adjusts the task's duration based on the inclusive day span.
How to enter duration
- Enter whole numbers (1, 5, 10, etc.) directly in the Duration column - these represent working days
- For multi-week tasks, calculate the working days (e.g., 2 weeks = 10 working days)
- Duration 1 = same day (start 08:00, finish 17:00)
- Duration 5 = one work week (Mon 08:00 to Fri 17:00)
Validation errors
The system will flag the following errors:
- Zero duration on non-milestones: Non-milestone tasks must have duration ≥ 1
- Finish before start: The finish date cannot be before the start date
- Self-predecessor: A task cannot be its own predecessor
- Circular dependencies: Tasks cannot form a dependency cycle (e.g., Task A → Task B → Task A)
Examples
Example 1: Simple 1-day task
- Duration:
1 - Start:
2025-01-13T08:00(Monday) - Finish:
2025-01-13T17:00(same Monday)
Example 2: 5-day task spanning a week
- Duration:
5 - Start:
2025-01-13T08:00(Monday) - Finish:
2025-01-17T17:00(Friday)
Example 3: Task spanning weekend
- Duration:
2 - Start:
2025-01-17T08:00(Friday) - Finish:
2025-01-20T17:00(Monday, weekend skipped)
Example 4: Task with predecessor
- Task 1 finishes:
2025-01-15T17:00(Wednesday) - Task 2 (successor) starts:
2025-01-16T08:00(Thursday, next business day)
Example 5: Milestone
- Duration:
0(forced) - Start:
2025-01-15T08:00 - Finish:
2025-01-15T17:00(same day)
Tips
- Prefer changing duration in the
Durationcolumn rather than forcing dates viaStart/Finish, especially for linked tasks, to avoid conflicts with dependencies and constraints. - For tasks with predecessors, you can edit duration, start, or finish. The system will automatically enforce constraints:
- Start dates are clamped to respect predecessor constraints.
- Finish edits preserve your finish date and recalculate duration.
- Duration edits recalculate finish from the constrained start.
- Use milestones to mark key project events or deliverables with zero duration.
- For multi-week tasks, convert to days (e.g., 2 weeks ≈ 10 working days) given your team's working calendar.
FAQ
Can I enter partial days or hours?
Not at the moment. Only whole-day durations are supported.
Why did my finish date move to 5:00 PM?
We normalize finishes to the end of the business day (5:00 PM) to keep schedules consistent.
How is project duration computed?
Project duration is derived from the schedule across all tasks (including predecessors) and can be reviewed via the project/summary tasks; it reflects the business-day span of the plan.
Last updated: 2025‑01‑31