Throughput shows a quantity of tasks a team delivers over time.
How metric helps
First of all, this metric shows how productive a team is, how much they deliver [e.g. per week or month] in general. This gives an understanding of overall delivery capability of a team.
Additionally, throughput can help prevent team overload by comparing a work put into a pipeline vs. finite team velocity - it's always better to know upfront about a risk of delays, risk of a team burnout.
Questions it answers:
what is team's capacity
how a team handles requests
how many tasks a team can complete within a certain time period
how much work the team can take on/commit to
how fast a team is identifying/removing roadblocks
whether planning is mature enough
when we can complete backlog items having information on the team's lead time
How metric works
Chart overview
Series of "Created" and "Resolved" work on the chart are represented in natural amount of work items (e.g. support tickets or regular tasks), i.e. no any effort or sizing is taken into consideration here. A chart shows a number of created tasks in comparison to a number of resolved tasks by:
Week
Month
Quarter
So that the axis X shows calendar week dates; month names; and quarter order numbers correspondingly. By click on any column - a drill down will show appropriate list of created or resolved items respectively.
Created items value: a number of items which were created within a selected period.
Resolved items value: a number of items moved to "Done" bucket (per Workflows in Project Configuration) over the same time range.
RAG thresholds: n/a.
PerfQL
WITH
timeline AS (
SELECT
generate_series(
date_trunc('week', now()) - interval '12 weeks',
date_trunc('week', now()),
'1 week'
) as weeks
),
created AS (
SELECT
date_trunc('week', created) as created_date,
count(*) as "Created Items"
FROM ticket
WHERE
case when is_include_sub_items() then true else parent_task is null end
GROUP BY created_date
),
resolved AS (
SELECT
date_trunc('week', done_date) as resolved_date,
count(*) as "Resolved Items"
FROM ticket
WHERE
case when is_include_sub_items() then true else parent_task is null end
GROUP BY resolved_date
)
SELECT
to_char(t.weeks, 'DD Mon') || '-' || to_char(t.weeks + interval '6 days', 'DD Mon, yyyy') as "Week",
coalesce(c."Created Items", 0) as "Created Items",
coalesce(r."Resolved Items",0) as "Resolved Items",
t.weeks
FROM timeline t
LEFT JOIN created c ON c.created_date = t.weeks
LEFT JOIN resolved r ON r.resolved_date = t.weeks
ORDER BY t.weeks asc;
-------DRILL DOWN--------
select
case when url is not null then '['||key||']('||url||')' else key end as "Issue Id",
type as "Type",
priority as "Priority",
summary as "Summary"
from ticket
where to_char(date_trunc('week',created), 'DD Mon') ||'-'|| to_char(date_trunc('week',created) + interval '6 days', 'DD Mon, yyyy') = clicked_x_value
and case when is_include_sub_items() then true else parent_task is null end;
WITH
timeline AS (
SELECT
generate_series(
date_trunc('month', now()) - interval '11 month',
date_trunc('month', now()),
'1 month'
) as months
),
created AS (
SELECT
date_trunc('month', created) as created_date,
count(*) as "Created Items"
FROM ticket
WHERE
case when is_include_sub_items() then true else parent_task is null end
GROUP BY created_date
),
resolved AS (
SELECT
date_trunc('month', done_date) as resolved_date,
count(*) as "Resolved Items"
FROM ticket
WHERE
case when is_include_sub_items() then true else parent_task is null end
GROUP BY resolved_date
)
SELECT
to_char(t.months, 'YYYY Mon') as "Month",
coalesce(c."Created Items", 0) as "Created Items",
coalesce(r."Resolved Items",0) as "Resolved Items",
t.months
FROM timeline t
LEFT JOIN created c ON c.created_date = t.months
LEFT JOIN resolved r ON r.resolved_date = t.months
ORDER BY t.months asc;
-------DRILL DOWN--------
-------DRILL DOWN--------
If any item was re-opened (no matter how many times) - the last occurrence of a respective status is taken into the consideration.
By default sub-issues are not included into the calculation. To include them, check the checkbox on Project Settings>Data Sources>Task Tracking system>Workflows>Include sub items into metrics calculation.
Data Source
Data for the metric can be collected from a task tracking system (Jira, TFS/VSTS, Rally, etc.)