Quick Links

Reschedule Uncompleted Work from the Past

old timeIn a perfect project delivery situation, where every team member completes every task on schedule, there should never be unfinished work in the past. Or to put it a different way, there should never be a case where the work is scheduled to be completed before the project status date. In reality, very few weeks go by without at least one task not getting completed on schedule and therefore being late. Having a late task in the plan, while obviously not ideal, doesn’t necessarily mean that the project is red. It simply means that the work scheduled didn’t happen as planned.

And while late tasks are a project reality, we still have to make project adjustments to move this work forward and get it rescheduled. Why? Because the “resource” can no longer complete those tasks on the originally planned date. Failing to make this adjustment results in a potential resource overload — the resource could now be scheduled not only to complete the unfinished work from the past but also a full load of new work.

The first step is to move the scheduled dates for all incomplete work forward, past the status date (which represents the last day of the previous reporting period). This is the earliest possible date on which the work can get completed.

We do this from the Project ribbon > Status Section > Update Project button. This launches the Update Project dialog, shown below. On this dialog, select the second option — Reschedule uncompleted work to start after — and ensure that the date field is set to the current status date. Then ensure that the Entire project radio button is selected and press OK.

Kenneth Steiness scheduling figure 1

Caution: Do not select the first option from the Update Project dialog — Update work as complete through. This option assumes that all work has been completed based on the original plan as of the status date and updates the completion percentage accordingly. A proactive project manager won’t want the project status updated automatically without detailed status and timesheets from the team members.

Project will then move all tasks with uncompleted work forward to start (or continue if some actual work had been recorded) after the current status date. Change highlighting will provide full details of the changes made to the overall project. This will move the uncompleted tasks forward along with predecessor tasks and could even create resource over-allocations as this work is rescheduled. Because doing so can have a significant impact on the project, it’s important to review all the changes.

Kenneth Steiness scheduling figure 2

Next, it’s important to review the plan to fully understand the impact that moving this work forward has on the overall schedule and resource workloads. It may be necessary to make additional schedule changes. Bringing the rescheduled work forward could have over allocated some resources and changed critical project deadlines. At this point, you should use other Microsoft Project functionality such as Critical Path Analysis, Resource Leveling and Task Path to further adjust the schedule as needed.

Rescheduling uncompleted work lingering from the past is a simple but powerful function in Project. Using this feature ensures that your project schedule always reflects the full amount of work required to complete the project. We recommend that you include this step in your weekly status update cycle to reduce the amount of manual scheduling effort otherwise required to bring this work forward.

Photo courtesy Orange County Archives through a Creative Commons CC By 2.0 license.

Avatar photo
Written by Kenneth Steiness

Kenneth Steiness, PMP, PMI-SP, MCP, MCT, is an industry expert on Microsoft Project and Project Online. Kenneth has worked in the project management and scheduling field for over 20 years. He has managed customer engagements in 13 countries and throughout the United States and presented at conferences world-wide for Microsoft, PMI and MPUG. Kenneth is the CEO of Sensei Project Solutions, a certified Microsoft partner specializing in project and portfolio management deployments. Sensei offers a complete set of services to help organizations succeed with their Microsoft PPM deployments. Services include full implementation and training as well as pre-configured solutions and report packs. Visit senseiprojectsolutions.com or contact info@senseiprojectsolutions.com for more information.

Share This Post
  1. I assume this process merely sets the start and finish dates to match early start and finish for in-process and unstarted tasks. What if Total Float is negative, does it push the new start and finish exceed the late dates? Could there be an option to limit this process within the available slack?

  2. It may be worth mentioning to review your task types prior to updating your schedule. Some folks will initially plan using fixed duration but once reality sets in and changes are required a person may choose to update the task types to fixed units as an example. You also may want to review whether in-progress tasks are set to split in the schedule options.

  3. This particular article only scratches the surface of the kind of actions necessary to reschedule incomplete work, and also omits an important discussion relating to constraints. The schedule could quickly become unrealistic since this function permits Project to auto-apply constraints to tasks. Constraint usage must be kept to a minimum in a schedule to allow task slippage and accurate forecasting based on performance and planning.

    While this feature can give PMs a quick ‘what-if’ look at the program given certain dynamics; make sure you use this function on a schedule ‘copy’. It shouldn’t be used on detailed project schedules that are provided to customers, PMs or anyone other than to provide a ‘what-if’. Those schedules that must pass industry accepted schedule health checks (sometimes requirements) such as the DCMA 14-Point Assessment, or GAO Best Schedule Practice elements will receive higher risk ratings due to undocumented constraints, and the downstream impacts such float (slack).

    Generally, for the kinds of schedules that this would be acceptable to utilize – probably shouldn’t be in Project to begin with.

  4. Avatar photo

    Jorge, it actually uses the “Status Date” to set a ‘Start No Earlier Than’ constraint on tasks that have not yet started and are currently scheduled to start before the status date. For in-progress tasks, it splits the tasks so that actual work stays in the past and remaining work is moved forward. As for float, that’s really not much of a consideration since we’re talking about moving work that wasn’t completed in the past forward of the status date. Yes, there will most likely be an impact to the critical path and free float, but that’s to be expected when work doesn’t get completed on schedule.

  5. Avatar photo

    Thanks Mark D. Yes, I should’ve emphasized that under Schedule Options, you need to select “Split in-progress tasks” for this to work (it’s selected by default though). As for Task Types, it’s definitely always a consideration, but the ‘Update Project’ feature works for all Task Types.

  6. Avatar photo

    Hi John S. Rescheduling uncompleted work from the past (with ‘Update Project’) is a powerful technique, but just one of the key steps in the weekly process for schedule updates. Since we can’t go back in time (yet) to do work that was scheduled last week, we need to move this forward, regardless. As such, the ‘Update Project’ feature does a very nice job of this.

    The ‘Start No Earlier Than’ constraints that are applied don’t have a negative impact on the forecasting ability of the schedule (above and beyond the negative impact of already running late) since they are aligned to the status date. In fact, in our Schedule Analyzer App, we only call out constraints that are not in the past or on the status date. If a schedule is built to industry standards, such as those from PMI (Practice Standards for WBS and Scheduling), then only constraints in the future can have a negative impact on our forecast.

    We have thousands of Project Managers in hundreds of organizations using this technique with a great deal of success.

  7. Hi Folks, I am on the fence of using this method. A quick push of a button bringing tasks into the future negates the opportunity to learn as to why they are in the past. I do not use this function for that reason. Instead I have the team update Actual Start and remaining duration why statusing to put the started yet not completed tasks into the future. Then insert a “Delay” Task that includes the reason for the delay in the task description and detail out the cause for the delay in the notes. So when I perform lessons learned/retrospectives we have the history as to why the delay took place so I can eliminate it’s cause for the next project, phase or deliverable.

  8. Avatar photo

    Hi Matthew, you can absolutely update Actual Start and Remaining Duration, but that doesn’t catch work that was supposed to start in the past and didn’t. Also, most of our clients now want to do resource capacity/demand management and as such we really need effort-based schedules with resource allocations and then update ‘Actual Work’ and ‘Remaining Work’. As far as learning why tasks are in the past, we often see that getting communicated in Project Web App (PWA), where team members can add comments to individual assignments and the PM can review the impact of accepting task updates before they’re consumed into the schedule. I’m not a big fan of adding ‘Delay’ tasks since that has other implications to the scheduling. It becomes more difficult to do the ‘quantifiable measure’ of the schedule as the ‘delay’ tasks will add a lot of exceptions.

  9. Hi Kenneth, thanks a lot for your advices. The only thing that I have against of this suggested technique, is that in a future status update cycle, could be impossible to improve the ‘earlier date’ of such task which got a ‘Start No Earlier Than’ constraint, when its predecessors tasks get improvements.

  10. Alfredo —

    Thank you for your comment about Kenneth’s article. Keep in mind that when you reschedule uncompleted work from the past, you should be rescheduling it to start on Monday of the current week. This means that the SNET date will be on Monday of the current week, not in the distant future. So, I think you can safely use the method documented by Kenneth, without worrying about the effect of the SNET constraint. Hope this helps.

  11. Is there a way to view the tasks that have work in the past? I was hoping the late filter would perform this function but it does not. It includes tasks that have work rescheduled past the status date. Lat is calculated based off percent complete not if there is work in the past.

  12. i have few questions on this:
    – if the PM updates late activities, then how management (like PMO) will know there are delays in the project. I guess keeping late tasks as late will keep the emphasis on getting them done as they will always be easy to filter.

    – won’t this create an overhead on the PM as he has to do full review of the impact of using auto scheduling of old tasks?


  13. Khalid —

    Thank you for your questions about Kenneth’s article. To help the PMO know that there are delays in the project, it will be important that you save a baseline before your team members begin work on their tasks in the project. When team members enter progress that is behind schedule, or when you reschedule uncompleted work in the past, Microsoft Project will calculate a positive Finish Variance value on each slipping task. Your PMO will be able to see this Finish Variance in reports in PWA and even in the new Office 365 Project Portfolio Dashboard app for Project Online. If you do not have this app, I would recommend your organization download and install it from the Office Store.

    Regarding overhead for your PMs, yes, rescheduling uncompleted work from the past does require a little bit of overhead. That is simply one step in the weekly process of approving task updates from team members. In order for your PMs to have an accurate schedule, they MUST do this step each week. If they skip this step, their project schedule will become more and more inaccurate each week, which is obviously not a good thing. Hope this helps.


  14. Very surprised to see some of the comments suggesting caution with this. This is how PERT works and is default in most project management packages – it is certainly the approach one would take planning using CP/M manually. It’s very strange that Project doesn’t do this automatically as time analysis in the past is a 100% useless facility.

  15. Brian —

    Thank you for your questions about Kenneth’s article. To locate any task with work in the past, there are two ways to do this. One way is to apply the Late Tasks filter. The other way is to click Format > Gridlines > Progress Lines and to display the progress line at the Status date. Using progress lines, you would look for any line that “dips” back to the left of the Status date line. However, using either method, you will discover that Microsoft Project flags tasks with uncompleted work in the past AND tasks where you have already rescheduled the uncompleted work. I have not found a method that flags ONLY the tasks with uncompleted work in the past. Hope this helps.


  16. Gavin is right – this should be the default option. In my opinion. the method Microsoft chose makes no sense in the real world (but I only have 35 years of hands-on experience as a Planner so what do I know…)

    I’ve tried the option suggested but, for me, it just won’t work. I have been through changing the options settings and the type values and the only way I can get the look I want (and more importantly my client wants) is to split every bar one at a time and then manually move the end ahead of the status line. This, clearly, is a) time consuming and b) frustrating. I really don’t want to have to do this every single week for up to 150 activities.

    Any suggestions (that work) would be appreciated.

  17. Update on my difficulties above – I copied the project, deleted all of the tasks then checked the options so that the default for new tasks was fixed units then copied the tasks back in, ensured the calendars and durations were correct then progressed all of the activities – that seems to have worked. It took me all morning to do, but it is now working the way that I wanted it to – and the Update Project steps work perfectly so my 300 total teaks don’t have to be individually moved on a weekly basis.

    Lesson learned – if at first it doesn’t work, be creative and find a solution. You may have to go back a lot of steps and it might take you a half day (or longer) to do, but persistence pays off!.

    Just shows that even an old dog like me can learn a new trick or two.

  18. John —

    Thanks for both of your responses to Kenneth’s article. Your first response had me very concerned, as what you described is certainly not the default behavior of the tool. Your second reply made me gladdened, knowing that you resolved the problems. My experience with Microsoft Project has been when known features of the tool simply do not work, this is one of the tell tale signs of project corruption. If you are using Project Server or Project Online, you can resolve a corrupted project by using the Save for Sharing feature. If you are using Microsoft Project desktop only, most of the time you can resolve the corruption by saving the project as an XML file, then reopening the XML file and saving it as a new project. In any case, it sounds like copying the tasks from the original project into a new project eventually solved your problem. Way to go, my friend!


  19. I realize I am very late to the discussion on this, but I’ve been pondering it and I agree with those who advise caution. Here’s my hypothetical…

    You were supposed to read a book last week, you didn’t. Why not? Here are a few possibilities:
    o I didn’t have the book – missed a dependency (add dependency)
    o I was on vacation – missed a calendar update (update the calendar)
    o I can’t read – task assigned to wrong resource (reassign the task)
    o I don’t need to read it and I’m not going to read it – unnecessary task (delete it)
    o I was busy doing other stuff – in essence, you “self-leveled” – you delayed the task of reading the book so that you could get more important work done (add leveling delay).

    If we were using the MS Project “Reschedule uncompleted work” feature, your task for reading the book would be rescheduled to today and we will just keep rescheduling every week until it begins to affect the critical path, when we will finally stop to take a look at why you are not reading the book. That’s a silly example, but in a big project with many tasks, you want to understand – and respond to – what’s going on at the first sign of delay.

    Moving a task forward using Start No Earlier Than simply moves it out of the past and into the future – not a bad thing, but definitely not the best thing.

  20. Margaret —

    Kenneth asked me to reply on his behalf. In the situation you describe, I would add a note to the task every time I had to reschedule it. The history of written notes would explain what is going on. If you disagree with rescheduling uncompleted work from the past into the current reporting period, then what is the alternative? Leaving an incomplete task in the past is not a good thing at all; in fact, it is a very bad thing because the schedule is now wrong. So, what would you suggest instead? Let us know. Thanks.

    Dale Howard

  21. I absolutely agree that you cannot leave delayed tasks in the past. Based on the cause, as noted above, I fix them. Sometimes that’s adding a missed dependency or reassigning the work or even deleting an unnecessary task. But if there’s nothing like that, then 9 times out of 10 the reason for the delay is that the assigned resource was busy doing other work, so he or she “self-leveled” – delayed work on this task because of higher priority work. You fix that just like you would have if you had known it in advance – add leveling delay.

    So (short answer) other than addressing one-off situations, I would use Leveling Delay instead of a Start No Earlier Than constraint.


Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>