CPM Challenge: Longest Path vs Total Float

CPM Challenge: Longest Path vs Total Float

Just as programmers are divided between those who start counting from 1 and those who start from 0, planners and schedulers are split between defining the Critical Path via ‘Longest Path’ and ‘Total Float’. But who’s right?

Both methods for defining the Critical Path have their advantage and drawbacks. Let’s explore them.

Longest Path Method

The Longest Path method is beneficial because it includes all activities that directly influence the project’s completion date, even if some of these activities have a Total Float greater than zero. However, this method focuses on the final project end date, which is not always the most critical concern. Project stakeholders are more interested in the delivery of key milestones rather than when the project officially concludes. They need to know the Critical Path in the context of project commitments, typically called deadlines.

The Longest Path method also struggles when a schedule has ‘Start No Earlier Than’ (SNET) constraints that may require to reflect existing limitations. In such cases, the Longest Path can be reduced to a few activities or even one milestone, which may be theoretically correct but practically ineffective.

The Longest Path method has one more critical limitation. Practically, we know that activity duration forecasts are not precisely 100% accurate. This is a risk that an activity formally doesn’t belong to Longest Path but practically drives project completion day. For instance, an activity with just one hour of Total Float may not technically be on the Longest Path, but it must be managed as if it is critical.

Scheduling Fragment N1
In this scheduling fragment, the ‘Go Live’ milestone has the deadline, and there is also an event with SNET constraint. The schedule calculated based on the Longest Path Method shows that only the last milestone is critical but calculated based on the Total Float Method shows all activities and milestones are critical.

Total Float Method

The Total Float method addresses some of the Longest Path method’s limitations, especially when the schedule includes Deadlines and SNET constraints. It can also widen the definition of what is considered critical by including near-critical activities. For example, activities with Total Float of less than 8 hours could be considered critical, allowing for more flexible oversight.

However, this method struggles when multiple calendars are used in the schedule. In such cases, activities on the Longest Path can have a Total Float greater than zero, even though they impact the delivery date. It is essential to identify such activities, as it may be possible to accelerate the delivery date by adjusting the calendar or resource assignments.

Scheduling Fragment N2
In this scheduling fragment, activities 1 & 2 are based on 5d calendar and Activity 3 is based on the 4d calendar (Tue- Fri). As a result, activity 1 & 2 belongs to the Longest Path but have Total Float =1d. The schedule calculated using the Longest Path method shows that all activities are critical. The same fragment calculated using the Total Float method shows that only the last activity is critical.

Which method to choose?

My recommendation: use both, but do it smartly.

The theoretical definition of the critical path with the longest path may be technically correct but impractical for day-to-day project control. The ultimate base should be Total Float.

However, when schedule optimisation is performed, it is useful to know the current longest path as it may be possible to accelerate delivery by shortening an activity with a positive Total Float.

Analysing the project from both the Longest Path and Total Float perspectives gives a better understanding of critical activities and potential risks.

As an option, planners can develop a filter that covers critical activities regardless of applied methods. For that, they can calculate critical path based on Total Float including near-critical activities

and create a filter that shows all activities that are Critical or Longest Path.

Alex Lyaschenko

PMO | Portfolio Planning & Delivery | PMP | P3O Practitioner | AgilePM Practitioner | Six Sigma

Critical path method challenge: Activity duration estimation

Critical path method challenge: Activity duration estimation

The critical path method includes several standard steps. While there are different recommendations in which order these steps need to be performed, it is a general acceptance that one step is important: the duration of each activity has to be accurately estimated.

The activity estimation is a process itself. The process could be very simple.

“Using past experience or the knowledge of an experienced team member, you must now estimate the time required to complete each activity.”
www.smartsheet.com/critical-path-method

or more complex:

“The duration is an estimate of how long it will take to accomplish the work involved in the activity. In many cases, the number of resources that are expected to be available to accomplish an activity, together with the productivity of those resources, may determine the activity’s duration. A change to driving resource allocated to the activity will have an effect on the duration, but this is not a simple “straight-line” relationship. Other factors influencing the duration are the type or skill level of the resources available to undertake the work, resource calendars, and the intrinsic nature of work. Some activities will take a set amount of time to complete regardless of the resource allocation.”
Practical Standard for Scheduling, PMI

How can an estimator/s accurately provide estimates for the duration of ONE activity? Is it actually possible?

Firstly, they need to understand the work represented by the activity in the schedule. Ideally, the Definition of Done (DoD) for each activity has to be developed, but it is rarely the case. Usually, estimators rely on activity and WBS names only.

Example: “Complete Design” could mean:

  • 1st draft available
  • Design reviewed
  • Design updated
  • Design submitted for review board
  • Design endorsed
  • Design fully approved

Then, estimators need to understand the level of uniqueness of this activity. It may vary from ‘exactly the same work was done before many times’ to ‘this work is completely new to us’.

Then, estimators need to think about matters that may impact the duration:

  • What is the Volume of work to be achieved?
  • Which skills are needed?
  • Which resources have these skills?
  • Could additional skilled resources be hired?
  • What is the minimum (technically) required number of resources?
  • What is the maximum (technically) possible number of assigned resources?
  • What productivity (volume units per hour) does each resource with the required skill have?
  • If more than one skill is required, which skill has the primary impact on the duration?
  • When could the activity be (technically) performed?
  • How may external work impact the availability of resources?
  • How may other project activities impact the availability of resources?
  • What type of materials are required?
  • How may materials supply impact the duration?
  • How may project’s environmental factors impact the duration?
  • How may external factors impact the duration?

Translating these questions to a scheduling language: there are project parameters that may impact activity duration. Some of these parameters could be well-known or they may have avoidable (epistemic) or unavoidable (aleatory) uncertainties (U). Also, some of these parameters are interrelated (I) with other activities.

  • Volume of work (U)
  • Skills (resource pool)
  • Renewable (Labour and Equipment) Resource Quantity (U, I)
  • Consumable (Materials) resources quantity (U, I)
  • Resource Productivity (U)
  • Activity Calendar (U)
  • Resources Calendars (U)
  • Resource availability (A)
  • Technical constraints (U)
  • Threats (I)
  • Opportunities (I)
  • Shift calendars (U)
  • Shift quantity (U)

It is usually easy to understand how each parameter impacts the activity duration but it is not easy to understand the cumulative effect. The human brain is simply not able to handle so many parameters simultaneously. If George A. Miller’s statement is correct#, our brains can handle only 7 (+/-2) objects simultaneously.

# The Magical Number Seven, Plus or Minus Two: Some Limits on our Capacity for Processing Information http://psychclassics.yorku.ca/Miller/

It is important to mention that not all activities have all mentioned above parameters, or a value could be obvious and even ignored:

  • Activities may not include any materials
  • Only one resource with standard working hours is required
  • An activity technically could be performed at any time.

There are different project techniques that could help with estimations:

  • Top-Down
  • Bottom-Up
  • Expert judgment
  • Comparative (or analogous)
  • Parametric model
  • Three-point

These techniques help to get accurate estimations but they have to be applied to primary parameters that impact durations, not directly to durations.

Example:

Our project received a new bulldozer. It differs from other bulldozers used in organisations, so we don’t have any statistical data to understand the productivity rate. Project decided to use comparative analysis (or Expert judgment) as a planned rate and calculate activity durations based on this rate. When they receive actuals, they can update the productivity rate and recalculate all future activities with the assigned of this bulldozer. Also, if the productivity rate is stored in Corporate Reference Book, they could update other projects where this bulldozer is planned or use the findings for future assignments.

If activity durations were collected instead, it would be very difficult to recalculate and update all related activities, as they would need to be done individually. Also, historical data is (almost) useless. While we know that actuals were different from planned durations, there is no data in the schedule that tells us “why”, and it is hard to reuse historical data for future projects.

Expert judgment

Expert judgment often is only available for project teams as an estimation technique.

Unfortunately, expert judgment is not a reliable method. Daniel Kahneman in his book “Thinking Fast And Slow” explained that when people need to find a solution to very complex problems, they are likely to use a “fast thinking system” that could give them quick but not necessarily accurate answers. What is even worse, the answers are inaccurate and inconsistent. If the same expert provides activity estimations in a week, it is likely that his estimations would not be the same. Different cognitive biases may impact their opinion. In some cases, provided estimations are going to be very conservative. In other situations, they will be too optimistic.

What is the alternative

Stop asking estimators to provide most likely activity durations and ask them to provide parameters that impact this duration instead.

If a parameter has an uncertainty, usually it is much easier to provide a range or 3 points (optimistic, probable, pessimistic) rather than a single number.

Then all available data could be used to calculate the optimistic, probable, pessimistic and planned durations!

This approach has some advantages:

  • Easier identification of why an activity wasn’t performed as planned
  • Collected actuals could be used for planning for future activities even if the activities are not exactly the same:

    * Activity requires the same skill but has a different volume of work.

    * Activity has the same volume of work and skills but will be performed by different resources.

    • Some of the activity parameters are applicable to many activities, so once collected the data could be used for many activities
    • While a project may have thousands of activities, it doesn’t require thousands of skills. Even a project-driven portfolio has a small and stable list of required skills.
    • Easier identification of project and portfolio skills bottleneck
    • Each resource has a very limited number of skills. It could be beneficial to help critical resources gain a new appropriate skill or improve already existing skill
    • 3 points estimations could be used for more sophisticated probabilistic methods: Monte Carlo Simulation, ‘3 scenarios’, etc.
    • Result of the Monte Carlo Simulation depends on the simulation parameter. The result of the simulation is more accurate when primary uncertainties are used instead of the secondary parameters (like duration and cost)
    • Structured low-level data could be used for AI
    • It addresses some cognitive biases. Just a few to mention:

    * Optimism bias

    * Representativeness bias

    * Confirmation bias

    * Framing effect

    * Parkinson Law

    * Availability heuristic

    Alex Lyaschenko

    PMO | Portfolio Planning & Delivery | PMP | P3O Practitioner | AgilePM Practitioner | Six Sigma

    Resource vs activity calendars issue

    Resource vs activity calendars issue

    Correct application of the Critical Path Method requires consideration of ALL constraints. A calendar is a ‘type of constraint’ that defines when work can and cannot be performed.

    There are two main calendar types Activity Calendar and Resource Calendar.

    Activity Calendar

    Activity Calendar defines when work technically could be performed.

    • A low noise restriction
    • Production Freeze period 
    • SteerCo calendar

    Resource Calendar

    Resource calendar defines the availability of the assigned resource.

    Part-time specialist is available 9 am – 5 pm Monday – Wednesday.

      Work could be completed when both conditions are met.

      Let’s review a simple example with one activity and one resource only:

        If a two-day activity could only be performed on weekends (Saturday & Sunday) and the assigned resource only works Fridays & Saturdays, this activity only could be performed on Saturdays. The required effort is two days, activity duration is eight days (Saturday – Saturday).

          Not all scheduling tools can simulate scenarios with different activity and resource calendars correctly.

            Microsoft Project

            Microsoft Project correctly calculates the duration, start and finish dates (Saturday to Saturday). However, in the activity Gantt chart, it is unclear on which days the work is planned (only by Saturdays, not Sunday to Friday).

              Spider Project

              Spider Project correctly calculates duration, Start and Finish dates (Saturday to Saturday). Additionally, detailed scheduling in the activity Gannt chart shows exact dates (if needed, time as well) when the task is planned to be executed (Saturday + Saturday).

                Primavera

                Primavera also allows having activities and resource calendars. However, it is impossible to calculate the schedule with both calendars simultaneously.
                If the activity type is specified as “Task Dependent”, the schedule incorrectly shows that the activity could be performed on Sunday and Saturday:

                  If the Activity type is specified as “Resource Dependent”, the schedule incorrectly shows that the activity could be performed on Saturday and Friday.

                    Regardless of the Primavera setting, Duration, Start and Finish Dates will be incorrect.

                    In CA Clarity and Project on the Web also would not be able to simulate work for this mini-project correctly. These tools only support Resource Calendars, not activity calendars.

                    Apart from Activity and Resource Calendars project plan may require other calendar types:

                    • Project Calendar
                    • Team Calendar
                    • Shift Calendar
                    • Activity Lag Calendar

                     

                    Alex Lyaschenko

                    PMO | Portfolio Planning & Delivery | PMP | P3O Practitioner | AgilePM Practitioner | Six Sigma

                    Monte Carlo Simulation challenges. Level of details challenge.

                    Monte Carlo Simulation challenges. Level of details challenge.

                    As discussed in the previous posts, applying the Monte Carlo Simulation (MCS) CORRECTLY for a large project may take many hours. As a workaround, some risk consultants recommend running simulations based on a high-level schedule, known as a control schedule and a ‘Level 3’ schedule.

                    The results of MCS performed based on the detailed schedule and high-level schedule are likely to be different, sometimes significantly different! There are a few reasons for that. In this post, we review one of them: the missing level of complexity.

                    Work packages are the smallest unit of work that a project can be broken down into when creating your Work Breakdown Structure.

                    In this post, the term ‘Work package’ (WP) represents ‘A group of activities’. It could be the smallest unit of work or a group of units.

                    When WP in a high-level schedule is represented by a single activity (or a few activities), the schedule misses a level of complexity of each WP. Without this information, the result of the simulation could be dramatically different.

                    Let’s review a simple example: A project has two WPs. Each of them has five 10-day activities, but in 1st WP all activities are consecutive, and in 2nd WP, all activities are concurrent.

                    If we decide to create a high-level schedule, we could simplify it to two linked ‘50 days’ and ‘10 days’ activities. The overall duration of both schedules and the logic between WPs will be the same.

                    Let’s assume each activity in our project has +/-2 days of uncertainty, which is +/-20%.

                    Detailed schedule with uncertainties:

                    High-Level schedule with uncertainties:

                    Now, we can calculate the probability of delivering this project in 60 days (the deterministic Most Likely scenario) and use both schedules as the base for the simulation. 

                    We are going to use a triangular distribution. As explained in the previous posts, the Beta / PERT distributions often better represent real-life probability, but they are unique to each risk analysis tool. I want to be sure that this experiment can be replicated with other risk analysis tools.

                    Also, due to the randomised nature of the Monte Carlo Simulation method, the result of any new simulation is always different. The more iterations performed, the less volatile results will be. I set the Spider Project to 50,000 iterations to minimise the volatility.

                    Project Probability Distribution

                    The performed simulation based on the High-Level schedule gives us the following probability distribution:

                    The performed simulation based on the Detail schedule gives us a different result:

                    There is 49.8% probability that this project could be completed in 60 days if the High-level schedule was used for this analysis and 29.2% probability if it was performed based on the Detail schedule.

                    However, project activities in both cases are going to be executed the same way, and the probability  should be the same. To understand such an anomaly, we need to go to the next level and analyse the probability of each WP separately.

                    1st WP probability distribution

                    The probability distribution of the first WP based on High-Level schedule:

                    The probability distribution of the first WP based on Detailed schedule:

                    Uncertainties in a sequence with ‘Finish-to-Start’ dependencies compensate for each other, so the result of the First WP simulation is roughly the same, regardless of the applied schedule. It is around 50%.

                    2nd WP probability distribution

                    As the second WP has only concurrent activities, the probability distribution curves are dramatically different.

                    Based on the Detailed schedule it is only ~3% chance that ALL activities could be completed in 10 days. If any activity is late (>10 days), the WP will be late.

                    In the High-level schedule, this level of complexity is lost, and the probability complete the WP in 10 days is 50%.

                    Probability distribution of the second WP based on the High-level schedule:  

                    Probability distribution of the second WP based on the Detailed schedule

                    There is a big difference between 3% and 50%! Depending on which result is presented to project decision-makers, it may lead to different actions.

                    Level of complexity

                    The analysed example above may look extraordinary. Not all projects have five linked concurrent activities. However, if we analyse any schedule, we are likely to find that there are days with more than five planned activities. All these activities are logically linked via direct or indirect logic. If these activities have large Total Floats, the effect of uncertainties should be immaterial. However, if they are on a project critical path or near a critical path, the effect will likely be noticeable.

                    Without Quantitative Risk Analysis (QRA), it may not be possible to understand the effect of uncertainties on project delivery dates.

                    Logic in real-life schedules is much more complex. WPs have other than ‘Finish-to-Start’ types of dependencies, technical and resource constraints, activity and resource calendars, lags and leads. These factors impact the level of complexity of each WP.

                    Also, logic between WPs is more complex than just a ‘Finish-to-Start’ dependency between the last activity in one WP and the first activity in another WP. On top of this, there could be more than one dependency between WPs, and these dependencies could be somewhere inside each WP, not between the end and start points:

                    Example of complex logic between WPs

                    The volatility of Critical Path

                    Another challenge is to demonstrate a Critical Path in a high-level schedule. A WP may or may not be on a critical path. If it is, it doesn’t mean that all activities in the WP are critical. The critical activities in the WP could be somewhere inside of WP. There also could be many critical fragments.

                    A scheduler may summarise critical and not critical activities in a high-level schedule. Unfortunately, there is no guarantee that the critical path is going to be stable during the life of the project. The volatility of the critical path means that a high-level schedule has to be constantly redeveloped.

                    Detailed Schedule

                    The described challenge is relevant to detailed schedules, not just to Control schedules.

                    There are no commonly accepted rules that define the correct level of detail for each schedule. While there are some recommendations, practically the level of detail depends on portfolio standards, the experience of the master schedule, the capacity of the scheduling team, applied schedule and risk analysis tools, and some other factors.

                    Two schedules developed for the same project by two different project teams are unlikely to be identical. The difference may look immaterial but may have a significant impact to the results of Monte Carlo Simulation.

                    Schedule duration paradox

                    The probability of delivering this project based on the ‘Most Likely’ durations is only 29%. This example demonstrates ‘Schedule duration paradox’:

                    Schedule based on the most likely activity durations doesn’t have the most likely duration

                    This is one of the factors why projects are late. When project SMEs provide the ‘Most Likely’ estimations for each schedule activity, and a scheduler uses them to develop a deterministic (Critical Path Method) schedule, project stakeholders often assume that such a schedule has ‘most likely’ delivery dates. Calculated dates are used as project commitments. However, due to the complexity of logic and parallel streams, the probability of meeting these commitments is likely to be less than 50%. Sometimes significantly less.

                    Monte Carlo Simulation is one of the Quantitative Risk Analysis (QRA) methods that help to calculate achievable dates, but it has to be applied correctly. A high-level schedule doesn’t have the same level of complexity as it is in a detailed schedule. It impacts the project probabilities calculated based on the Monte Carlo Simulation method. The difference could be sufficient to drive the project in the wrong direction.

                    There are many other important MCS challenges. I will continue “unwrapping” them one by one in my future posts.

                    Alex Lyaschenko

                    PMO | Portfolio Planning & Delivery | PMP | P3O Practitioner | AgilePM Practitioner | Six Sigma

                    Risk Matrix: good or bad?

                    Risk Matrix: good or bad?

                    Some project risk practitioners argue that Project Risk Matrices cannot be trusted to produce consistent and correct risk ratings and rankings, and their application has to be minimised or even avoided.

                    However, often with the unique nature of projects, reliable risk rating and ranking are not possible regardless of applied methods and techniques.

                    Proposed alternatives may be able to address some issues associated with Risk Matrices, but not all of them and have other issues that Risk Matrices don’t have!

                    Arguing that the Risk Matrix technique is wrong would be similar to saying that a hammer is not a good tool because it may be inappropriately used instead of a screwdriver.

                    Risk Matrix is just one of the tools in a project management toolbox. There are situations when it is the most appropriate tool to use, situations when another risk management tool is preferable and situations when a Risk Matrix with another risk tool gives the best result.

                    It is essential to learn the weak points of this risk evaluation method, as some issues could be mitigated when applied smartly.

                    Alex Lyaschenko

                    PMO | Portfolio Planning & Delivery | PMP | P3O Practitioner | AgilePM Practitioner | Six Sigma