Maintaining your Project

The moment you’re ready to begin your project in earnest is the moment the real world starts to intrude on the ideal version of your plan. When variables begin to shift, adjusting aspects of the project to suit new circumstances is key to keeping things on track.

Resolving Violations

Occasionally situations will emerge that break the rules of logic you’ve set up for your project. When one of these occurs, OmniPlan will let you know by indicating a violation related to the adjacent task. A red icon appears in the Violations column of your task outline, and the Violations Window appears.

A violation appears! Use the violations window to identify and resolve it.

To see this in action, try creating a circular dependency in which two tasks both depend on each other. Because this is logically impossible, a violation will occur.

The Violations Window

If a violation has appeared in your project, the Violations Window will appear to let you know what’s wrong. You can also access it by clicking on the icon in the Violations column of Task View, the Violations button in the toolbar, or with the keyboard shortcut Shift-Command-V.

This window lists all of the violations in the project, along with explanations of why they have occurred. Most violation explanations include links you can click to immediately resolve the problem.

Resolving violations in the Violations window.

If the automated resolution provided by the Violations Window isn’t what you want, tips at the bottom of the window will help determine the source of the problem so you can fix it based on your scheduling needs.

Scheduling and Leveling

The Task inspector’s Scheduling method indicates how OmniPlan should determine when a task is to occur in the project.

ASAP/ALAP toggle in the Schedule section of the Task inspector, along with task splitting and leveling tools.

By default and prior to leveling, new tasks are scheduled as early as constraints allow. This means the task is placed at the very earliest time possible, taking into consideration start and end constraints, and dependencies on other tasks. Resource availability is not taken into consideration, so resources may end up overutilized (this is why leveling is an important additional step).

Tasks can also be scheduled as late as possible or locked (with the lock icons above the Start and End dates in the Schedule section of the Task inspector, or by holding Command and clicking either end of the task’s bar in the Gantt chart) so they are not affected by leveling.

When you level the project (or whenever a change is made, if Project ▸ Automatically Level Resources is selected), OmniPlan rearranges tasks which have resources assigned, to make sure no resource is being used at more than 100% of its availability. Tasks moved back by resource leveling are scheduled by resource availability.

Tasks scheduled by resource availability.

During leveling, OmniPlan has to make an educated decision about which task should get access to a resource first, and which tasks should be pushed back by a resource dependency. In judging which task to put first, the following criteria matter, in this order:

  1. Requirements to end by a certain time, such as locked end dates, constraints, or being a prerequisite to a task with such a requirement.

  2. Task Priority, as set in the Priority column of the task outline.

  3. Position in the task outline; tasks that are higher in the outline are scheduled earlier.

Duration and Effort

Duration and effort are two key concepts intimately involved with the process of scheduling tasks and leveling your project for optimal efficiency.

Duration is how long a task takes in actual working hours in the schedule. If the task begins at 8:00 and ends at 12:00, that’s a duration of 4 hours. Note that non-working times don’t count; if a task starts one afternoon and doesn’t complete until the next morning, or spans a lunch break, only the working hours are counted. Also note that the resources assigned to a task may have different working hours than the project as a whole, and thus the displayed duration of a task may not match up exactly with the amount of effort it takes.

Effort is the total amount of working time put into a task by all assigned resources. A task with a duration of 4 hours, with 2 resources assigned at 100%, has an effort value of 8 hours. Note that Material resources don’t contribute to effort, only Staff and Equipment resources do.

The duration and the effort of a task can change depending on the resources you assign.

Each task has a setting in the Resource Allocation section of the Task inspector which controls whether to keep the duration fixed, the effort fixed, or both.

When you assign or unassign staff and equipment resources, the value that isn’t fixed re-calculates its value; the other field stays the same. Regardless of which value is calculated, you can always edit either value manually.

If both values are fixed, then assigning resources changes the assigned percentage.

What Makes Duration and Effort Change

Multiple factors influence both duration and effort. The most common variables are described below; adjusting them can help bring a project in line with the desired timeline for completion.

Number of Assigned Resources
Assigning more resources to a task generally causes the task to take less time, because the required effort gets completed sooner.
Efficiency of Assigned Resources
Assigning less-efficient resources to a task causes the duration to be longer than the effort, because the resource takes more time to achieve the same amount of effort.
Assigned Amount and Available Units
Assigning fewer units of a resource to a task causes the duration to be longer than the effort, because less of the resource’s time and energy is being spent on that task. This situation is common when a resource is split between multiple tasks at one time. The amount of a resource you can assign to tasks depends on the resource’s available Units (set in the Resource Info section of the Resource inspector or the Units column of the Resource outline). Assigning more of a resource than is available causes a violation and shows up as overutilization in the Resource timeline.

Using Critical Paths

Looking at a project or milestone’s Critical Path in the Gantt chart or Network View is a great way to get a feel for the tasks involved that are most important to on-time completion of the goal. Identifying tasks that are part of the critical path (and vice versa) helps prioritize work to ensure that deadlines are met.

A milestone in a project with the Critical Path displayed by a green highlight color.

By default, OmniPlan determines the critical path by taking into account the dependency relationships between tasks, and the amount of free (slack) time there is between them.

  • On the dependency side, an unbroken chain of tasks with Finish ▸ Start dependencies represents a simple critical path to project completion. Tasks that are independent won’t be on the path at all, since they can occur at any time during the project.

  • On the slack side, hammock tasks or tasks with a set start date before which other work has been completed can lead to periods in the project where nothing is happening. The length of these periods that determine whether the critical path is affected is set in the Milestones inspector.

Note
One other potential factor affecting critical paths is resource availability. You can choose whether or not to consider it in the display of your critical paths using the Milestones Inspector; that section also contains information on the impact of resource availablility on your critical paths, as does the Scheduling and Leveling section above.

The Critical Path button in the toolbar, with the dropdown menu listing available milestones for critical path display.

OmniPlan can display critical paths both for the entire project, and for individual milestones. To turn on critical paths, click the Critical Path button in the toolbar; to choose which critical paths to display, click the arrow in the corner of the button and choose the milestones you want, or choose them in Milestones Inspector.

The display of critical paths on a project in Network View.

Updating Task Completion

If everything is going according to plan, just click the Catch Up button in the toolbar.

Using the Catch Up button to bring task completion up to the chosen date.

Choose a date and time (today by default), whether to allow tasks to be marked partially complete, and whether to update all tasks or just the selected ones.

When you click OK, the tasks’ completion percentages are updated to the specified date and time.

Rescheduling Incomplete Tasks

When a task isn’t as complete as it was scheduled to be, you can use the Reschedule toolbar button to quickly determine the best place for it in the current situation.

Clicking the Reschedule button brings up the following dialog.

Rescheduling incomplete tasks using the Reschedule button.

Choose a date and time to reschedule the incomplete tasks, and whether to update all tasks or just the selected ones.

When you click OK the incomplete tasks move — and the whole schedule updates — so that work can continue from here.

Note that this only moves tasks with incomplete work that was scheduled for before the date you specify; tasks in the future aren’t affected.

Gauging Progress with Baselines

Once you have finished setting up a project and you’re ready to start implementing it, you can set a baseline schedule. The baseline represents the original intentions of the project, for comparison with the actual schedule. The actual schedule, by contrast, is the way a project turns out in real life. Before the baseline is set for a project, the baseline and actual schedules are the same. After the baseline is set, further changes affect the actual schedule only.

Setting a baseline in OmniPlan 3.

To set a baseline, click the Set Baseline button in the toolbar. You’ll be prompted with a field to name the baseline; the default name is today’s date.

When you click OK, the baseline schedule is set and any further changes are applied to the actual schedule instead.

Choose Split Schedule or Both Schedules to see the baseline and actual schedules together, so you can compare them.

Comparing split actual vs. baseline schedules.

OmniPlan 3 supports not just a single baseline, but as many as you want — so at any given point in the project, you can take a snapshot that sets a new standard from which the actual project can proceed. You can compare a given baseline with the current actual schedule using the Baseline/Actual menu in the toolbar.

Choosing from among multiple baselines in the Baseline/Actual menu.

Using Simulations to Estimate Milestone Completion (Pro)

OmniPlan 3 Pro includes tools for calculating the degree of certainty that a milestone will be complete by a given deadline, using Monte Carlo simulations based on estimations of the effort required to reach the goal. The results of these simulations can help identify where things might fall behind (or even be ahead of schedule).

A project with a Monte Carlo simulation after the simulation is run.

To run a simulation, switch to Task View and choose the Simulations button in the toolbar. The settings you choose here (and the simulation itself) will affect any selected tasks and milestones; if no tasks are selected, the simulation is run on the entire project.

The level of certainty the simulation provides is determined by the amount of effort estimated as required for completion of the tasks within each milestone. If you haven’t manually set effort estimates for tasks, you’ll want to either do that, or use the handy Auto-Estimate Effort feature (also found in the Monte Carlo popup menu).

The Monte Carlo simulation menu, complete with task effort estimator.

Note
Running a simulation without setting minimum and maximum effort estimates (either manually or automatically) results in a prediction that your milestones will be completed exactly as they’re scheduled, 100% of the time. Not very useful, right? For best results, be sure to have a spread of possible efforts included (auto-estimating effort makes this easy).

Once the simulation is complete, a set of horizontal bars appears on days surrounding each milestone (represented as a small diamond); one bar equals 20 percent confidence that the milestone will be complete on that day (5 bars on a day means that according to the simulation, a milestone is 100% likely to be completed on that day). Hover over the bars on each day for greater detail.

Details on the completion estimation of a milestone by a particular day, after running a Monte Carlo simulation.

Using AppleScript (Pro)

With OmniPlan Pro you have access to powerful scripting tools using the built-in AppleScript library. To access the dictionary of scripting commands specific to OmniPlan, open AppleScript Editor and choose File ▸ Open Dictionary (Shift-Command-O), then choose OmniPlan.app from the list that appears.

Locate OmniPlan.app in the Open Dictionary window and then click Choose