Duration calculation

D

DavidC

I have a project covering a number of companies using slightly different
hours of work. The programme I am developing is a high level programme which
reflects major groups of activities from each of the participating companies.
I have set up a specific calendar for each company as well as the standard
project calendar. I have also set the default settings to reflect the
standard project hours of 10 hours per day, and 7 days per week. I have just
noticed an issue when applying durations in days to a task and applying the
relevant companies calendar to that task.

To explain the phenomena this is an example:

Company 1 task has a duration of 10 days on the standard daily work time of
10 hours. If the task starts on the tenth, the task shows as being completed
on the 19th. Reflecting the 10 day duration.

Company 2 task also has a duration of 10 days, but they only work 8 hours
per day. The task starts at the same time (the 10th) but it shows a
completion date of the 22nd or 12.5 days, yet the duration still only shows
as ten days.

I have tracked this phenomena down to the way duration is stored in project
(duration days*default hours*60*10), and hence if a calendar works less hours
then the task is spread out to fulfill the total hours calculated using the
default hours of work not the hours of work of the relevant calendar. If I
set the companies calendar to the default, then the tasks show as completing
at a time outside the hours of work for that company and they complain. If I
set the calendar, then the calendar days covered by the duration are greater
than reality.

Is there a suitable work around or do I simply have to explain to the
contractor to ignore the time aspect of the finish date?
 
S

Steve House [MVP]

The obvious solution in this case is to specify all durations in hours. You
are correct in your discovery of how Project stores durations. The entries
for "hours per day" and "hours per week" are only conversion factors, really
there only for convenience in data entry, allowing you to define globally a
standard "day" or standard "week" in terms of the number of hours it
contains. The actual hours where tasks will be scheduled are driven by the
working time calendars. But the conversion is a global setting and so if
you have several tasks each lasting, say, 3 days, and they are governed by
different working time calendars you may very well find the elapsed time
encompased by "3 days" can be quite different. An interesting experiment to
demonstate this is to create a new project with all the out-of-the-box
default settings and enter a task with 1 day's duration. You'll find it
starts at 8am and ends at 5 pm, the same day. Now go to the calendar
options pages and change the hours per day from 8 to 7. Looking back at the
Gantt chart you'll see the duration is now shown as 1.14 days even though
the start and end dates and times, etc, haven't changed a bit. What has
changed is the number of hours considered to be "1 day." AFAIK, there's no
workaround, that's just the way it is. But contrary to what you suggested,
I'd tell the contractor to treat the number in the duration column as only
an approximation and pay attention to the dates and times listed in the
start and finish fields because they are the real schedule. If you really
wanted you might be able to come up with a calculated column that would give
you days as defined by the applicable calendar but it might not be worth the
trouble.
 
D

DavidC

Thank you Steve. Thought that might be the case but asked just in case
there was an option. I agree about putting durations in hours, but in this
situation one company works 9.5 hours a day for five days and 8.5 hours a day
on the weekend, and has durations of 20, 40 and 23.5 days as an example, all
on six different units, so calculating the hours for the tasks given the
different combinations of weekdays and weekends whilst achievable is just a
little onerous.

It is good to understand these limitations though especially when working in
periods other than hours.

Thanks again for your help.

Regards

DavidC
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top