This Guest paper, originally published at the 2012 PMI Global Congress Proceedings in Vancouver, Canada, was submitted for publication in February 2021
It is copyright to Eric Uyttewaal, 2021.
Published here May 2021

Introduction | When Can You Call a Program "In Control?" 
Why Break a Program Down into Subprojects? | Work Breakdown Orientations: Good and Bad
Consequences of Breaking a Program into Subprojects | Hunting for the Critical Path in an IMS
Dealing with Sharing Resources across Programs | Simulating the Critical Path
In Summary: Our Recommendations and References

Hunting for the Critical Path in an IMS

Finding the critical path in your integrated master schedule is much more difficult than in a single project. First of all, a subproject schedule is different than a single-project schedule. A single-project schedule has one ending point, whereas a subproject schedule typically has multiple ending points, which are deliverables that need to be handed off to other subprojects in the program. Technically, this is known as a cross-project dependency. At SanDisk, the scheduling software had to be able to handle hundreds of cross-project dependencies.

Another difference between an IMS and a single project is that the manager of a single project is interested in one critical path, whereas the program manager is interested in multiple critical paths, the paths into each major milestone.

The critical path in an IMS often consists of activities from multiple subproject schedules, but not necessarily all subproject schedules. As a result, an activity that may be on the critical path in the subproject schedule (when analyzed by itself), may not be on the critical path of the program. The scheduling software needs to be able to find the program critical path across all subproject schedules through cross-project dependencies. The software also needs to be able to mark those critical activities in the subproject schedules in such a way that each subproject manager can see which activities in their schedule are critical from a program point of view. This is where current project scheduling applications often disappoint program managers.

SanDisk is a firm that produces high-tech products such as SSDs, Embedded Storage, Memory Cards, and USB Flash Drives. Like all high-tech companies, SanDisk's goal is to be the first-to-market with new products, which requires them to be very schedule sensitive. Optimizing the usage of all scarce resources is crucial.

The program managers at SanDisk are sharing scarce resources across their programs, and that creates resource dependencies on top of logical dependencies.[1] There are few scheduling applications capable of handling resource dependencies on the critical path.

For your convenience, we have summarized the differences between scheduling a single project and scheduling the Integrated Master Schedule, see Figure 3.

Differences

Single Project

Integrated Master Schedule (IMS)

Network logic

Project schedule has one ending point in its network logic.

Subproject schedule has multiple ending points in its network logic.

Cross-project dependencies

None.

Many.

Critical Paths of interest

One.

Multiple, often ten or more

Critical activities

Each schedule has critical activities.

Some subproject schedules have program critical activities, other ones have none.

Resource dependencies

&Few.

Many (at least for first-to-market, product development programs at SanDisk).

Figure 3: Differences between a Single Project and an Integrated Master Schedule (IMS)[2]

At SanDisk, we needed to find software capable of meeting all these requirements; we used the PathsPro add‑in for Microsoft Project (from ProjectPro). This add-in allows you to select a major milestone and it produces the critical path that drives this milestone even when cross-project dependencies and resource dependencies are involved. It also displays the near-critical paths, so we always knew how much we could easily gain without being surprised by other paths that suddenly became critical.

Validating the Critical Path

Figure 4: Extraction of the multi-project critical path
Figure 4: Extraction of the multi-project critical path [click to enlarge]

As a scheduler, when you see the critical path in a program for the first time, you will immediately notice errors on it that need to be cleaned up. For example, you will see:

  • Dependencies that do not reflect a practical necessity (like building walls before you start roofing). At SanDisk, we found ourselves cleaning up the logic with the help of the subproject managers.
  • Tasks that are valid, but should not be on the critical path. Adding resources or changing the priority of the tasks minimizes the duration of the critical path.
  • Tasks that you do not want to see on your critical path: summary tasks, level-of-effort tasks, overhead tasks, secondary tasks (e.g., write test plan) etc.
  • Tasks with part-time assignments: These need to be changed into full-time assignments that will shorten the duration of these tasks; you want people to work full-time on critical activities. This may lead to new critical paths.

As a result, it took several iterations before we found the critical path leading into the first major milestone. Then we had to optimize the critical path. For this we used the table with 15 methods from the book Forecast Scheduling with Microsoft Project 2010/2013/2018 that deals with optimizing resource-constrained critical paths, which is exactly what we needed.

Consequences of Breaking a Program into Subprojects  Consequences of Breaking a Program into Subprojects

1. (For a full explanation of what resource dependencies are, please refer to "Forecast Scheduling with Microsoft Project 2010/2013/2018")
2. © 2021, Eric Uyttewaal. PMP, MVP Project.
 
Home | Issacons | PM Glossary | Papers & Books | Max's Musings
Guest Articles | Contact Info | Search My Site | Site Map | Top of Page