Mastery

The Dependency Wizard

The Dependency Wizard is the primary tool for building task dependency networks in Baulit. It provides a guided, visual interface for connecting tasks with Finish-to-Start relationships, and it prevents common scheduling mistakes by detecting circular dependencies in real time.

Recommended approach: The Dependency Wizard is the recommended way to build your schedule network. Link in Sequence is available as an alternative, but it chains tasks into a single serial sequence, which creates artificially long timelines and does not reflect how construction projects actually flow.

Why Use the Dependency Wizard?

Construction projects are not assembly lines. Work happens in parallel: your plumber and electrician can rough-in at the same time after framing is done. Your landscaper can start exterior work while interior finishes are underway. The Dependency Wizard helps you model these parallel work streams accurately, which gives CPM the information it needs to calculate a realistic project duration.

Key advantages over manual predecessor entry or Link in Sequence:

Accessing the Dependency Wizard

You can open the wizard from two places:

1. Select a Task Pick from task list 2. View Eligible Predecessors Search & browse 3. Click to Link (FS) Finish-to-Start 4. CPM Recalculates Schedule updates Cycle Detected Link Rejected

Step-by-Step Walkthrough

Open the wizard panel. Click Edit Dependencies on the Gantt view. The wizard panel slides in from the right side. The Gantt chart remains visible on the left so you can reference the visual timeline while editing.
Select a task to configure. Click any task name in the wizard panel's task list. The panel shows the selected task's current connections: predecessors listed above, successors listed below.
Add a predecessor. In the Predecessors section, type a task name in the search field. A dropdown shows matching tasks. Click to select one. The relationship is automatically set to Finish-to-Start (FS). The Gantt chart redraws immediately to show the new arrow.
Remove a predecessor. Click the X button next to any predecessor name. The connection is removed instantly and the Gantt chart updates.
Watch for cycle warnings. If adding a predecessor would create a circular dependency (for example, A depends on B, B depends on C, and you try to make C depend on A), the wizard blocks the action and displays a red warning message naming the tasks involved in the cycle.
Monitor network health. As you add connections, the network health percentage in the banner above the Gantt chart updates in real time. Watch it climb toward your target of 80% or higher.
Close the wizard. Click the X or press Escape to close the wizard panel. All changes are saved automatically as you make them.

Best Practices for Building Your Network

Start from the beginning and work forward

Begin with the first task in your schedule (usually something like Site Prep or Permit Application) and work forward chronologically. For each task, ask yourself: what must be finished before this task can start? That is your predecessor.

Think about hard constraints, not preferences

A dependency should represent a physical or regulatory constraint, not a scheduling preference. Framing must finish before roofing because you cannot roof a building that has no frame. That is a hard constraint. But painting and fixture installation might happen in either order depending on crew availability. Those are soft preferences that should not be modeled as dependencies.

Build parallel branches

Residential construction has natural parallelism. After the foundation is poured and cured:

All three branches start from the same predecessor (Foundation) but run in parallel. This parallel structure gives CPM the information it needs to calculate float accurately. If you chain everything into a single serial sequence, every task ends up on the critical path with zero float, and your calculated project duration is artificially long.

Use inspection tasks as merge points

In residential construction, inspections are natural merge points where multiple work streams converge. The rough-in inspection requires plumbing, electrical, and HVAC rough-in to all be complete. Model this by making all three trades predecessors of the inspection task. This creates a realistic network where the inspection cannot happen until all required work is done.

Do not over-connect

Not every task needs to be connected to every other task. If Task C already depends on Task B, and Task B depends on Task A, you do not need to also connect Task A to Task C. The transitive dependency is already captured. Adding redundant connections clutters the Gantt chart without improving the schedule calculation.

Network Health Targets

Health % Meaning Action
90%+ Excellent. Nearly all tasks are connected with durations. Your critical path is reliable. Review the Gantt chart for accuracy.
80-89% Good. Most tasks are connected. A few orphans remain. Connect the remaining orphan tasks or verify they are intentionally standalone.
50-79% Partial. CPM runs but the critical path may not reflect reality. Spend time in the wizard connecting tasks before relying on the schedule.
Below 50% Incomplete. Too many disconnected tasks for a meaningful schedule. Focus on building the network before using the Gantt chart for planning.

Fixing Circular Dependencies

A circular dependency occurs when tasks form a loop: A depends on B, B depends on C, and C depends on A. This makes scheduling impossible because no task in the loop can start first.

If the CPM engine detects a cycle, the network health banner turns red and names the tasks involved. To fix it:

Read the warning. The banner lists the tasks in the cycle. Note which tasks are involved.
Open the wizard. Select one of the tasks named in the cycle.
Identify the incorrect dependency. Look at the predecessor list for the selected task. One of these connections is creating the loop. Usually it is the most recently added one, or the one that does not reflect a real physical constraint.
Remove the incorrect predecessor. Click the X next to the wrong predecessor. The cycle breaks and the banner returns to amber or green.
Tip: Cycles most often happen when you accidentally set a predecessor that should be a successor, or when you connect tasks across phases without thinking through the direction. If Foundation depends on Inspection and Inspection depends on Foundation, one of those relationships is backward.

Dependency Wizard vs. Link in Sequence

Feature Dependency Wizard Link in Sequence
Network structure Parallel branches and merge points Single serial chain
Cycle detection Real-time, blocks invalid connections Not applicable (always linear)
Float calculation Accurate (parallel paths create float) Zero float everywhere (everything is critical)
Project duration Realistic minimum duration Artificially long (sum of all durations)
Best for Full project scheduling Short linear runs (3-5 tasks)

Use the Dependency Wizard for your primary schedule network. Use Link in Sequence only for short runs where tasks genuinely must happen one after another with no parallel work.