1. Task duration must be specified in a single format and in whole values
All project tasks are recommended to be defined using a single duration format - for example, only in days, weeks, or hours. In addition, durations must be expressed in whole numbers. This helps avoid ambiguity in calculations and simplifies schedule control. A unified format makes the model more stable, prevents rounding errors, and reduces the risk of discrepancies between planned and actual indicators.
Practical example:
When creating a construction project schedule, all design tasks are set to durations of 10 days, 15 days, 20 days, rather than “13.5 days” or “1.75 weeks”.
This avoids fluctuating calculations and simplifies control of dependencies between tasks.
2. Tasks without predecessors must be linked to the milestone “Project Start”
If a task has no incoming dependencies, it must be linked to the milestone “Project Start”. This ensures correct activation of all schedule branches and prevents “floating” tasks that may shift unintentionally when other parts of the plan change. Such a link establishes a logical reference point from which the model begins time calculation.
Practical example: The task “Prepare Technical Specification” has no logical predecessors.
In the project, it is linked as follows: Project Start → Prepare TS (FS).
3. Tasks without successors must be linked to the milestone “Project Completed”
Similarly, tasks with no outgoing dependencies must be linked to the final milestone of the project. This allows MS Project to correctly calculate the critical path, determine total project duration, and prevent uncontrolled “hanging” tasks that the system may interpret as completed too early.
Example: The task “Prepare Final Report” is the last in the workflow chain.
Even if it has no other dependencies, it must be linked to the milestone: Final Report → Project Completed (FS).
4. All project tasks and milestones must be linked
Each task must be integrated into a logical chain. The only exceptions are the two boundary points of the schedule - “Project Start” and “Project Completed”. Full connectivity minimizes the risk of logical gaps, ensures correct Gantt chart construction, and helps accurately identify the critical path.
Example: When planning equipment installation, every task is part of a sequence:
- Equipment delivery → Installation
- Installation → Commissioning
- Commissioning → Readiness check
This forms a continuous logical flow.
5. It is not recommended to link summary tasks
Dependencies must be created between regular tasks. Summary tasks are aggregated structures that control only the display of hierarchy. Linking them may lead to incorrect schedule behavior, circular dependencies, and calculation errors. The project logic must be built only at the level of atomic tasks.
Incorrect practice: Linking the summary task “Construction and Installation Works” to the summary task “Commissioning”.
This causes calculation errors and cycles.
Correct practice: Link specific tasks within these sections: End of installation → Start of commissioning (FS).
6. Use the “Finish–Start” dependency type
The “Finish–Start” dependency is the primary and most predictable way to build task relationships. It forms a clear execution sequence and ensures schedule stability. Other dependency types should be used only with a justified need.
Example: “Develop working documentation” (FS) → “Documentation approval”
Approval can only begin once development is completed, which is logical and transparent.
7. It is not recommended to use lead or lag
The use of lead (negative lag) and lag should be minimized. These mechanisms complicate critical path analysis and may hide real dependencies. Where possible, they should be replaced with separate tasks or explicit links, making the schedule more transparent.
Poor example: The task “Room finishing” starts with a 5‑day lead before “Engineering systems installation” (FS –5).
This is difficult to interpret and justify in reports.
Good example: Create separate tasks:
- “Partial installation of engineering systems”
- “Room finishing”
This makes the logic clear and verifiable.







