logo
search
Others

How to Prevent Tasks from Running Simultaneously in Microsoft Project

Nimra MalikNimra Malik Oct 10, 2026 868 views

Question details

The user wants to prevent two tasks from occurring at the same time in Microsoft Project without forcing a rigid predecessor-successor relationship, as the tasks can happen in any order.

How to Prevent Tasks from Running Simultaneously in Microsoft Project
Product
Microsoft Project
Device & OS
not provided
Scenario
Building reusable project templates where certain tasks cannot overlap but do not require a strict execution order, and where fixed dates or forced links would create inaccurate automatic schedule calculations.
Observed behavior
Microsoft Project does not offer a direct 'either-or' or 'do not overlap' task constraint natively.
Before you start

Verify if the tasks truly cannot overlap due to physical constraints, such as sharing the same location, personnel, or equipment, before applying a scheduling workaround.

Solution 1Recommended

Use a Shared Resource with Resource Leveling

By creating a dummy shared resource and assigning it to both tasks, you can leverage Microsoft Project's built-in leveling engine to automatically sequence the tasks without overlapping.

This method works best because it avoids hardcoding task dependencies. If a delay occurs in one part of the project, the leveling engine dynamically recalculates the schedule to ensure the shared resource is never over-allocated.

1
Create a dummy resource

Navigate to the 'View' tab, select 'Resource Sheet', and create a new Work resource named 'Non-concurrent Constraint' with a Max Units setting of 100%.

2
Assign the resource to both tasks

Switch back to the Gantt Chart view. Double-click the first task, go to the 'Resources' tab, and assign the 'Non-concurrent Constraint' resource. Repeat this step for the second task.

3
Run resource leveling

Go to the 'Resource' tab on the top ribbon and click 'Level Resource' or 'Level All'. Project will automatically delay one of the tasks so they run sequentially based on available slack and priority.

Use a Shared Resource with Resource Leveling
Automated Scheduling: Using resource leveling keeps your templates flexible, allowing Microsoft Project to automatically calculate the optimal order without manual date adjustments.
Free Microsoft Office alternative

Simplify Project Scheduling with WPS Office

If complex software constraints like those in Microsoft Project are slowing you down, consider managing your tasks with WPS Office. With its intuitive interface and versatile spreadsheet capabilities, you can easily track project timelines using highly customizable, free Gantt chart templates.

  1. 1. Download and install: Get WPS Office for free from the official website and open WPS Spreadsheet.
  2. 2. Find a project template: Click on 'Templates' from the homepage and search for 'Project Schedule' or 'Gantt Chart'.
  3. 3. Customize your timeline: Fill in your task details and visually arrange your timeline without fighting strict software constraints.
Access hundreds of free, ready-to-use Gantt chart and project tracking templates.Fully compatible with Microsoft Excel (.xlsx) formats for seamless file sharing with your team.Lightweight application that runs smoothly on Windows, macOS, Linux, and mobile devices.
microsoft office alternative - wps office

Frequently Asked Questions

Does Microsoft Project have a native 'do not overlap' task constraint?

No. Microsoft Project requires either a defined predecessor-successor relationship or resource limitations to prevent tasks from overlapping. It lacks a direct 'either-or' constraint for independent tasks.

Why shouldn't I use fixed dates to prevent tasks from running simultaneously?

Using fixed start or finish dates creates rigid constraints in Microsoft Project. If an earlier project phase is delayed, fixed dates will prevent the scheduling engine from dynamically updating the timeline, resulting in an inaccurate schedule.

How does resource leveling resolve simultaneous task conflicts?

When you assign a single unit of a shared resource to two tasks, resource leveling recognizes that the resource cannot be in two places at once. It automatically delays the lower-priority task until the resource is freed, ensuring the tasks execute sequentially.