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