ASAP task pushed by ALAP predecessor RRS feed

  • Question

  • Hi.

    I have some tasks form my project which I group them into:

    - work required to be done

    - materials to be bought for the work

    I have work tasks as ASAP and that works more less until I link with materials to be bought being ALAP, which is normal as you don't want to store a lot of those on site. If I have materials as ASAP then without any predecessor it is being scheduled from the project start date. Usually I add negative lag to just get it few days before it is required.

    Well, the problem is that as soon as material linked, the work task is being pushed to a later date, which annoys me. I set high an low priorities hoping that will be taken into account but it is still the same.

    What do I do wrong? Is there any trick I could use?


    Saturday, March 16, 2019 10:31 PM

All replies

  • The way the ALAP constraint will work to push ASAP tasks all the way to the end of the float is well known. ALAP is a strong constraint, too strong for what you want to do. People often expect it to just delay the ALAP task to the end of its own float, but that is not how it works and that is not what it is for. MSP does not have a "zero free slack" constraint.

    ALAP constraints are inconsistent with the critical path method.

    Instead, stick to the critical path method and make all tasks ASAP.

    Allow all of your buying tasks to be scheduled ASAP. They will all be scheduled as early as their predecessors allow, which, if they have no predecessors, will schedule them on day 1. They should all have at least one predecessor, and that should be the project start milestone. Just because they are scheduled on day 1 doesn't mean that's when it is going to happen. The entry table and the Gantt chart show the earliest that the tasks can happen. It shows what you can have and is not meant to show when you intend to do them.

    When you come to update the progress at the status date and see that those tasks are scheduled in the past (relative to the status date), then reschedule them (with the move button on the task ribbon) to start ASAP in the future after the status date. They will have started out with lots of float and each time they are re-scheduled they lose a bit of float. If you want to see how much float they have and the latest start and finish, see the schedule table.

    And don't use negative lag. It will give you problems with updating and many other problems. Google "what's wrong with negative lag"

    Sunday, March 17, 2019 12:02 AM
  • I agree with most of what Trevor says, though I recognize that the traditional CPM-management method of riding-the-data-date doesn't work for all users.

    Rather than repeat it, have a look at this recent discussion on Planning Planet:

    Good luck, tom

    • Edited by Tom BoyleBPC Sunday, March 17, 2019 2:51 PM fixed hyperlink
    Sunday, March 17, 2019 2:51 PM
  • Hi, do you need to buy the materials before you do the work? 

    Ben Howard [MVP] | web | blog | book | downloads | P2O

    Sunday, March 17, 2019 3:55 PM
  • Hi. Yes, I have a limited storage space and I would not be able to buy everything in 1 go at the start. Instead, I created work packages that relate to the type of work or an area of work and hence materials to be bought a week or 2 before it starts.
    Sunday, March 17, 2019 6:12 PM
  • I am quite surprised that there is no option to set type of ALAT i.e. affecting only own float OR affecting the whole programme. After those many years and versions of the software, I am sure that could be delivered.

    I will read about negative lag, so far it was working ok.

    I am not really happy with the ASAP and shift them within float as it makes more difficult to plan what to buy when and don't allow much time for the research of materials needed etc.

    Sunday, March 17, 2019 6:17 PM
  • I understand your problem, but it will go away if you stick to the critical path method and only schedule forwards and stop using the date constraints and negative lag.

    Once people discover that ALAP is not "zero free float", which is what everyone thinks it will do because they want to order stuff "JIT" (a good way to be late), they never use ALAP again, and especially not a mixture of ALAP and ASAP.

    Don't forget that the early and late dates and the free float and total float are all in the schedule table, so you can see the latest that something can happen. Of course, the bars in the Gantt chart are set to show the early start and the early finish, as they should. But you can create a chart which shows the late bars by changing the from/to in format, bar styles. Or you can avoid having to do that and (just temporarily) set all tasks to ALAP, then put them back to all ASAP (a trick).

    If you adopt the CPM and stick to the rules, then you will be committed to regular and frequent and proper updates. Things like ordering stuff start off scheduled very early and with plenty of float, and each day that goes by without that being done erodes one day of float, and that task will have to be re-scheduled at every status date. If your project is anything to do with construction the status date increments should be no more than a week, and more often if possible. Longer than a week, and you may as well not bother.

    Monday, March 18, 2019 3:21 AM
  • Hi Mr KK,

    Maybe I didn't read the above enough, but if you built a schedule like the below would that be sufficient?

    Ben Howard [MVP] | web | blog | book | downloads | P2O

    Monday, March 18, 2019 5:25 PM
  • Mr KK,

    OK – to repeat a bit…. Using a zero-free-float constraint to represent just-in-time delivery has been an attractive approach in other tools. It is not without complications, however, and extensive use of such constraints can seriously obscure the logic flow through the schedule.

    The simple way to avoid such a constraint in Project (or any other PDM scheduling tool) is to insert a readiness milestone.  The logic sequence is:

    [Start Project] àMake Ready WorkàReadiness MSà(FF) Material Order/Fab/Ship/ReceiveàMaterial Installationà Substantial Completion MS.  (In the bar chart below, the project's Finish Milestone is controlled by other project segments, and the work shown possesses some Total Slack.)

    Note that the material delivery task needs to include sufficient risk buffering.  It also needs an FS predecessor like approval of submittals.

    Looking at the details, Project’s ALAP constraint ONLY makes sense in the context of a backward-scheduled project (i.e. schedule from Finish), just as the ASAP constraint ONLY makes sense in the context of a forward-scheduled project.  It is possible to mix the two as Ben has shown, but the result is loaded with unintended consequences.  See also: driving-logic-in-backward-scheduled-projects-microsoft-project

    Good luck, tom

    • Edited by Tom BoyleBPC Monday, March 18, 2019 9:03 PM clarified FMS
    Monday, March 18, 2019 9:00 PM