/
Story Points Completed by Developer

Story Points Completed by Developer

Description

  1. This metric is based on Task Tracking System's (Jira, Azure Boards, or Rally) data.

  2. A developer is taken from the record of transition to a particular state ('Code Review' status by default) - a developer is the one who has physically put the ticket to 'Code Review' status. Status is configurable.

  3. There are two variations of metric - by sprints & within the last N weeks (13 weeks by default). 

  4. Sprint metric takes the latest of assigned sprints for a completed ticket with story points.

  5. Sprint metric provides 4 sprints - current, current-1 (previous sprint), current-2 & current-3 sprints.

By Sprint metric

with status as ( select 'Code Review' as s --status ), sprints as ( select *,row_number() over (order by start_date desc) as i from sprint where state in ('CLOSED', 'ACTIVE') order by start_date desc limit 4 ), temp as ( select distinct a.key, b.author, s.name, a.story_points, a.summary, a.type from Ticket a join tickethistory b on a.id=b.workitem_id join sprints s on s.id=(select max(x) from (select unnest(sprints) as x from ticket where key=a.key) as xxx) where b.field=0 and lower(b.status)=(select lower(s) from status) and a.done_date is not null and a.story_points is not null order by a.key desc ) select author as "Developer", sum(case when name=(select name from sprints where i=1) then story_points else 0 end) as "Current Sprint", sum(case when name=(select name from sprints where i=2) then story_points else 0 end) as "Current Sprint-1", sum(case when name=(select name from sprints where i=3) then story_points else 0 end) as "Current Sprint-2", sum(case when name=(select name from sprints where i=4) then story_points else 0 end) as "Current Sprint-3", sum(story_points) from temp group by "Developer" order by sum(story_points)

Drill-down query to show the ticket's attributes for a clicked developer/sprint:

select sprint, key, summary, type, story_points from (select a.name as sprint, key, summary, type, story_points, author from temp a join sprints b on a.name=b.name where i=4 ) as x where author=clicked_x_value order by story_points desc

Adjust i variable for each of the series:

  • i=1 - current sprint

  • i=2 - current sprint-1

  • i=3 - current sprint-2

  • i=4 - current sprint-3

Within the last N weeks metric

with temp as ( select distinct a.key, b.author, a.story_points, a.summary, a.type, a.priority from Ticket a join tickethistory b on a.id=b.workitem_id where b.field=0 and b.status='Code Review' and a.done_date is not null and a.story_points is not null and a.done_date>=now()-interval '13 week' order by a.key desc ) select author as "Developer", sum(story_points) from temp group by "Developer" order by sum(story_points)

'Code Review' status & '13 week' interval can be adjusted based on your needs.

Drill-down query to show the ticket's attributes for a clicked developer:

Related content

Individual Velocity by Sprint
Individual Velocity by Sprint
More like this
Sprint Burndown Chart via Custom Metrics
Sprint Burndown Chart via Custom Metrics
More like this
Velocity: committed/completed by sprints/releases
Velocity: committed/completed by sprints/releases
More like this
Open Bugs Over Time by Priority/Severity/Custom Field
Open Bugs Over Time by Priority/Severity/Custom Field
Read with this
Defects Fixed by Developer
Defects Fixed by Developer
More like this
Employees last activity in TTS and VCS Last 30 Days
Employees last activity in TTS and VCS Last 30 Days
Read with this