Planing by the hour in MS Project

Someone asked me these days how he can plan the critical cut over phase of his project when he has to go down to an hourly granularity and specify tasks which need to start on a specific hour of the day and which might take only a few hours, while the rest of the project is planned on a daily base as usual. His question was: can this be done with one plan in MS Project or should he better use two plans – an extra one for the cut over period ?

My recommendation was to not start with two plans. Maintaining two plans for one project could easily become a nightmare, at least would be hard to handle, even MS Project does allow to combine multiple plans or to have one resource pool for mutiple plans.

There is no need to deal with that complexity since MS Project

  • has all the flexibility you need to adjust the timescale of your gantt chart
  • and allows to specify timestamps for e.g. a task’s start date also including hours and even minutes.

To view that part of the gantt chart showing the cut over period with hourly granularity it is possible to simply “zoom in” until hours start appearing in the timescale, or to adjust the timescale by doing a right-click on it, then select “Timescale…” to open up the timescale dialog. This would allow e.g. to set up a third tier on the timescale and to show hours there.

In order to be able to specify task related timestamps including hour and minute a default option of MS Project has to be changed, since by default those timestamps are only treated as a simple date. This can be achieved by going to the Tools -> Options menu item and selecting the “View” tab in the appearing Options dialog. Open up the “Date format” drop down and select the appropriate format containing also hours and minutes. This now will allow to specify hour and minutes for each timestamp field in MS Project.
Note that when you click on the arrow besides such a field still the date picker calendar comes up allowing you to select a date only. Per default the time will be set to the default start time of a day, as can be seen and changed under the “Calendar” tab of the Options dialog. After having selected a date however it is possible to edit that field and type in a new time.

About these ads

49 Responses to “Planing by the hour in MS Project”

  1. Tomas Barvinek Says:

    Simple and exact answer for me (the MS proj beginner). Thanks a lot.
    t

  2. Tomas Barvinek Says:

    …and: What it one want to start a set of activities next day although there remains a free time in the current day. Is there a fomula like “leave the rest of the day free and start next successor activities next day in the morning” ? I don’t want to fix it by timestamps but simply tell this is the last activity of the day and the next is the first of next day.
    Thanks tb

  3. Tomas Barvinek Says:

    the previous request might also be solved if there is an option which says that an activity cannot span a day. It should start and end at the same day (supposing the callendar allows this – eg the duration is less than 8hrs for instance), thanks
    tb

  4. amagard Says:

    Hi Tomas. Thanks for stopping by. Unfortunately I am not sure whether I got your question right or whether the option you mention really exists. The only possible answer coming to my mind is that in MS Project Options under “Calendar” you can specify the default time when a task starts or ends. It is recommended that this is identical with the settings of you working calendar.

  5. amagard Says:

    To put it in another way: new tasks will always start on that time as specified under Options -> Schedule for a particular day by default. In order to change the time you would have to follow the steps I have described above. The other option you have of course is to simply dragt tasks around on your gantt chart pane.

  6. Tomas Barvinek Says:

    Thanks and apologize for my bad expression. Yes, the question was unclear.
    Here is the better example: Let’s asuume tha the project consists of 2 taks (7Hr and 8Hr) and that according to the Project (or Resources) Working times the day starts at 8AM and ends at 16PM.
    If one enters a task with the duration of 7hours, it would span from 8AM to 15PM. Ie 1 Hrs remains at the particular day. If the second task of 8 hours is entered, it would span from 15PM to 15PM the next day. So it is splitted between 2 days.
    If the nature of the task requires as few breaks as possible, it vould be better to start the second task the next day (for example a person doesn’t want to book a hotel).
    Certainly we can add a time constraint (drag the task). But constraints seems to me too rigid for complex projects. We can also add a lag time. This would flow but is constant, not elastic. I’d rather specify: “this task should start in the morning”, or “this task should span as few days as possible”. Something like word processors does if one specifies that the paragraph should not split accross multiple pages or should be placed at the begining of the page.
    I understand that it could be somehow against the project management principles, but it could be nice in detailed level shedules.
    Thanks Amagard! It would be fine to get know, but please don’t bother with the question too much. The life not the MSProj it is better traveling …
    t

    • Sean Bernardino Says:

      Hi Tomas, yes I understand what you mean and I’m currently facing the same dilemma. I just want a subsequent task to start the ‘next’ morning and not in the remaining hour in the current day. Don’t like the setting a fixed constraint either because that hinders me making changes to my plan. Will keep looking and let you know. If you find a solution then please post it out here too.

  7. amagard Says:

    Hi Tomas, now I understand what you mean. As far as I know the option you are looking for does not exist in MS Project. Initially if you enter your tasks they might start always on 8:00am next day but when for instance you do some resource leveling MS Project would fill the gaps and start the second task on 3:00pm on the first day in the example you mentioned.

    I’d agree that setting constraints is not a good option either to accomplish this. I also try to avoid those where I can.

  8. tomas Says:

    Thank you Axel.
    So I’ve to get relax and leave the MSProj do its work. No prob. Thanks and ejoy the secondlife :- )
    t

  9. John Says:

    Hello

    I am currently working with microsoft project and I am wondering if there is way to set a constraint in hours, so that my resources have to work at least 4 hours every day they are scheduled. When I level my resources I keep getting some of my resources working only 3.2 hours per day and I havent found a way to fix this issue unless I do it manually which couses scheduling problems. Please let me know if you could help me on any way.

    Thank You.

  10. amagard Says:

    Hi John.
    I don’t know of any function in MS Project to model a “minimum number of working hours” type of requirement for a resource.
    There can be several reasons why your resources are working less time on a task than you would expect: for instance you have specified less working hours in their individual calendars or you have multiple resources assigned to a task and there is no more work to be done for a particular resource.
    Hope this helps for now … if you have more info or questions please don’t hesitate to ask again.

  11. Luca Says:

    Hello,

    Do you ynow if it’s possible to thell MS project that a task cannot be “interrupted”? Here’s the story behind the question:

    Certain tasks in my project can only be executed during specific “maintenance windows” (say, between 1am and 4am), and I would like MS project to schedule them “as soon as possible”. Thus, I don’t want to impose additional time constrains to this tasks (like “must start on”).

    In order to do this, I’ve created a task calendar where the only working hours are those of the maintenance windows. This approach works fine, except for this: If I define fixed duration tasks A and B of 2h each, MS project schedules A from 1am to 3am on day 1 and B from 3am on day 1 to 2am on day 2. However, my maintenance tasks must start and end within the same window on the same day.

    Any clues?… Ideas?… Black Magic?

    Thank you very much in advance

    Luca

  12. pmclay Says:

    Hi John,

    I was wondering if there is a way so I can have a task split over a certain amount of days but only go for a couple of hours. What I mean is I might have a task that will take 2 hours to do but I have between the 25/09/08 and the 10/10/08 to do it. How can I represent this in MS Project.

    Any help would be great, thanks.

  13. amagard Says:

    Hi Luca, I tried out your example without assigning any resources to the tasks and in my case MS Project schedules both tasks into the same time slot as it should be. One reason it doesn’t happen in your case could be that you have one and the same resource assigned to both tasks which would cause those to be over-allocated when scheduling both tasks in the same time slot ?

    Pmclay, what you try to do can be done with a task of type “fixed durration, not effort driven”. If you define it initially duration will be determined based on work you have specified, non-working days in your calendar and 100% resource utilization. When you later on reduce work assigned to the task resource utilization will be decreased correspondingly and duration of the task will remain unchanged, thus less work is performed per day, as you can see in the resource usage view. So, in your case:

    1. Define a task with duration from 9/25 to 10/10 (12 working days according to default calendar in MS Project)

    2. Assign a resource

    3. Change task type to “Fixed duration, not effort driven” ( under tab “Advanced” in task property dialog )

    4. Reduce Work for that task from 96 hours to 24 hours. Resource utilization will go down to 25 % and in the resource usage view you can see that only 2 hours are worked on that task per day in the time period you initially defined.

  14. Miyoko Goto Says:

    Vielen Dank für die Information. Es half mir wirklich, meine Anweisung für meine Universitätsklasse zu beenden.

  15. Ted Burrett Says:

    I can tell that this is not the first time at all that you write about this topic. Why have you decided to write about it again?

  16. amagard Says:

    Ted, I am not sure what you are referring to. Where do you think I already wrote about this ?

  17. dave Says:

    hi, I too have a scheduling problem that maybe you can help with.
    I have a task, which will take 5 hrs. I want to schedule it to occur from 9-10 a.m. everyday, for 5 days from 9-10 a.m.
    If I put in a resource unit of 12%, for 1 hour per 8 working hours, it schedules 7minutes per hour. How can it be done as I described above? thanks.

  18. dave Says:

    p.s. I can do it with recurring, but that seems awkward.

  19. Axel Magard Says:

    dave,
    two ways I can think of to accomplish this. For both ways you would model your task as one task with fixed work.

    Option 1: Kepp your resource assigned 100 % to that task but give him a working schedule from 09:00 to 10:00 am only. This option only works if you do not need to assign him to other tasks during these same days. As an example see here.

    Option 2: Manual edit planned work in Resource Usage view. See example here. When doing this a little icon on the left of the Resource Usage View indicates that resource usage has been edited manually. I still have to figure out myself how MS Project then computed a resource utilization of 33 % !?

  20. Henrique Santos Says:

    Hello Axel! First of all, thank you very much for this tutorial! Please let me ask you a question related to this topic… on the Gantt Chart, if you right click a task, it is possible to “Format Bar”… than, what I would like to do is insert, on the left side of the task, the time that it is starting, but in hour/minute… what is happening when I include the Start on its left is that it is showing the date, even when I configured on the OPTIONS to show only the hour/minute (your third snapshot)… do you have any idea on how to solve that? In other words, what I would like to see on the gantt chart is the start (in hour/minute) for each task.

    Thanks in advance and sorry for my bad english, it is not my mother language.

  21. amagard Says:

    Hey Henrique, got your point since your English as a matter of fact is quiet good ! To achieve what you described go to Format… -> Layout… and change the Date Format there as well to an appropriate format including timestamps.

  22. Henrique Santos Says:

    You are a life saver!! It worked!! Now I have the Gantt Chart exactly how I would like to see it… People like you make the internet a better place for the knowledge =)

    Since it is December, I wish you a Merry Christmas and a Happy New Year \o/

  23. romba Says:

    I have a task (meeting) which occurs 1 hour every week for three months. How would i get the plan to reflect it.

  24. amagard Says:

    Hey, romba,
    that’s not a big deal. After you have changed the settings for Date Format as described in my article you simply add a recurring task ( menu: Insert -> Recurring Task… ) to model your weekly meeting in the project schedule.

    Von Project Management

    For this recurring task you can specify:

    • when ( date and time ) it will take place,
    • how often it will repeat ( weekly in my example )
    • for how long it will be needed ( you can specify a “End by” date )

    Meetings typically have to occur on a special date ( day of the week ) and time, thus you might want to set constraint type for these generated tasks to “Must Start On”. In order to do that you can display all the single tasks generated by clicking on the “plus” sign in front of your recurring task, mark all the “sub tasks” and click on the “Task Information” icon to invoke the “Recurring Task Information” dialog. Here under “Advanced” you can set the constraint type for all these tasks.

  25. JimBob Says:

    Hi.

    Great advice here. I’ve been trying to follow along but I may be blowing it, or I may be trying to do something that Project isn’t designed to do….

    I’m tring to use Project to track batch jobs that run on our mainframe system. Some take hours, some are over in a matter of seconds. It seems no matter what I try to do I can’t get the first job, the one on which all others depend, to start at the appropriate time. I’ve tried changing the calendar to 24 hour, changing the default times and the time scale to minutes, but when I put in my opening job and set a duration for it (one minute) it disappears from the Gantt chart. It has probably moved to some default start time that I didn’t intend, but with a timescale in minutes it takes an awfully long time to find it!

    Any suggestions would be greatly appreciated. Thanks!

  26. amagard Says:

    Hi JimBo,
    MS Project has this icon in the toolbar labeled “Go To Selected Task” ( looks like a finger pointing to a task’s bar ), this should take you to the task selected.

  27. JimBob Says:

    Thanks – that helps me find it. But as soon as I enter a duration it disappears from the 6 PM start time I want it to sit in and moves to 8 AM. No matter how I specify a 6 PM start it consistently moves me to 8 AM again.

  28. JimBob Says:

    For the record, I have tried setting a “must start on” constraint but it moves me to a different time. It doesn’t seem to like a 1 minute task…..

  29. amagard Says:

    JimBob,
    that behavior that your task doesn’t “like” to start at 06:00 pm and moves to an 08:00 am start time might be caused by your working time schedule. By default it is set to 08:00am-12:00pm and 1:00pm to 5:00pm, thus no work occurs outside these time slots.
    For your model you probably wanna setup a 24-hour working calendar. This one should be available already, if not define one. Working time would be from 12:00am to 12:00am apparently. Then make sure your project is using this calendar: go to menu item Project -> Project Information and change calendar accordingly.

  30. 2010 in review « Axel’s Travelog Says:

    [...] Posts So you wanna print out your blog ?Planing by the hour in MS ProjectPerl Coding Error: do not overwrite your hash !Perl Error “Not a CODE reference [...]

  31. Neil Dallaway Says:

    Hi Axel,

    Appreciate that this post was a few years ago now, but it’s the best article I can find on hourly timescales in Project. However, I need to go a little further, I would like to have a weekly schedule up until the cutover weekend, and then an hourly schedule for the cutover weekend. Is this possible in the same plan? Thanks Axel, look forward to your reply…

    Regards,

    Neil

  32. amagard Says:

    Hi Neil,
    thanks for the nice feedback.
    I don’t see any reason why this should not be possible. What I have described above is just a means to define task start and end time stamps on hourly base. You can use this for all or just some tasks, thus you can have tasks in your plan which might take several weeks and you might have tasks which just take up 1 hour.
    Of course it will be a challenge to use the right time scale zoom factor for your gantt chart. Depending on how you chose it your multi-week tasks will be either far too large or your 1-hour-task will be almost invisible. I can imagine that at the beginning of your project you look more at the week-based schedule while later on you will zoom into the hourly scale to see what is going on during the last hours of your project.

    • Neil Dallaway Says:

      Hello Again…

      I think you may have inadvertently answer my question! I was trying to see if I could have different timesclae views, rather than actual timescales, but your comment on zooming I think showed me that what I want is not possible!

      Thanks Very Much!

  33. Wasif Says:

    Thanks it solved my problems. It was really a great help.

  34. ella Says:

    Hi

    In my project I have one automatic resource who works 24 hours a day and one manual Resources who works Mon-Fri, 8 hours per day (standard schema). I need to get them to depend on eachother. The automatic process can only be started manually= It can only start when the manual Resourse is at work. How do I do this?

  35. amagard Says:

    ella,
    you might want to split your “automatic process” task into 2 tasks: “start automatic process” and “run automatic process”. For the first one you need your manual resource ( what an ugly word for a human being ), for the 2nd one the automatic resource. “run automatic process” would have to have a “Finsh-To-Start” or may be “Start-To-Start” dependency on “start automatic process”.

  36. Nishant Says:

    Thanks a lot for the post. It is really helpful

  37. marianm Says:

    Excellent! You’re my hero. Been looking for this for awhile.

  38. Dawn Says:

    What’s Going down i’m new to this, I stumbled upon this
    I’ve found It positively helpful and it has helped me out loads. I am hoping to contribute & aid different customers like its aided me. Great job.

  39. Tomica Says:

    Thanks man! This was just what I need :)

  40. Raj Says:

    Very good article, helped me instantly without much effort. thank you

  41. Dorthe Says:

    Is it possible to create a task that has a duration of e.g. 2 hours each week?? I do not want to specify a specific day as in a recurring task, the task simply has to be done every week

  42. alk. Says:

    Having browsed this I found it to be quite illuminating.
    . It’s great that you used your time to do all of this. I have to admit, I most likely spent about three hours on your blog. Absolutely worth the time, regardless.

  43. get more youtube views Says:

    I always spent my half an hour to read this website’s articles every day along with a cup of coffee.

  44. David Amond Says:

    I have over 100 sets of parts that all run through a specific machine. I have two 8-hour shift crews that operate this portion of production. Each set of parts takes anywhere from minutes to a few hours to run. The customer demand for the parts varies from daily to every 200 days. I have a macro that allows me to insert recurring tasks at intervals beyond the “12-day” maximum default, but it doesn’t allow me to enter fractional values of a day.

    I have the custom calendar set up for 2 shifts, with the exception days entered. My 3 tiers are set at Week, Day, Hour. Work duration is set in hours.

    How would I set up a recurring task pushed to the next available working time closest to a fraction of a day?

    i.e. Parts number “A” takes 4 hours to run, and is required to ship every 3.7 days.
    Parts number “B” takes 6 hours to run, and is required to ship every 14.3 days
    Parts number “C” takes 1 hour to run, and is required to ship every 36.8 days

    Thoughts?

  45. Gadget News Says:

    My partner and I stumbled over here from a different web page and thought I
    should check things out. I like what I see so now i am following you.
    Look forward to looking over your web page repeatedly.

  46. small bathroom designs pictures Says:

    Wonderful postings With thanks.

  47. Samuel Says:

    More precise and helpful post.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: