Scheduling Features

Task Scheduling Constraints

Most tasks in a plan simply follow their dependencies: when a predecessor moves, they move. Some dates are not like that. Equipment arrives on a fixed day, a regulator needs the submission by the end of the month, a release has been agreed with the business. A scheduling constraint tells Fluid about a date like that, so Replan respects it - and tells you when the rest of the plan makes it impossible.

In this article, you will learn:

✔ The six constraint types and when to use each one

✔ How to set, change and remove a constraint from the task dialog, the Gantt chart or Bulk Edit

✔ How constraints are shown on the Gantt chart and in the grid

✔ How constraints affect Replan, dragging and dependencies

✔ How constraints behave on pinned tasks, and what is not supported



The six constraint types

Fluid uses the same constraint types as Microsoft Project. Every constraint has a type and a date, and a task has at most one constraint. A task with no constraint is scheduled as soon as its dependencies allow.

Constraint

What it means

Typical use

Start No Earlier Than

The task cannot start before the date. If its dependencies would start it earlier, it waits.

Work that cannot begin until a delivery, an approval or a contract start date.

Start No Later Than

The task must start on or before the date.

A start the business has committed to.

Finish No Earlier Than

The task cannot finish before the date.

A task that must still be running on a given day, for example cover that runs to the end of a support period.

Finish No Later Than

The task must finish on or before the date - a deadline.

Regulatory submissions, contract milestones, anything with a hard due date.

Must Start On

The task starts on the date, whatever its dependencies say.

A fixed event such as a training day or a site visit.

Must Finish On

The task finishes on the date, whatever its dependencies say.

An agreed release or go-live date.

The constraint date is a calendar day. For the three finish constraints it is the day the task finishes on: a task with Finish No Later Than 22 January meets it by finishing on 22 January.

Tip: Use the softer types (No Earlier Than, No Later Than) wherever you can. Must Start On and Must Finish On hold a task in place even when its dependencies say otherwise, so they are best kept for dates that genuinely cannot move.



Setting a constraint

You need Manage permission on the project to set or change a constraint. A constraint always needs both a type and a date: choosing a type without a date is not saved, and setting the type back to None removes the constraint.

From the task dialog

  1. Open the task in the Gantt view.

  2. On the date row, choose the Constraint type. A Constraint Date field appears next to it.

  3. Pick the date and click Save.

Release to customers anchored with Must Finish On 8 January 2027 in the task dialog.

From the Gantt chart

  1. Right-click the task's bar in the chart to open the Task Scheduling popup. From the grid on the left, right-click the row and choose Task Scheduling... instead.

  2. Choose the Constraint and the Constraint date. Non-working days on the task's calendar are greyed out in the date picker.

  3. Click Save.

The Task Scheduling popup holds the task's calendar and its constraint.

Clicking a cell in the Constraint or Constraint Date column opens the same popup (so does pressing Enter on either cell), so the type and the date are always saved together.

For many tasks at once

The Schedule Bulk Edit file has Constraint and ConstraintDate columns. Enter the constraint by the name shown in the schedule, for example Must Start On, with its date. A blank Constraint cell removes the constraint. A type with no date, or a name Fluid does not recognise, is reported in the upload messages and that row's existing constraint is left unchanged. After the upload, open the Gantt and use RePlan so the new constraints are applied to the dates.



Seeing constraints on the schedule

Switch on the Constraint and Constraint Date columns from Columns, in the Dates & Scheduling group.

The Constraint and Constraint Date columns in the Dates & Scheduling group.

On the chart, a constrained task carries a marker at its constraint date: an arrow pointing the way the constraint pushes, and a barrier line on the date. A dashed line is a limit (the four No Earlier Than / No Later Than types); a solid line is a fixed date (Must Start On and Must Finish On). A finish constraint's line sits at the end of its day, where the bar finishes.

Start No Earlier Than on System test, Must Finish On on Release to customers and Finish No Later Than on Post-implementation review, with their markers.



How constraints affect the schedule

  • Replan applies them. With Auto Replan on, constraints are applied as you edit the plan. With it off, they are applied when you click RePlan. RePlan keeps every constraint you have set; it only discards the positions of tasks you have nudged by hand.

  • They work in the task's own calendar. Working days, holidays and the working week all come from the calendar the task is scheduled on. See Choosing Calendars for a Project Schedule and Individual Tasks.

  • A dependency that cannot be met is reported, not hidden. When a constraint holds a task earlier than its dependencies allow - a Start No Later Than or Finish No Later Than that the plan has overrun, or a Must Start On or Must Finish On dated too early - Fluid uses the closest possible date and shows a warning naming the task. A constraint that only holds a task later than its dependencies is not a conflict: that is simply slack.

  • Dragging a constrained task moves its constraint with it. The type stays the same and the date follows the bar - the new start for a start constraint, the new finish day for a finish constraint. This is how Microsoft Project behaves.

  • Nothing else moves a constraint. Replan, Auto Replan, a date typed into the task dialog or a change to the title keep the constraint date you set. A deadline stays where it is, so the plan can show that it has been missed.

  • Dragging never adds a constraint. Moving a task that has no constraint leaves it without one.

The warning shown when a constraint cannot be met.



Pinned tasks and constraints

A pinned task (Manually schedule item) keeps the dates you give it, and Replan leaves it alone. Pinning wins over a constraint: the constraint stays stored but has no effect while the task is pinned. The grid shows it struck through, and the Task Scheduling popup explains why and disables the constraint controls.

System test is pinned, so its Start No Earlier Than constraint is shown struck through.
The Task Scheduling popup for a pinned task.

Un-pin the task to let the constraint apply again.



Limitations

  • Auto-calculated parent tasks cannot carry a constraint. Their dates come from their children.

  • As Late As Possible is not supported. Tasks are scheduled forward from their dependencies.

  • Constraints are not carried to or from Microsoft Project. An MPP download contains the dates the constraints produced, not the constraints themselves, and an upload does not read constraints from the file. See Exporting a Fluid Schedule to Microsoft Project.

  • A Bulk Edit upload does not replan. Constraints from the file are stored straight away and applied the next time the plan is replanned.



Frequently asked questions

I set a constraint and nothing moved.

Constraints are applied when the plan is replanned. Switch on Auto Replan, or click RePlan. If the task is pinned, the constraint is not applied - un-pin it.

Why does my Finish No Later Than show a warning?

The task's dependencies now finish too late for it to finish by the constraint date. Fluid has used the closest possible date; bring the predecessors forward, or agree a new date.

I dragged a task and its constraint date changed.

That is intended: dragging a constrained task moves its constraint with it. To keep the date fixed, edit the task's dates in the dialog instead of dragging, or set the constraint again afterwards.

Can I constrain a milestone?

Yes. Must Finish On is the usual choice for an agreed milestone date. See Managing Change Freezes and Release Windows for a worked example.



Was this article helpful?