The ratio of delivered requirements to all requirements.
The number of delivered requirements divided by the total number of requirements in the given data range.
Data Sources Required
This metric relies on the issues collected from Jira, GitHub, or TAPD.
Data Transformation Required
This metric relies on the ‘type-requirement’ configuration in Jira, GitHub or TAPD's transformation rules while adding/editing a blueprint. This configuration tells DevLake what issues are requirements.
SQL Queries
The following SQL shows how to find the requirement delivery rate in specific boards, eg. ‘board-1’ and ‘board-2’.
WITH _requirements as(
SELECT
count(distinct i.id) as total_count,
count(distinct case when i.status = 'DONE' then i.id else null end) as delivered_count
FROM issues i
join board_issues bi on i.id = bi.issue_id
WHERE
i.type = 'REQUIREMENT'
and $__timeFilter(i.created_date)
-- please replace the board ids with your own, or create a '$board_id' variable in Grafana
and bi.board_id in ('board_1', 'board_2')
)
SELECT
now() as time,
1.0 * delivered_count/total_count as requirement_delivery_rate
FROM _requirements
If you want to measure the monthly trend of requirement delivery rate in the screenshot below, please run the following SQL in Grafana.
WITH _requirements as(
SELECT
DATE_ADD(date(i.created_date), INTERVAL -DAYOFMONTH(date(i.created_date))+1 DAY) as time,
1.0 * count(distinct case when i.status = 'DONE' then i.id else null end)/count(distinct i.id) as delivered_rate
FROM issues i
join board_issues bi on i.id = bi.issue_id
WHERE
i.type = 'REQUIREMENT'
and $__timeFilter(i.created_date)
-- please replace the board ids with your own, or create a '$board_id' variable in Grafana
and bi.board_id in ($board_id)
GROUP BY 1
)
SELECT
time,
delivered_rate
FROM _requirements
ORDER BY time