akshaydharphale / ganttproject

Automatically exported from code.google.com/p/ganttproject
0 stars 0 forks source link

Days off have no impact on a project schedule #18

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Copied from the bug tracker on SourceForge:
https://sourceforge.net/tracker/index.php?func=detail&aid=1575592&group_id=72728
&atid=535427

Having defined the resources for the project I keyed in
"Days Off" and then planned tasks to be done. When it
came to allocating a resources to the tasks the "Days
Off" were ignored. The end date does not take into
account "Days Off".

Original issue reported on code.google.com by dbarashev on 5 Dec 2008 at 11:55

GoogleCodeExporter commented 9 years ago
Are we wtill not fixed with the 'Days Off' problem after 3+ years of this being 
detected? Is there a plan to fix this in Loire M3?
This little defect makes it unsuable - an otherwise extremely useful tool, 
comparable to MS Project (at least for the purposes that I need to use it for).

Thanks

Original comment by ggan...@gmail.com on 17 Apr 2009 at 3:59

GoogleCodeExporter commented 9 years ago
It is impossible to fix anything in M3 just because M3 is already published. 
But we
know that this problem is important enough and do want to fix it in Loire.

Original comment by dbarashev on 17 Apr 2009 at 6:02

GoogleCodeExporter commented 9 years ago
Is there an estimated release date for this fix?

Original comment by qtec...@gmail.com on 23 Apr 2010 at 12:33

GoogleCodeExporter commented 9 years ago
We have no release date plans.

Original comment by dbarashev on 23 Apr 2010 at 7:36

GoogleCodeExporter commented 9 years ago
Issue 124 has been merged into this issue.

Original comment by dbarashev on 18 Jun 2010 at 4:25

GoogleCodeExporter commented 9 years ago
In the meantime (waiting for this fix), is there any "trick" to avoid the 
problem ?
Create a task holiday ? I am welcoming any suggestion, otherwise I might have 
to switch to another software. It would be a pity as I love Ganttproject 
ergonomy.
Thanks in advance

Original comment by elise.jo...@gmail.com on 16 Dec 2010 at 9:50

GoogleCodeExporter commented 9 years ago
dbarashev,
I would like to help with this issue. I've been going through the code with
eclipse but I'm not that familiar with it.
Would you have any hints as to where I should start looking to fix this
issue - or to better understand how it works :-) and what needs to be done?

Original comment by fjmalo...@gmail.com on 16 Dec 2010 at 10:53

GoogleCodeExporter commented 9 years ago
@fjmaloney: thanks for volunteering. However, this issue is really difficult 
and touches a lot of quite fragile code which is not covered with unit tests, 
so it is better to think twice before you start diving into it. And although I 
don't mind giving small hints, I can't promise any detailed or continuous 
guidance (because it will be easier for me to just do it myself in this case).

ResourceAssignment, GanttDaysOff classes and TaskImpl.recalculateActivities 
methods are probably the key entry points.

Original comment by dbarashev on 17 Dec 2010 at 12:15

GoogleCodeExporter commented 9 years ago
Has this issue been addressed yet?  

Original comment by pennybmi...@gmail.com on 28 Apr 2011 at 7:05

GoogleCodeExporter commented 9 years ago
No

Original comment by dbarashev on 28 Apr 2011 at 7:30

GoogleCodeExporter commented 9 years ago
I'm very interested in this issue too. So far a very lightweight, intuitive 
tool.

Original comment by pdeutsc...@googlemail.com on 5 May 2011 at 2:51

GoogleCodeExporter commented 9 years ago
I'm no coder at all, but I'd sure love this issue to be resolved ;-)
In the meantime, I join Elise in asking : is there a get around? Creating a 
"holidays" task or somethng like that?

Original comment by pierre.s...@gmail.com on 18 May 2011 at 1:14

GoogleCodeExporter commented 9 years ago
This error unfortunately makes me strongly considering switching to MS which is 
a shame because GanttProject otherwise works well

Original comment by lars.h.j...@gmail.com on 28 Jun 2011 at 12:22

GoogleCodeExporter commented 9 years ago
Seems this will never be fixed - oh the trials and tribulations of 
free-software!

Original comment by phlerb...@gmail.com on 5 Jul 2011 at 2:23

GoogleCodeExporter commented 9 years ago
Though the software schedules project activities irrespective of days off , it 
still shows the respective resource on the off day as yellow in the right pane 
of "Resources" tab. So if we happen to have a look at this pain , we can at 
least get an indication of wrong planning.

But yeah , it's a bug which should be fixed for my plan to be accurate.

Original comment by gurpreet...@gmail.com on 28 Jul 2011 at 7:50

GoogleCodeExporter commented 9 years ago
Hi are there any plan to fix this bug? Like they say, out of sight is out mind. 
I thought to use this comment to bring this bug back to life to the forefront. 

Original comment by oni...@gmail.com on 15 Oct 2011 at 8:34

GoogleCodeExporter commented 9 years ago
Can one of the devs please point to sections of the code to look for if I want 
to work in this issue? This otherwise great software is pretty much unusable 
because of this feature.

Without looking at the code I can see why this is not straightforward to "fix": 
a task can have multiple resources assigned to it, and they don't necessarily 
have the same days off, apart from the ones defined in the project's calendar.

If I define a task as having a duration of 10 days, and it has one resource 
with 3 personal days off during those 10 days, but the other resource does not 
have any day off, then it's not straightforward to extend the end date of the 
task to account for those 3 days.

Other users mention that MS Project does not have this "bug" (being careful to 
put bug between quotes because it's more of a huge inconvenience than a bug). 
Having never used MS Project I do not know how this is addressed in MSP. A 
possible "fix" could be to flag a task-resource as being indispensable, which 
would extend the task by that resource's days off. The timeline would then show 
the yellow days off like it currently does, but would not overlay a blue 
ongoing task layer on them (or make it semi-transparent). Another possible 
solution would be to separate the number of work days of a task from the start 
and end dates, and define "days off for a task". This wouldn't be as effective 
because it would somehow duplicate information and would not make use of the 
personal days off of the resource.

If someone wants to give input on the way this is implemented in MS Project I 
would be glad to have a shot at implementing it.

Thanks

Original comment by ziad.saab on 4 Jan 2012 at 12:09

GoogleCodeExporter commented 9 years ago
What about just asking a user what to do with the tasks a resource is assigned 
to when a user edits days off? If he chooses to increase task durations, then 
do it, otherwise ignore as it is now.

Original comment by dbarashev on 4 Jan 2012 at 11:03

GoogleCodeExporter commented 9 years ago
The issue with this is that a resource might not have the same level of 
importance for all tasks. My first naive idea was to use the units ratio to 
extend the task by the number of personal days off of the resource multiplied 
by the units ratio of that resource for that task. Not only would that lead to 
fractional days off, but it wouldn't be representable on a timeline because it 
wouldn't be linked to reality (the resource will be away for X days, not X days 
times unit ratio per task). That's what led me to the idea of making a resource 
indispensable for a given task.

Original comment by ziad.saab on 4 Jan 2012 at 11:18

GoogleCodeExporter commented 9 years ago
Many tasks are assigned just 1 resource, so for many of them GanttProject can 
give reasonable assumptions: resource is off 3 days => task becomes 3 days 
longer. Show these assumptions to the user and ask to confirm; for the 
remaining maybe just show the tasks and ask what to do and let the user decide. 
The problem is that users often just don't want to search for assigned tasks 
and change their dates in many places (many times open dialog, etc.). If they 
could do it from a single place (from days off dialog), they would be happy.

Original comment by dbarashev on 4 Jan 2012 at 11:32

GoogleCodeExporter commented 9 years ago
Actually you are correct about the 1 resource 1 task thing as far as my project 
is concerned so far. I haven't done many of these in the past but I feel that 
if more than one resource is assigned then the task can usually be split into 
sub-tasks.

I am liking your solution more and more. We just have to add the case where the 
personal days off were defined before the task was defined. Also, with the 
current system where the task days are tied to the start and end date, simply 
extending the task won't give an accurate representation of the actual number 
of days worked. That part of the model would have to be modified to separate 
work days from start and end date. Here I'm making an assumption since I 
haven't checked the code. Is the tying of the days to start/end dates only a UI 
thing or is it actually part of the model?

Original comment by ziad.saab on 4 Jan 2012 at 11:37

GoogleCodeExporter commented 9 years ago
It must be a pure UI. In the model there is just a start date and a duration, 
no separation of work days from start/end dates.

Original comment by dbarashev on 4 Jan 2012 at 11:49

GoogleCodeExporter commented 9 years ago
Right. Since the current model assumes that a task will never be interrupted, 
then only two fields are needed. end_date = start_date + days. What I am saying 
is, now that a task can be interrupted, we need to have a notion of the total 
number of days the task will be ongoing, but also the total number of days the 
task will be active i.e. have someone working on it. The current Task::days 
property would be refactored to Task::working_days, a new Task::days_off 
property of type List would be added containing a list of date ranges where the 
task will be paused. getEndDate (assumed name) would be changed to return start 
date + working days + sum of the date ranges where the task is paused.

If you could quickly throw some class names in here I'll gladly take a look as 
I'm extremely motivated to create at least a working solution even if it's not 
perfect.

Original comment by ziad.saab on 4 Jan 2012 at 11:58

GoogleCodeExporter commented 9 years ago
Other point: if I cancel my vacations due to unforeseen circumstances then I 
also have to be shown a list of tasks that could be affected by this change and 
decide if I want to remove the days off from the task.

One practical example of this: Resource A is working a regular Mon-Fri 9-5 
schedule. Resource is scheduled to be off from Wed-Fri of this week because 
they're attending a conference for ongoing education purposes. Thursday's 
conference gets canceled so there are now two one-day off ranges. If we weren't 
displaying the project on a Gantt chart then we wouldn't care about the actual 
dates off, only # of days. But since we want a visual representation then we 
need to know the dates and be able to modify them.

Original comment by ziad.saab on 5 Jan 2012 at 12:06

GoogleCodeExporter commented 9 years ago
Such changes will have much more serious and risky impact, while this 
particular problem in my opinion can be fixed by just UI means: task was 5 days 
long, resource is 3 days off=>task becomes 8 days long, with the same semantics 
of what task duration is and no changes in the model.

GanttDialogPerson edits resource properties, TaskManager holds all the tasks, 
HumanResourceManager holds all resources, IGanttProject provides access to both 
of them, ResourceAssignment and ResourceAssignmentCollection bind tasks and 
resources

Original comment by dbarashev on 5 Jan 2012 at 12:10

GoogleCodeExporter commented 9 years ago
Yes that would be one quick way to patch it up. I'll have a look at the classes 
you just posted. Many thanks for renewing interest in this issue. It's 2AM here 
so I'll have a look at this tomorrow.

Original comment by ziad.saab on 5 Jan 2012 at 12:13

GoogleCodeExporter commented 9 years ago
Without having looked into at the code or having much hard core project 
management experience, I apologize for my naive perspective.  But given that 
there is an algorithm to apply a global calendar (that has weekends, and 
optionally "Public Holidays") against Task duration already, could the 
following be considered a possible solution?

Extend Task to have a nullable Calendar property.  If the property is null, 
apply the global calendar for calculations on duration et al.  If the property 
is not null, apply that local calendar for calculations.

So when Resources are assigned to a Task, that all assigned Resource calendars 
are unioned together with the global calendar, and then that aggregate calendar 
is assigned to the one Task.  Recalculate and - naively - everything all takes 
care of itself?  I would hope (expect?) that this would take advantage of code 
already written.

Thoughts?

Original comment by roehl.si...@gmail.com on 11 Feb 2012 at 9:21

GoogleCodeExporter commented 9 years ago
Could I throw in another request to take into account.  I have just started 
working on a project where I have resources in different countries, so 
different public holidays.  Also my Chinese resource can work 7 days a week, 
not just 5, so when they say 60 days lead time they mean 60 days not 84.  Also, 
of course, ships don't stop on the weekends :)

It would be wonderful it it were possible to control all of the working days on 
a resource by resource basis.

I'm new to project planning and would have thought that this is a basic 
requirement otherwise you can't tell how long your plan will take.  Or am I 
missing something in this dark art.

Original comment by howardwa...@gmail.com on 30 Apr 2012 at 6:09

GoogleCodeExporter commented 9 years ago
Issue 716 has been merged into this issue.

Original comment by dbarashev on 15 Jan 2013 at 9:17

GoogleCodeExporter commented 9 years ago
I've began to use ganttproject and I think it's quite necessary to view the 
real duration time according to holidays and time-off. Unless you can do it 
automatically, it's not useful having to add time to all the task which include 
holiday (that you can see in a point at least or checking leave time)

Original comment by mlvm.sus...@gmail.com on 13 Mar 2013 at 3:32

GoogleCodeExporter commented 9 years ago
Is this core feature still a bug after so many years ???  Has anyone taken a 
stab at fixing it yet?

Original comment by nicolasp...@gmail.com on 29 Apr 2013 at 8:55

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Hello,

I also found this error a few months. The consequence is impossibility for me 
to use GanttProject ... what a shame.
It is essential that the end date of a task assigned to a partially missing 
resource is calculated correctly otherwise the project planning is distorted.
I hoped that version 2.6.2 include a patch ...
When this subject will be corrected ?

Thanking you.

Regards.
Kriss

Original comment by bouln...@essilor.fr on 7 Jan 2014 at 2:44

GoogleCodeExporter commented 9 years ago
Hi there,

For me too, this is the defect which makes it impossible to use this piece of 
software. Obviously, the developers have bigger fish to fry now.

Disappointing.

Original comment by goo...@thebluelizard.co.uk on 29 Mar 2014 at 9:53

GoogleCodeExporter commented 9 years ago
Has development completely come to a stand still on this software

No Resource levelling =  Impossible to be useful in any way
Why let the user enter holidays and time off, assign resources, set priorities 
and then do absolutely nothing with that information.

Terrible

Original comment by ellispl...@gmail.com on 28 Apr 2014 at 10:11

GoogleCodeExporter commented 9 years ago
I guess we'll have to take this as it is... free software with some minor 
issues. This is great software for starting and estimating small projects. 
Resource holiday times will have to be estimated into the task duration. 
For those of you who depend on their software for professional use .. buy MS 
project!

Original comment by sid.sand...@gmail.com on 28 Jul 2014 at 11:56

GoogleCodeExporter commented 9 years ago
Issue 1012 has been merged into this issue.

Original comment by dbaras...@ganttproject.biz on 31 Oct 2014 at 1:52

GoogleCodeExporter commented 9 years ago
Up for this enhancement please... It's a so mandatory functionality !!

Original comment by kriss...@gmail.com on 6 Jan 2015 at 12:48