Steven Covey’s brilliant book, The 7 habits of Highly Effective People, outlined seven key steps. One of those steps was to start your day with the end in mind. In project management, this is a familiar scenario, where senior management has given a target or a goal with the end date and — in some cases — the budget laid out. Now the project manager has to figure out how to deliver this. In this article you’ll learn how to start your project planning with a finish date first and then reverse engineer your schedule backwards to a start date.

So let’s get started. There are a few key ingredients needed to make this work.

  • An end date;
  • Some version of Microsoft Project, whether on your desktop or online (This will work with any version of Project from Project 98 forwards.); and
  • A list of key activities the project will encompass.

It’s common for project managers and schedulers to start with a schedule and wrestle through some of the obvious scheduling choices; but if you want the fewest numbers of clicks, avoid this common mistake in schedule creation: In the following diagram, you can see that I am showing the Task Entry view, where the Gantt Chart, the Task Sheet and the Task form are all close together and I have circled three key areas.

These are the Predecessor relationships (there are certainly many more ways to edit this), but essentially we are showing a link (and the type of link) between task 1 and task 2.




Typing, clicking or double clicking any of these areas will allow you to drill down and select a different type of relationship. Typically, in creating a schedule, we want to link activities together. And by clicking, typing or double clicking, you are presented with several choices for establishing a relationship.

In this next diagram, you will see a relationship type called Start-to-Finish.


This can be used for reverse engineering, but it doesn’t allow your schedule to be easily managed in a forward progressing one, so avoid this.

Why? Because the idea is that the start of one task will trigger the finish of another task. If you were building your schedule suing Start-to-Finish, you would be listing the finish date as Row 1, and then linking the next-to-the-last task as the second row in the schedule. This would leave you with the finish of your Project Schedule in row 1 with the following rows evolving to the beginning of your schedule, which could be row 279. As you can see with this next diagram, it’s not the easiest to manage a schedule.




Now that we’ve identified a common pitfall, let’s look at how to get this working correctly! Armed with your project end date or go-live date, you can start planning backwards this way.

Click on the Project Tab (on the Ribbon) and select the Project Information button.







From the Project Information dialog box, choose the Schedule from dropdown choice and select Project Finish Date. This will allow you to enter your end date directly into the Finish Date field (which was greyed out before).














Now start building your project schedule normally. You might want to try this approach:

  1. Enter the Finish date into row 1.
  2. Insert a new row above row 1, forcing the End Date Milestone or Activity to move to row 2. This essentially allows you to plan backwards, but to lay out the schedule as if you had typed it from the start.
  3. With each successive task you add, you will link and create the relationships in the normal way, but as you enter durations and link activities, watch your Project Start date continue to move backwards.

In the diagram below, I used the same tasks as I used in the reverse-engineered schedule above. However, adding them in this order created a Project Start task at row 1 with the Project Complete task at the end of the schedule.




Let’s add some final touches here.

With the end date you should put a deadline as you will most likely be moving or shortening the schedule, which means you’ll be tightly pressed in managing the schedule. Double-click on the last task or milestone (Project Complete) and click on the Advanced tab.

Choose the end date Deadline. When you flip your schedule around, this will set a monitoring point that will help you later should your tasks move beyond the end date of the project. You can see this in the next picture.












Once you have that chosen, click on the OK Button.

In the screenshot below, you can see the end date now has a deadline icon on it. This will stay there as you move the project start date back, and it will help you identify slippage with an alert.


Now if you started managing your project schedule, you would find that every time you typed a new duration, your project schedule would continue to push the start date back. What we need to do is tell Project what the new start date of the project is and to start scheduling from the start and move the end dates out.

Remember how we set up the reverse engineering scheduling mode earlier? We are going to follow these steps again but choose to schedule from the start date.

Click on the Project tab and select the Project Information button on the ribbon.







Select the Project Start Date from the Schedule From dropdown box. Make sure to choose the Project Start Date.

Click the OK Button and you will now be able to manage your schedule normally, with the durations moving out the end date vs. the start date.

















As you make changes in your schedule, your deadline will help show when you will be moving over the set finish date.

You are now ready to do reverse engineering quickly and effectively. Remember, the key steps in this planning technique is to remember to flip the schedule back around to get the benefits of both backwards planning and forward dynamic scheduling.


A version of this article first appeared on the Advisicon blog.
Image courtesy of Quinn Dombrowski CC 2.0