Gantt chart search within period produces wrong issues

I have a project that contains a total of 87 issues. Of these, only 20 have been assigned due dates and time estimates. All 20 of these are in the version "Beta". All of them have a due date of Sept 1, 2013, which is 15 weeks away.

When I try to show the Gantt chart, I ask for the period -4w to 15w. This says that it has found a total of 13 issues, and the Gantt chart displays 13 issues.

When I choose -4w to 16w, the Gantt chart says it has found 24 issues, and the chart actually displays only 7 issues. Why does it claim 24 issues when the project only has 20 scheduled issues? Why does it only show 7, when it showed 13 for a period that is a subset of this one?

When I choose 16w to 16w, the Gantt chart says it has found 5 issues, and the chart actually displays 5 issues.

When I choose 15w to 16w, the Gantt chart says it has found 17 issues, and the chart actually displays only 7 issues. One of the issues that showed up for the period 16w to 16w does not show up in the 15w to 16w search.

I can't make any sense of these results. They are not random, but they are completely unreliable. What is going on?

7 answers

It turns out that if I specify a range of -4w to 52w then the Gantt chart says it has found 30 issues, which does not make sense, and it then hangs forever with the message "please wait while loading" while the little loading animation runs.

When stuck in this state, the Firefox Javascript error console says:

Error: TypeError: D[A].getStart(...) is null
Source File: http://example.com:8090/s/en_US-lcmsg2-418945332/852/12/1/_/download/superbatch/js/batch.js
Line:
3018

Hi Andrew,

an issue is displayed on a Gantt-Chart, if it has defined a planned start and end date and the related period is included within or intersects the time period being defined by from-to. Open your browsers console, you will see the corresponding JQL-statement to verify the result set within JIRA's Issue Navigator (search issues).

You can download my latest version pre-v2.3 from my server at:

Using pre-v2.3, the javascript-error should have been fixed as well.

Regards,
Frank

Thank you, Frank. I have some progress to report:

1) I have downloaded and installed the latest version from your site. It no longer hangs up on "please wait while loading", which is good.

2) I have been unable to locate the embedded documentation. I'm willing to accept that I'm just blind, but can you please tell me where to find it?

3) I have an explanation for the strange time range behaviour I am seeing. It looks like a bug in the plugin:

None of my JIRA forms contains either Planned Start or Planned End, and they were not made visible when I installed the Gantt chart. I was able to figure out how to make them visible, but we've never used them for anything in the past, so they are mostly empty. They apparently were populated implicitly when I set the Due Date and Original Estimate fields. Some of my issues contained a Planned End but no Planned Start (I do not know how these occurred - we did not explicitly set them). The Gantt plugin is failing when it encounters issues that have no Planned Start.

I have tested this, and it is reproducible. Simply remove the Planned Start from any issue and attempt to chart the project. Only some of the issues will now be visible in the Gantt chart.

Hi Andrew,

switching to admin mode and configuring my Gantt-Chart, you will find additional information on each tab panel embedded as well as by clicking on the link "Operational hints and inline documentation" on the result page after hitting "apply".

For your convenience, I have attached the most important info:

Please ensure, that all issues have set a planned start and end date: you can verify this by switching into the JIRA's Issue Navigator executing the related JQL to display them. Then, configure columns by adding the custom fields "planned start", "planned end" and "Gantt-Chart" to extend the result view. The additional column "Gantt-Chart" displays an embedded Gantt-Chart within JIRA's filter result set including hints if something is missing.
If you are using Gantt-Chart for a project already having issues before, this issues do not have valid planning dates. In that case, you have 2 possibilities:
1. manually maintain the planning start and end dates
2. switch to admin mode, select your project, choose tab "Gantt-Chart", enter a project start/end date as well as a default estimation value and click on "generate planning dates…."
I distinguish between planned end date (project management view) and due date (customer view):

If you are using Gantt-Chart for new issues, the following rules are used having enabled re-scheduling within the plugin configuration before:

Automatic re-scheduling of planning dates: you must have enabled JIRA time-tracking!


Issue Creation

  • having set due date and original estimation: the due date will be copied to the planned end date and the planned start date will be calculated as due date, adjusted to the prior working day in case of non-working day, minus originally estimated effort * velocity (see below).
  • having set planned start date and original estimation: the planned end date will be calculated, taking a duration of the original estimation as working days into account from planned start date.
  • having set planned end date and original estimation: the planned start date will be calculated, taking non-working days into account
  • having set original estimation, only: the planned start date will be set to today and the planned end date calculated as today plus originally estimated effort * velocity (see below).
  • having installed and enabled Greenhopper: planned start and end date will be set to its sprint's start and end date


Issue Update

  • due date has been changed and no work logging has been done, the planned start and end date will be re-calculated as described above and all sub-issues as well as dependent issues will be re-scheduled keeping their duration in working days.
  • original estimation has been changed and planned start date is set, the planned end date will be re-calculated using the chosen method above and all dependent issues re-scheduled if no work logging has been done for that issue (planning phase).
  • remaining estimation has been changed and configured method is option #2 (see above) and planned start date is set, the planned end date will be re-calculated and all dependent issues re-scheduled.
  • planned start date has been changed manually; its sub-issues will be re-scheduled as well as all dependent issues and their sub-issues.
  • planned end date has been changed manually; all dependent issues and their sub-issues will be re-scheduled.
  • having installed and enabled Greenhopper and assigned a fix version/sprint: sets planned start and end date to the same as of the sprint. If this sprint has no start/end date set, delete both planning dates.


Issue Rescheduling
Re-scheduling as shifting planned start/end dates, keeping the duration in working days, for dependent issues as well as sub-issues will be performed, if:

  • one of the recalculations/events are triggered,
  • the feature 're-scheduling' has been enabled for their corresponding project (see 'Admin' panel on 'config' screen on the 'Gantt-Chart' project tab panel or within the project specific Gant settings),
  • the individual issue's Gantt option custom field (checkbox) has not been set to manual re-scheduling,
  • the dependent issue (issue linkage) or sub-issue has not already been started (no work logging).


Doing the first/initial work logging for an issue, the planning dates will be copied into their related baseline dates.
Issue dependency must be done by linking the related issues using the Gantt-Dependency type as configured on the Gantt-Admin-Panel (main JIRA-Administration screen). You have to configure the dependency types and create dependencies between issues using the JIRA standard link feature or interactive linking on a Gantt-Chart.

Velocity Definition
In Scrum, velocity is how much product backlog effort a team can handle in one sprint. This can be estimated by viewing previous sprints, assuming the team composition and sprint duration are kept constant. It can also be established on a sprint-by-sprint basis, using commitment-based planning. Once established, velocity can be used to plan projects and forecast release and product completion dates.
How can velocity computations be meaningful when backlog item estimates are intentionally rough? The law of large numbers tends to average out the roughness of the estimates.

Description
The value of velocity is a percentage with a default value of 100%. If your team's velocity is generally slow, respectively over-estimate themselves, please adjust the parameter below.
For example: enter '75' als velocity, if your team finished an amount of 75% of the issues they have estimated within a time period. Based on this velocity parameter, planned start dates will be calculated as planned end date minus original estimation (duration of estimated effort taking weekends into account) multiplied by the velocity factor to stretch the timeline. The velocity factor will be calculated internally as 100/velocity and is 1.333 in this example: 3 days effort needs 4 working days to be finished.

As documented inline with my Gantt-Chart:
  • Please add the Gantt customfields "planned start date", "planned end date", "baseline start", "baseline end" and "Gantt-Options" to JIRA's default screen for verifications as well as manual maintenance. This is not done automatically in order not to ignore JIRA system administration.
  • Without having at least a planned start and end date, no issue will be displayed on a Gantt-Chart or Resource-Planning! You can either maintain that planning dates manually or just click on the related project link above, open the left tab named "Gantt-Chart", specify a default original estimated effort (> 0 days) for those issues having no estimated efforts and click on the button "generate planning dates ...". If an issue has no due date, today will be taken as planned start date. The original estimation or your default effort, if no estimation has been set, will be used to calculate the related planned end date taking (non-)working days (globally, project-specific ones as well as assignee-specific ones) into account. If an issue has a due date set, the planned end date will be set to that due date and the planned start date be calculated as end date minus original estimation/default effort accordingly. Please take care to have re-indexed before in order not to miss some issues!
  • Calendars: you can specify global non-working days, here. Project-specific (non-)working days can be specified by clicking on the "config"-button within the Gantt-Chart of the related project. Every user (potential assignee) can maintain all days not being available for project work by clicking on "Personal Calendar for Gantt-Charts", an additional menu item just below "Profile" on the top right (expand the menu of the login name).
  • Integration into JIRA Issue Navigator (search issues) by just adding the special customfield "Gantt-Chart" as new column and cooperation with ALM-work's Structure AddOn (watch my sample video).
  • Per project, you can click on the additionl tabs "Gantt-Chart" or "Resource-Planning" to focus on the issues of that project, if you have the related permission (intra-project view).
  • Multi-projects can be displayed on a single Gantt-Chart by adding a Gantt gadget to your dashboard (inter-project view). Within the gadget configuration, you can specify any project(s) or JIRA filter to select the issues of your choice.
  • Extended dependencies between version of the same project or inter-project: on a Gantt-Chart, you can link version to version as well as version to issue and visa versa by clicking on the interactive bubbles (left/right) per Gantt-Bar. Prerequisite: version must have own start and end date (use Greenhopper's classic board to set). There are several business cases, why to do this like for integration testing when an interface needs version 2 of project A and version 1.5 of project B. The test-task depends on both versions and cannot start if one or both shifts in time. If this timing is violated, the related dependency is displayed in red to signal attention!
  • Sub-Issue handling: please create an issue and specify a planned start date (end date is not necessary nor estimation of effort, here). This issue will not be displayed on the Gantt-Chart, yet. Then create a sub-issue including an original estimated effort but without any planning dates: it will be scheduled automatically and the planning dates of the parent will be adjusted resulting in being all together displayed on the Gantt-Chart. You can create other sub-issues in the same way. The sub-issues will be treated as being linked by a finish-start dependency implicitely. So, they are building a sequence per assignee. Having different assignees, the related sub-issues will be scheduled in parallel sequences. Re-assignment will force an automatic re-scheduling. This functionality shall reduce a lot of manual efforts while entering and planning (sub-)tasks!
  • Greenhopper Integration: updating an issue's rank by re-ordering (e.g. drag'n drop on Greenhopper's Rapid Board) will trigger re-scheduling of all issues of the related sprint: no Gantt-dependencies "finish-start" between the issues is necessary! Multiple assignees as well as multi-projects are supported. Initially set or update an issue's sprint will result in re-scheduling of all issues within (in case of update: the old and) the new sprint. Epics are displayed as grouping bars on Gantt-Charts on the same hierarchy level as sprints, because their issues may be spreat over multiple sprints. Within an epic, their stories are ordered ascending by planned start dates.
If you have any further question or company specific scenario not knowing how to solve with my Gantt-Chart addon, please do not hesitate to contact me via email at frank@polscheit.de.

Regards,
Frank

Again, thank you, Frank. I cannot find that documentation anywhere. What do you mean by switch to admin mode? Do you mean JIRA admin? When I do that I can administer the project, but I cannot view the Gantt chart. In the Gantt chart panel I have three tabs, "Project Configuration", "Project Calendar" and "Import Project". None of these pages contains a link for "Operational hints and inline documentation". Can you please be more explicit about where to find the documentation? I have spent a long time searching and I just don't see it.

Also, does this mean that my users cannot read the documentation without admin privileges? How do I give my users access to it? Do you have an on-line documentation page that they can see?

Regarding the missing issues in the chart, there are two bugs that I can see:

1) When the Gantt chart finds an issue with no Planned Start, it stops showing any issues after that, even valid issues. That is a bad bug because it silently stops showing valid issues with no indication whey.

2) The documentation says an issue needs both a Planned Start and End, but Gantt chart is processing issues without a Planned Start.

Gantt chart should

a) ignore the issue,

b) clearly indicate that it has found an issue that is not completely specified, or

c) add a default Planned Start.

Currently it aborts the chart, hiding valid issues, and produces no error or warning message. If one of my users makes a little mistake, his entire chart is corrupted without any indication why.

Hi Andrew,

you need JIRA system admin privileges to configure my addon and access the inline docu, I have provided above.

Did you install the v2.3 I have published on Atlassian Marketplace or an older one?

Please open the browser's console and you will see the JQL-statement, used for issue retrieval.

If you do not provide any planning dates while creating an issue, today will be used a start date and the end date will be calculated using the original estimation * 1/velocity. If no estimation has been entered, the end date will be set to start date (duration of 1 day). Pre-requisite: you have enabled re-scheduling within the Gantt-Chart main configuration as JIRA system administrator maintaining your JIRA instance.

Regards,
Frank

I have installed version gantt-2.3-JIRA5.2-JIRA6.0-UPM2.10.jar from the link that you provided above. I installed it over v2.3 from the Atlassian marketplace.

I have administration privileges and I can configure the addon. As I said above, when I look at the addon configuration in administrator mode, I see three tabs - "Project Configuration", "Project Calendar" and "Import Project". None of these pages contains a link for "Operational hints and inline documentation".

Please just tell me the specific things I must do to access the documentation. I have searched and searched and I just do not see it. Perhaps you think I am blind, but your documentation is very well hidden.

If people must have administrator privilege to access the documentation, how can I make the documentation available to my users?

Regarding the bugs: I was working with a project that already existed, so the start and end dates, due dates and estimates were all empty. Somehow, the end dates became set, but not the start dates. The Gantt chart plugin then could not show a chart, even for the issues that were valid. This is a serious bug because my users could do the same thing and then the chart will produce wrong and unpredictable results without warning.

All I am asking is that you handle the case of invalid dates in any manner except producing a partial or invalid chart. I would be perfectly happy if you simply put a warning on the screen saying "One or more issue has invalid dates. Cannot draw the chart." Please just don't silently fail half-way through drawing the chart with no error message.

Hi Andrew,

as JIRA system admin please click on "Administration", then click on "Plugins" and choose menu item "Gantt-Chart" for my addon configuration as I have written above: there you will find the several tabs I and "Operational hints" on the result screen after hitting "apply".

Please install the latest version 2.3 I have published on the Marketplace.

I tried to reproduce your case, but it works fine in my test environment having set a larger project with 1000 issues, manually delete the planned end date of the third issue and the Gantt-Chart is displayed correctly containing all other 999 issues without #3, which I modified.

May be, it is possible for you to make a TeamViewer session on Monday, 27th of May as next Monday is a public holiday in my country?

Regards,
Frank

Thanks, Frank. I have now found the operational hints and inline documentation. I would never have guessed to look there. Maybe you could put a "?" button on the Gantt chart somewhere.

The operational hints and inline documentation does not contain nearly as much information as what you posted above. Is your posting above from a larger document that we have access to?

Regarding the test case, please delete the "Planned Start", not the "Planned End". It fails for me with 100% reliability.

1. good point, I will think about better positioning

2. that information is splitted into multiple parts on the various tabs and the section "operational hints"

What version of Gantt-Chart and JIRA are you running currently?

Not using the offered TeamViewer session for support, you can enable debugging mode writing more detailed information into JIRAs logfile. Proceed as follows:

1. stop JIRA
2. rename JIRA's logfile to e.g. "OLD-atlassian-jira.log"
3. edit file "log4j.properties" and append the following 2 lines

log4j.logger.de.polscheit = DEBUG, console, filelog
log4j.additivity.de.polscheit = false
4. restart JIRA (a new empty logfile will be created: that helps to focus on the problem and limit the amount of data)
5. login and repeat your actions in order to reproduce your local problems
6. send me your JIRA logfile for further analysis

Regards,
Frank

I'm using JIRA version v5.2.9#852-sha1:71473fa

I'm using Gantt-Chart version
gantt-2.3-JIRA5.2-JIRA6.0-UPM2.10.jar from the link you posted earlier in this thread.

Were you able to reproduce the problem by removing the "Planned Start" date from an issue?

Sorry I can't offer you a TeamViewer connection to a machine here. I realize that would speed the process, but I think you should be able to easily reproduce the problem by deleting planned start from an issue.

Hi Andrew,

within my test environment, I could not reproduce your problem. Did you find time to proceed the steps, I have written below to write more detailed information into JIRA's logfile for further analysis?

Regards,
Frank

It's a little bit tricky - I need to find a time when I can shut down JIRA. I'll reply back here when I have done it.

Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published May 30, 2018 in Marketplace Apps

Three tips for boosting your board's efficiency with Story Maps

Trello is one of the most effective tools for driving your sprints. It's customizable for every Agile team and product owners and Scrum masters (SM) love it. However, Agile teams often struggle with:...

828 views 2 9
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you