{% extends "base.html" %} {% load extra_tags %} {% block head-extra %} {% endblock %} {% block content %}

{{ context.project.1 }}

version {{ context.version }}

Project
{{ context.project }}
Base JQL
{{ context.jql }}
Version
{{ context.version }}
Bug types
{{ context.bugTypes }}
Histogram bins
{{ context.histogramBins }}

Version {{ context.version }} contains {% for type in by_issuetype.items %} {{ type.1 }} {{ type.0}}{{ type.1|pluralize }}{% if forloop.last %}{% else %},{% endif %}{% endfor %} ({{ total_count }} in total).
Out of those {{ unfinished_count }} haven't been finished yet.

{{ progress }}% Complete

Lead times

Note: Start statuses are [{% for status in context.startStatuses %}{{ status_names|key:status }}{% if not forloop.last %}, {% endif %}{% endfor %}], end statuses are [{% for status in context.endStatuses %}{{ status_names|key:status }}{% if not forloop.last %}, {% endif %}{% endfor %}]. Lead times are calculated between start and end statuses.

Based on last 30 days

  • Mean: {{ global_lead_times_mean|days }} Bugs: {{ global_lead_times_mean_bugs|days }} Non bugs: {{ global_lead_times_mean_nonbugs|days }}
  • Median: {{ global_lead_times_median|days }} Bugs: {{ global_lead_times_median_bugs|days }} Non bugs: {{ global_lead_times_median_nonbugs|days }}
  • Std dev: {{ global_lead_times_std|days }} Bugs: {{ global_lead_times_std_bugs|days }} Non bugs: {{ global_lead_times_std_nonbugs|days }}
  • 50% of work items get finished in {{ global_fifty_percent_bin|days }}
  • 90% of work items get finished in {{ global_ninety_percent_bin|days }}

Based on {{ context.version }} items

  • Mean: {{ lead_times_mean|days }} Bugs: {{ lead_times_mean_bugs|days }} Non bugs: {{ lead_times_mean_nonbugs|days }}
  • Median: {{ lead_times_median|days }} Bugs: {{ lead_times_median_bugs|days }} Non bugs: {{ lead_times_median_nonbugs|days }}
  • Std dev: {{ lead_times_std|days }} Bugs: {{ lead_times_std_bugs|days }} Non bugs: {{ lead_times_std_nonbugs|days }}

Delivery rate (throughput)

{{ global_throughput_7|floatformat:2 }} per day based on last 7 days

({{ global_closed_within_7_days|length }} items finished or closed)

{{ global_throughput_30|floatformat:2 }} per day based on last 30 days

({{ global_closed_within_30_days|length }} items finished or closed)

Estimated delivery date

Based on delivery rate, all {{ unfinished_count }} items will get finished within {{ time_left_based_on_7_days_delivery_rate|days }} to {{ time_left_based_on_30_days_delivery_rate|days }}

[histogram]

Info:
  • data from the last 30 days
  • tasks that took less than {{ context.minLeadTime }}s are ignored to not skew the results artifically
  • start statuses are: {% for status in context.startStatuses %}{{ status_names|key:status }}{% if not forloop.last %}, {% endif %}{% endfor %}
  • end statuses are: {% for status in context.endStatuses %}{{ status_names|key:status }}{% if not forloop.last %}, {% endif %}{% endfor %}
  • only finished tasks (i.e. those which reached end status) are taken into account

Affected components

    {% for comp in by_component.items %}
  • {{ comp.0 }} ({{ comp.1}} items)
  • {% endfor %}

Affected Epics

- X [details of items] ...

Note: DEV statuses are [{% for status in context.devStatuses %}{{ status_names|key:status }}{% if not forloop.last %}, {% endif %}{% endfor %}], QA statuses are [{% for status in context.qaStatuses %}{{ status_names|key:status }}{% if not forloop.last %}, {% endif %}{% endfor %}]. Moving items from QA to DEV starts fixing phase.

We've spent {{ fix_time_summary.2.total_fix_time_alt_p|floatformat:1 }}% of time ({{ fix_time_summary.2.total_fix_time_alt|days }}) fixing work items (includes waiting time).

If work on Bugs wasn't treated as fixing time, that would be {{ fix_time_summary.2.total_fix_time_p|floatformat:1 }}% ({{ fix_time_summary.2.total_fix_time|days }}). That's how much time we'd save if nothing was broken or fixing broken work items was instant.

{{ bugs_affect_this_version|length }} bugs were introduced during development of this version (i.e. affect this version).

{{ fix_time_summary.1.finished_items }} bugs were fixed (includes ones introduced earlier).

{{ fix_time_summary.2.items_needed_fixing }} items ({{ fix_time_summary.2.items_needed_fixing|percent_of:total_count|floatformat:2 }}%) were broken. QA moved them back into DEV {{ fix_time_summary.2.qa_to_dev_move }} times in total.

{{ top_fix_time_results_sorted_by_loops|length }} most buggy items (can include bug fixes themselves)

    {% for most_buggy in top_fix_time_results_sorted_by_loops %}
  1. {{ most_buggy.1.loops }} fixes for {{ most_buggy.0 }} {{ most_buggy.1.type }}. Dev: {{ most_buggy.1.dev_time|days }} Fixing: {{ most_buggy.1.fix_time|days }}
  2. {% endfor %}

{{ top_fix_time_results_sorted_by_fix_time|length }} items which took the longest time to fix

    {% for longest in top_fix_time_results_sorted_by_fix_time %}
  1. {{ longest.1.loops }} fixes for {{ longest.0 }} {{ longest.1.type }}. Dev: {{ longest.1.dev_time|days }} Fixing:{{ longest.1.fix_time|days }}
  2. {% endfor %}

[all dev/fix times]

{% for fix_time_result in fix_time_results.items %} {% endfor %}
Key> Dev time% of total dev time Fix time% of total fix time Loops
{{ fix_time_result.0 }} {{ fix_time_result.1.type }} {{ fix_time_result.1.dev_time|days }} {{ fix_time_result.1.dev_time|percent_of:fix_time_summary.2.total_dev_time|floatformat:2 }} {{ fix_time_result.1.fix_time|days }} {{ fix_time_result.1.fix_time|percent_of:fix_time_summary.2.total_fix_time|floatformat:2 }} {{ fix_time_result.1.loops }}

[summary details]

Note: 'Fix time alt' treats all work on Bugs as Fix time.

{% for summary in fix_time_summary %} {% endfor %}
Type Dev time > 0 Finished Dev time [d] Fix time [d] Fix time [%] Fix time alt [d] Fix time alt [%] Items needed fixing Moved back to Dev
{{ summary.type }} {{ summary.started_items }} {{ summary.finished_items }} {{ summary.total_dev_time|days }} {{ summary.total_fix_time|days }} {{ summary.total_fix_time_p|floatformat:1 }}% {{ summary.total_fix_time_alt|days }} {{ summary.total_fix_time_alt_p|floatformat:1 }}% {{ summary.items_needed_fixing }} {{ summary.qa_to_dev_move }}

Total time spent in columns

{% for summary in times_in_columns_summary %} {% endfor %}
Status Mean Median StdDev Min Max # of work items visiting this column
{{ status_names|key:summary.0 }} ({{summary.0}}) {{ summary.1.mean|days }} {{ summary.1.median|days }} {{ summary.1.std|days }} {{ summary.1.min|days }} {{ summary.1.max|days }} {{ summary.1.count }}

[all times in columns]

{% for times in times_in_columns %} {{ times }}
{% endfor %}
{% endblock %}