Welcome! In project management, people often talk about project constraints—things like time, cost, scope, resources, or a fixed deadline that can’t be ignored. In Microsoft Project, however, task constraints mean something very specific: a date override you apply to the Start date or Finish date of a task for reasons Microsoft Project could never know. In this article, I’ll show you what the “wrong way” looks like when people try to force a date by typing in the Start or Finish field—what happens when you do that, and why it causes problems. Then I’ll teach you the one right way to apply Microsoft Project task constraints so you stay in control of your schedule. Updated for 2026 by adding more context about constraints and recommendations to use and troubleshoot them.
What Are Project Constraints in Project Management?
In general project management, constraints are the limitations or boundaries you must plan around—such as time, budget, scope, resources, or required dates. These constraints influence what’s realistic and help explain why a schedule can’t simply be “compressed” without tradeoffs.
What Are Microsoft Project Task Constraints?
In Microsoft Project, a task constraint is a date override applied to a task’s Start date or Finish date. You use task constraints when you have a real-world rule that Microsoft Project can’t automatically understand—such as resource availability, a required start window, a delivery date, or a contractual deadline.
What the “Wrong Way” Looks Like (And Why It Causes Problems)
The most common mistake I see is when people try to “force” a task by typing a date directly into the Start or Finish field. When you do that, Microsoft Project may automatically apply a constraint behind the scenes—and it may choose a constraint type you wouldn’t select yourself.
Why this is a problem:
- Microsoft Project can apply a constraint without asking your permission
- The software may choose the constraint type it wants, not the one you intended
- You can trigger scheduling prompts that lead to unexpected changes if you’re not careful
Bottom line: Don’t type dates directly into Start/Finish to set constraints.
Want the correct method? Click here: Jump to the Step by Step
Which Constraint Type Should You Use? (SNET vs FNLT and More)
Here are two of the most common constraint types you’ll use in real schedules:
Start No Earlier Than (SNET)
Use Start No Earlier Than when a task cannot start before a certain date, but it’s allowed to start later.
Important tip: If the reason is truly a waiting period—like staff availability, procurement time, vendor lead time, shipping, or waiting on parts—consider modeling that delay as a task instead of relying only on a constraint.
Best practice: model the delay as a task
If the delay is known, create a task that represents it and link it to the work that follows. This keeps your schedule transparent and measurable.
Examples:
- “Wait for Test Team Availability” (5 days) → predecessor to “Test Product 2”
- “Vendor Lead Time for Part” (10 days) → predecessor to “Install Part”
- “Procurement / Shipping Lead Time” → predecessor to the first task that requires the item
Why this works better than SNET in many cases:
- Stakeholders can see the delay (it’s not hidden behind a date)
- You can baseline the delay and track variance if it slips
- Your schedule logic stays cleaner and easier to explain
Finish No Later Than (FNLT)
Use Finish No Later Than when a task (or milestone) must finish by a specific date, but it can finish earlier. This is a good fit for contractual or target finish dates.
Best Practices for Using Task Constraints
A few best-practice recommendations:
- Prefer “soft” constraints like SNET and FNLT over “hard” constraints whenever possible
- Use constraints intentionally—too many constraints can make a schedule harder to trust
- Add a short task note explaining why the constraint exists
- Baseline the schedule so you can measure the impact of constraint-driven movement over time
My Recommendation: Model Waiting Time With a Task (Not a Constraint)
When you’re dealing with waiting—lead times, staffing delays, approvals, shipping, procurement—the cleanest approach is often to model the delay as a task (30 days or manufacturing and delivery) and connect it with links. This makes the schedule easier to understand and gives you something you can baseline and track.
You can still use constraints for truly fixed “cannot start before” dates—but don’t use them as a substitute for showing real waiting time when that’s what’s actually happening.
How to Review and Audit Constraints in a Schedule
If the schedule is behaving unexpectedly, look for constraints. Add these columns to a table to review quickly:
- Constraint Type
- Constraint Date
Then sort or filter to find tasks with constraints and verify each one has a valid business reason.
The Right Way to Apply a Task Constraint in Microsoft Project: Step by Step
Before you start the Project Task Constraints-setting process, locate the task in Microsoft Project that needs a task constraint. Avoid the incorrect method for setting a constraint, which is manually typing or selecting a date in the Start or Finish cell, which triggers Microsoft Project’s automatic constraint setting behavior. If you use the incorrect method, the software will select the constraint it wants…and it will not ask your permission for doing so! Avoid this at all costs.
Here is how to set a constraint properly:
- Double-click the task to open the Task Information dialog.
- Click the “Advanced” tab in the dialog.
- Click the “Constraint Type” pick-list button select the appropriate constraint type (e.g., “Start No Earlier Than” or “Finish No Later Than”).
- Enter or select the desired date for the constraint in the Constraint Date field.
- Optionally, add a task note to explain the reason for the constraint.
- Click the OK button to set the constraint.
Reminder: Avoid typing dates directly into the Start or Finish fields to “force” a constraint.
After setting the constraint, apply the Gantt Chart view to ensure the task’s schedule adjusts according to the applied constraint. You can then repeat this process to set constraints to other tasks, if necessary.
Common Questions About Task Constraints
Q: How do I remove a constraint?
A: Change the Constraint Type back to the normal default (for most schedules, that’s “As Soon As Possible”) and re-check the schedule.
Q: Are constraints always bad?
A: No—constraints are sometimes necessary. The key is applying them intentionally, using the correct method, and documenting why they exist.






Leave a Reply