Hi readers,
Every now and then this question pops-up: “Can I schedule from the end of the project, backwards?”, or any variation of this question. Most of the time I am able to persuade the people in the training of the hardships you will endure when scheduling backwards. But then, sometimes it leaves me with this nagging feeling: Why do people keep asking this? Am I doing it wrong?
This post will explore the option of Backwards scheduling and the alternative I discuss during the training sessions. If you use backward scheduling or the alternative and would like to share your experiences please leave a comment in the comments section below.
The origin of backwards scheduling
Most, if not all, projects come with a strict and costly deadline. A date that is in place because the client, or your boss, needs the result by a certain date. These dates are on a lot of stress right from the start, due to the limits in resources, budget and time.
When you create a project in Microsoft Project you naturally tend to look at that date as fixed. And therefore you would like to plan the project from that date backwards.
The option within MS Project
Creating a backwards schedule is possible in the application. There is an option under “Project information” called Schedule from: Project Finish Date.
Let’s create a simple project, using this “Project Finish Date” option activated, and see how a couple of simple steps are different from the “normal way” of scheduling. I begin by setting the finish date to 24-05-2016 because that’s my birthday and I really would like to have the party on that day. Then I start setting up some tasks for that party, here is the starting point:
Now here are two things that are of interest to note right from the start: every task starts on my birthday, and the milestone is at the end of the day!
Milestones are usually at the end of a day, so this isn’t different from a normally scheduled project, however it still is something to keep in mind when you are on a strict schedule.
Now that we have a basic work item list we need to set duration for the activities, and make some dependencies. Here we go:
I used the normal way of linking tasks together, just select the predecessor, then the successor and use the link icon on the Tasks ribbon. This creates a link where the predecessor moves to an earlier date to be “finished” before the next task “starts”.
From the screenshot above I can conclude that I would have to set up the invitations on the Friday before my B-day. That sounds wrong, so let’s put a lag between sending out the invites and the actual date. A month should do the trick. And I would do the same for ordering the Circus, but I’ll take 2 months for this. Here is what I wrote in the predecessors column on my Birthday task to get the result: 2FS+1mo;6FS+2mo.
Now we are passed the current date (the red line in the schedule), damn I think we would need to skip the Circus. Or maybe find one that is a bit more expensive and limit the lag time on “6FS+2mo” to be just 1 month.
That felt strange, I wanted to change the “Ordering the circus” and what I needed to do was change the predecessors column of the Birthday itself. If I tried changing the start date of the Circus manually to 20-04-2016 I would get this situation:
HA! Project just made it a “Start No Later Than”, that wasn’t what I wanted! I wanted a “Start No Earlier Than” constraint, but that is the default in a Project schedule that is planned from the start. The “Start No Later Than” constraint is the default when you type in a date in the start column and you are backwards scheduling. Let’s see what happens when I force a “Start No Earlier Than”:
Oké, now this we can explain because it will conflict with my B-day! I’m not going to move my party just because the Circus isn’t in town,,, come on that would be silly! So let’s hit cancel and just go with the predecessors change, that seemed to work.
The alternative to backwards scheduling
Deadlines
I could use Deadlines and generate a schedule that starts from the current date, and has hard deadlines on the most important aspects of the schedule. I would set a deadline on the Circus to be ordered and taken care of 1 month before the 24th, and I would set a deadline on the invitations as well. The Birthday would still be a milestone and it would have a:
Constraint date on end milestone
Nenad did an interesting guest post on Hard constraints versus Deadlines. But in this case I would use both, because I am still celebrating my B-day on the 24th, even without clowns or even a cake. So here would be my version of the schedule, without backward scheduling:
Uhmm, oké maybe I should have started already, remember that red line represented the current date?. Let’s set the Project Start Date to the next Monday and see if I’m still on schedule. This is something I won’t be able to do in backwards scheduled projects due to the fixed predecessors values:
Ah good, I’m still on time!
Final notes on Backwards scheduling
Alright, another exploration done! I’d like to finish with a conclusion on my statements about deadlines or using backwards scheduling. And I would like to share one of my favorite articles from way back. Also, this is the first big post on the new site, yet another reason for cake!
I would still stick with scheduling from the start date of a schedule. It’s just to much thinking that needs to be done when you schedule the other way around. with locking tasks in predecessor columns instead of the tasks themselfs, start dates that don’t change when I change them… just to much hussle.
In the early days as a consultant I only had a twitter account (@ErikvanHurck) and on that account I share useful posts I read from other bloggers. One of the most successful shared links was 8 Steps to Scheduling Success–Step 5: Enter Deadlines. It has a very nice explanation of deadlines. Although the pictures are outdated the information is still relevant. Hope you like the post, thanks Cindy for writing it. I created a scope creep view once, that would also help you with your scheduling from the start date. And if you want to know everything about start dates, go ahead and visit that post, or the video, on The (new) Project Corner Blog :).
As always, thank you so much for reading the post. I hope you learned something about Microsoft Project, and it’s “inner workings”. Please leave a comment to let me know how you liked the post or want to know more.
Good
Hmm I do not think you attacked this in the correct way, at least not in the way that I have in mind. I am not familiar with MS Project or scheduling for the most part. We have a build project. I know when the project has to ship. I know approximately how long it takes to physically build the machine. I know about how long it takes material to get here after ordering it. I want to know when is the latest date that I can order that and receive materials on time for build. I do not want to have to compare with a red line and then play with dates and durations to push stuff around. I simply want the software to tell me the finish date of when I need to release the material.
So, as someone who does not know the true meaning of all the settings, it makes sense to me to set the release date as a predecessor to the build date with a constraint that is “finish no later than” 6 weeks before the build date. Does that make sense?
Hi Controlsgirl,
Thanks for responding (and sorry for this late reply).
In a perfect world you would be right in wanting to know the latest date where you could order, but I believe there is a big risk due to “things not going as planned”.
In a completely time locked schedule I would argue for a situation that you like to have a end date locked and work back from that, but even then (as I stated in the article) there is the struggle with chronological thinking. It’s just harder to do than setting deadlines and work from the “now” towards the “future”.
The article is of course just an opinion, and you are free to give it a try in MS Project. I would love to hear your story once the project is done. How did you plan it, how did it work out for you… Any way, thank you for the comment and thank you for reading.
Kind regards,
Erik