Get "Total Story Points" and "Remaining Story Points" in EazyBI

Hi,

I am new to EazyBI and till now have just build graphs and table using the existing dimensions.

I have a requirement to prepare a tabular view which tell me “Total Story Points” and “Pending Story Points” for a Planned FixVersion.

My Project Hierarchy is:

JIRA Project 1 —> STORY1

JIRA Project 2 —> FEATURE1, FEATURE2, FEATURE3

And, STORY1 is linked as “has these children” to FEATURE1, FEATURE2, FEATURE3

The story points are allocated to FEATURE1, FEATURE2, FEATURE3

Now, “Total Story Points” and “Pending Story Points” are calculated basis on status of FEATURE1, FEATURE2, FEATURE3, i.e. if:

FEATURE1 - 2 Story Points
FEATURE2 - 5 Story Points & status=closed
FEATURE3 - 5 Story Points

So, “Total Story Points” = 12 & “Pending Story Points” = 7 && “Percentage completed”= 41% for STORY1

Also, I would like to have a structure in EazyBI like:

EPIC
-> STORY1
—>FEATURE1
—>FEATURE2
—>FEATURE3

Please guide me on how this can be achieved.

Regards,
Rahul

You would like to create your hierarchy taking some basic levels as a basis and building top levels above them. You would like to add an additional level between Epic and Parent comparing to the default Issue Epic hierarchy. Therefore, you can’t use Epic hierarchy as a basis, you would like to use Sub-task hierarchy as a basis and add additional levels for Story and Epic.

Parent and Sub-tasks of default Sub-task hierarchy will represent the levels Feature and their Sub-tasks.

For defining the Story level, please open Feature issue and check the reference to a Story above it. Use the link references from Feature perspective when describing Story level (should be opposite link name of has these children, for example, is child of. However, check the link name and direction. They should math case sensitive in the definition):

[jira.customfield_story]
name = "Story"
inward_link = "is child of" #check the link name and direction from Feature
issue_type = "Story"
update_from_issue_key = "parent_issue_key"

Level (custom field) Story should pass Story issue key values from Feature to Sub-tasks to get the hierarchy working as expected. You can use update_from_issue_key = "parent_issue_key" with default two parent/sub-tasks levels.

You would like to define the Epic level as well, as you can’t use default Epic hierarchy here. You can use default link name has Epic there, though. Please take into account Epic links could be a custom field in Jira Cloud, not a link. The example below is for Jira server:

[jira.customfield_epic]
name = "Epic"
inward_link = "has Epic"
issue_type = "Epic"
update_from_issue_key = "customfield_story"

Level (custom field) Epic should pass Epic issue key values from Stories to Features and Sub-tasks to get the hierarchy working as expected. You can use update_from_issue_key = "customfield_story" where you are using the next level custom field for passing down the values through the hierarchy.

Then you can use the new two custom fields for levels Epic and Story and use default Parent and Sub-task levels for Features and their sub-tasks:

[[jira.issue_hierarchies]]
name = "Epic and Stories"
all_member_name = "All Issues"
levels = [
  {name="Epic",key_column="customfield_epic",issue_type="Epic"},
  {name="Story",key_column="customfield_story",issue_type="Story"},
  {name="Parent",key_column="subtask_parent_key"},
  {name="Sub-task",key_column="subtask_key"}
]
  1. Check the spelling for link names and Issue types. They should match case sensitive. Check the link direction as well. Update the definitions accordingly.

  2. Add the updated custom field definitions and hierarchy definition to eazyBI advanced settings or ask Jira administrator or eazyBI administrator to do this for you. eazyBI advanced settings are common for all accounts and only Jira/eazyBI administrators have access to the settings.

  3. Open source data Jira import options for edit after changes in advanced settings and select the new link custom fields Story and Epic for import as properties and run an import. Import will create a new hierarchy in your account.

Then you can use this new hierarchy for your reports. Measures Story Points created, Story Point resolved, and any other default measures should give you totals on any higher level issues.

You can use this formula to count Story Points Progress %:

CASE WHEN
  [Measures].[Story Points created] > 0
THEN
  CoalesceEmpty([Measures].[Story Points resolved],0) / 
  [Measures].[Story Points created]
END

Here is a report example with a ​custom hierarchy where you default measures total up values from the lowest level to any higher level:

Daina / support@eazybi.com

Hi Daina,
How do we create this. Are these calculated custom fields on Eazy BI or they are to be made on JIRA?

You would like to add all custom field and hierarchy definitions to eazyBI advanced settings:

You would like to create a new calculated measure Story Points Progress in report creation screen in Measures selecting an option define new calculated measure.
Here is more about calculated measures.

Daina / support@eazybi.com

Thank you Diana for the detailed responses and the steps. We could follow them easily and implement.

I got one more query though linked to the same topic.

JIRA Project 1 : “GSSWEBPD[this is my master project on which I plan releases and features]
JIRA Project 2 : “GSSWEBED[this is my dev project on which dev team breaks down the requirement and assigns story points]

We followed all the steps and we did got the hierarchy setup with issues showing up correctly. However, now, when I am trying to generate the report, then I see that the linked project (2) “GSSWEBED” issues also show on the view as parents. What I want to do is that in the view, only “GSSWEBPD” should show as parents and when the user drill down by clicking “+” is when they can see GSSWEBED linked child issues. In other words, I want to hide “GSSWEBED” issues from the parent view.

My goal is to bring the visibility at GSSWEBPD level that how much work is done.

Essentially, this:

Could you please advise on this too.

Regards,
Rahul

Hey
Whenever i select the closed sprint in eazyBI, some story were disappeared as they are not a part of sprint anymore
can you guys help me with this

Hi Diana,
When I am preparing the FixVersion level tracker, which will eventually give the % of story points completed per “Story” in the FixVersion, I observe that the “GSSWEBPD” tickets that have the assigned FixVersion show up but not the tickets of “GSSWEBED” (as they dont have respective version assigned), because of which % of Story points completed do not show up – as they are linked to GSSWEBED (which is though the correct functionality but my requirement is bit custom) i.e. I want something like below:

Currently, when I am creating this view, then the tickets of “GSSWEBED” goes off, leading to no story points value.

My goal is to bring the visibility on GSSWEBPD level that on any particular Unreleased FixVersion, how much work is done. That way, I can better track the progress. GSSWEBPD is my parent Product project using which I plan features and GSSWEBED is Engineering project using which we track development.

If the filters can just be applied on GSSWEBPD tickets and linked GSSWEBED tickets just flow with them, then that will achieve my requirement.

For example::: I have something similar done on Biggantt by following query:
(project = GSSWEBED and issueFunction in linkedIssuesOf("fixversion = ABC_1.0")) or project = gsswebpd and fixversion = ABC_1.0

Thanks,
Rahul
Skype: rahulmittal87

You asked about how to remove some levels from the hierarchy.
eazyBI builds hierarchy including all imported issues in the account at some level. In other words, any issue in the account should find a place in the hierarchy. We use issue type for organizing issues in a hierarchy by level. Then we are using key_columns from a hierarchy for grouping issues (parent-child).

In your case, all Epics imported in the account will show up on the first level of the hierarchy. Then any issue in Epic linked with Epic link should show up on the next level.

You would like to either limit issues imported into account that should be in the hierarchy. You can also try to apply some filter to the report to get a subset of issues only. We suggest considering using some filter options during import (for example, JQL query) to get a subset of issues imported into account as the first choice.

eazyBI supports analyzing data by Fix version of higher-level issues. You can use “Issue link field dimension” for this and define a new link field dimension Epic Fix version:

Here is an example definition for this:

[[jira.issue_link_field_dimensions]]
name = "Epic Fix Version"
 = "Fix Version"
issue_key_column = "customfield_epic" 
group = "Linked issue dimensions"

I used issue_key_column = “customfield_epic” as a reference column to Epic level in the hierarchy I suggested for you before. Please check if you are using this custom field for Epic level in the hierarchy.

You should add the definition to eazyBI advanced settings (see screenshots above how to access eazyBI advanced settings).
Then you would like to select the Issue link field dimension for import as well in import options tab Additional options section Issue link field dimensions.

Daina / support@eazybi.com

eazyBI creates a set of special measures for Sprint scope support. They are based on issue history values to support the cases when sprint changes for issues. Default measures (Issues created, Issues resolved, etc.) works for the last/current sprint only and could give you less value for the previous sprint when sprint closes, and there are unresolved issues in a sprint.

Check the section Agile in Measures for measures with names starting with Sprint…, for example, Sprint Issues committed, Sprint issues completed, etc.

Please check if issue change history is enabled in import options. Sprint scope measures require historical data import.

Daina / support@eazybi.com