ALAP issues in Primavera, Microsoft Project and ChatGPT

ALAP issues in Primavera, Microsoft Project and ChatGPT

Feasible project delivery plan must consider all limitations and priorities. Normally it makes sense to perform project activity as soon as it possible but there are situations when start of activity needs to be delayed or even performed as late as possible (ALAP).

Any activity has a time priority to be performed. There are three types of priorities:

  • As Soon As Possible (ASAP)
  • As Late As Possible (ALAP)
  • As Timely As Possible (ATAP)

 Not all planning tools work correctly when ASAP and ATAP priorities are present. We will publish a separate post explaining the ATAP concept. This post focuses on problems with ALAP implementations.

ALAP concept

ALAP works very simply: start date of activity if pushed to consume all available Free Float. In other words, we delay activity as late as we can without delaying other activities. Think of ‘Lighting a birthday cake’ or ‘Start a webinar recording’. While it may be possible to commence these activities earlier, it may have a negative effect, so we commence them as late as we can, but they should not impact the start of other activities.

ALAP is an easy-to-understand concept; planners don’t expect difficulty calculating schedules with ALAP priorities. Practically thought some popular planning tools can’t do it correctly. We review the implementation of the ASAP concept in Primavera P6, MS Project, Spider Project and ChatGPT.

ALAP is not a constraint

The term ‘constraint’ has multiple meanings that represent different concepts. When software developers mixed up these concepts, it creates unnecessary planning challenges.

ASAP, ALAP and ATAP are not constraints but priorities.

The same activity may have:

  • ALAP priority;
  • Start constraint: Start Not Earlier Than (SNET)
  • Deadline: Finish Not Earlier Than (FNLT)

SNET, FNTL and ASAP are three different characteristics of an activity and for proper data modelling they must be documented separately.

The data modelling considering above characteristics is more complex if the same field is used to capture all three characteristics.

Microsoft Project users can capture one of the parameters, and Primavera P6 users can capture two. So, the correct simulation of the scenario when activity has ALAP, SNET and FNLT is not possible in these tools.
Also, ASAP/ALAP priories in MS Project and Primavera are mixed up with Start Constraints and project Deadlines. That has direct negative impact on schedule quality.

Total Float issue

The second problem is the way Microsoft developers understood the term ALAP. They decided that ALAP means delaying activity as late as it only possible even if it requires delaying other activities.

ALAP in MS Project consumes Total Float, not Free Float.

If such a schedule is used to plan above activities, we will delay the start of the presentation to the end of the conference or have a birthday cake when your guests are packed to go home :)

Resource levelling

The last problem is with resource levelling. ALAP is not dependent on the availability of resources. It is a technological characteristic of an activity. However, Primavera completely ignores the ALAP priority if automatic resource levelling is applied.

Problems with MS Project are even bigger: levelling doesn’t work if ALAP is presented. Calculated schedules are not feasible.

This is another reason planners avoid using built-in resource levelling feartures in Primavera P6 and MS Project.

ALAP scenario

Let’s review a simple scenario to demostrate the above issues.

The scheduling fragment has four activities and one milestone. One of them (Activity C) has ALAP priority. Assuming there are no resource constraints.

Spider Project allows capturing ALAP, SNET and FNLT in separate data fields and correctly calculates start and end dates for all activities.

 

The same fragment in Primavera P6: all dates are the same.

 

The same fragment in MS Project: applied ALAP priority to Activity C pushes Activity C and D to end.

 

Let’s add resource constraints. Activity A and C require skill ‘Resource A’, and Activity B and D require skill ‘Resource B’. Only one ‘Resource ‘A and one ‘Resource B’ are available, so the fragment could not be performed as planned. Activities C and D must be pushed forward.

 

As we can see in Spider Project, it takes 11 days to complete this scenario. Activity C has ALAP priority, so it starts on Day 8.

 

The same fragment in Primavera.

It also shows 11 days, but now the ALAP priority is ignored. The start date of Activity C is incorrect.

Total Float and Free Float are incorrectly calculated: Activity C can’t be delayed by six days without delaying the project end date. Activity D is critical, but Primavera shows that this activity has four days of Total Float.

The same fragment in MS Project.

Resource levelling completely doesn’t work if ASAP priority is present.

a) It shows that Activities A and B can overlap. They are not.
b) It shows that Activities C and D can be performed in parallel. They are not.
c) The total duration is incorrect.
d) Total Float and Free Float are not calculated correctly.

If we change the priority of Activity C to ASAP, MS Project calculates the date correctly. FF & TF Floats are still incorrect.

Generative AI

I asked ChatGPT to calculate both scenarios. The scenario without resource constraints:

This is the correct answer. However, the same scenario with resource constraints is incorrect. The system found optimised allocation and calculated overall duration correctly but forgot about the ALAP priority.

Summary

The ‘As Late As Possible’ priorities is an essential concept of project planning. MS Project, Primavera and ChatGPT struggle to calculate schedules correctly when ALAP priorities are present.

Primavera P6 and ChatGPT calculate dates correctly only when resources are unlimited. MS Project doesn’t calculate dates correctly, even without considering resource limitations.

Spider Project calculates dates with ALAP activities correctly for both scenarios, when resources are limited or not.

Alex Lyaschenko

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