Number of Open Work Stoppages

Purpose

Number of Open Work Stoppages (aka "Impediments" in literature about Agile) shows a number of unresolved work stoppages in a project over time. Growing trend indicates an increasing risk of productivity degradation for a team. 

How metric helps

Number of Open Work Stoppages helps determine how many items are being "blocked" (i.e. work is stopped). This highlights a situation when appropriate parties like dependent teams or stakeholders should be involved to resolve those impediments. Otherwise, something will NOT be delivered on time. It is assumed a team is tracking their open impediments, managers are keeping an eye on what's blocked, how much is impacted, and timely interacts with appropriate people via most suitable communication channels to unblock everything - this will prevent a productivity degradation. 

A few useful tips from this chart - 

  1. Direction of a trend: if, with a certain amount of open work stoppages, it is flat, of especially growing up - it's an alert for a manager to put everything other aside and start working on resolving those things. 

  2. A list of items upon a click on a chart: shows details about open impediments and can be simply put into email or used as agenda for a meeting. 

Questions it answers

  • how many blockers (issues, dependencies) a team faces during work 

  • how often a team gets blocked in its work

  • how quickly stoppages are resolved

  • whether there are any risks in delivery on time 

  • how the teams tracks their open impediments 

  • whether there are any risks in team's productivity degradation 

  • whether there are cross-functional interdependencies among the streams or external systems

How metric works

Chart overview

Chart shows a number of blocked issues (Axis Y) by day (Axis X).





On hover over a line dot a hint appears with the following information:

  • Amount of Open Work Stoppage: number of blocked items at this date.

Drill down includes the following:

  • Issue ID;

  • Type;

  • Priority;

  • Summary.

TOP-4 problems metric identifies 

  1. Not ready for development backlog is taken into work

  2. Poor requirements provisioning process 

  3. Poor dependencies execution

  4. Technical and Quality Debt is out of control

  • cross-functional interdependencies among the streams or external systems doesn't solve at the needed time

  • cross-functional planning isn't in place

  • not following the basic rule of building product baseline (e.g. backend) at least one iteration ahead

  • environmental or infrastructure issues occurred 

  • CI/CD issues, e.g. build failures which block work from being resolved

  • 3rd party becomes unexpectedly not available 

  • there is no sprint delivery plan which dictates order and priorities, so team starts work in a chaotic order

Calculation 

Number of Open Work Stoppages is a number of blocked items in a not done status at a date.

Blocked status is defined in Project Settings>Data Sources>Task Tracking System>Scope Management criteria 'Work stoppages tracking'.

PerfQL

WITH timeline AS ( SELECT generate_series(date_trunc('day', now()) - interval '180 days', now() , '1 day') as days ), stoppages AS ( SELECT t.*, th.workitem_id, th.start, coalesce(lead(th.start) OVER (partition BY th.workitem_id ORDER BY th.start ASC), current_date) AS finish FROM Ticket t LEFT JOIN TicketHistory th ON t.id = th.workitem_id WHERE not is_done(t) and th.field in (0,8) and is_work_stopped(t) ), stoppages_series AS ( SELECT workitem_id as id, generate_series (date_trunc('day', start), date_trunc('day', finish), '1 day') as period from stoppages ) SELECT to_char(t.days, 'YYYY-MM-DD') as "Day", count(distinct ws.id) as "Open Work Stoppages" FROM timeline t LEFT JOIN stoppages_series ws ON t.days=ws.period GROUP BY "Day" ORDER BY "Day";

-----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 t LEFT JOIN stoppages_series ws ON t.id = ws.id WHERE ws.period = clicked_x_value;

Data Source

Data for the metric can be collected from a task tracking system (Jira, TFS, Rally, etc.).