L2O Value Stream — Performance Report

S27–S31  |  Jan 20 – Mar 30, 2026  |  Credential rotations (SP=null) excluded  |  On Hold & Cancelled excluded from board & all metrics  |  Issues with no SP counted as 1 SP

🤖 AI-Powered Insights
Analyzing performance data with AI...
📌 Big Numbers
Overall Completion Rate (SP-based)
40%
Average across S27–S31  |  S27=24% S28=16% S29=60% S30=46% S31=53%
Avg Completed SP / Sprint
8 SP
Total 93 SP committed  |  S27=4 S28=3 S29=15 S30=6 S31=10
Rework Rate
34%
10 out of 29 eligible issues had ≥1 rework event
Story Points (deduplicated)
SP Assigned51
SP Done39
Each issue counted once in its last sprint  |  29 issues
Issues (deduplicated)
Assigned29
Completed24
Each issue counted once in its last sprint
Median Cycle Time — Overall
5d
Lifetime active time (D&D + InDev + QA + UAT + RfD); On Hold excluded
Median Cycle Time — Project
8d
Project epic or Under Attack tickets (12 issues)
Median Cycle Time — BAU
3d
No epic or BAU epic (14 issues, credential rotations & cancelled excluded)
Median Time in Development
4d
Lifetime D&D + In Development time  |  n=21 issues
Median QA
3d
4 issues that reached QA Testing
Median UAT
1d
Time in UAT Testing while Business Approval = Approval Required only
📖 Definitions
Completion Rate
Average of per-sprint completion rates: for each sprint, SP done in that sprint ÷ SP committed to that sprint; then averaged across all sprints. SP committed includes all issues assigned to the sprint, including rollovers from previous sprints. Issues with no Story Points set are counted as 1 SP. Credential rotations with no Story Points are excluded.
Rollover
An issue rolls over when it is not completed (Done) within the sprint it was committed to. Rollover% = 100% − Compl%.
Rework / Rework Event
An issue is counted as reworked when its status moves back to In Development or Discovery & Design from a later stage (QA Testing, UAT Testing, Ready for Deployment, or Done). Rework% = issues with ≥1 rework event ÷ total active issues in the sprint. An active issue is one that had at least one transition into an active status within the sprint window. Each issue is counted once regardless of how many rework events it had. Issues are categorized by rework count: 0, 1, 2, or 3+ rework events (Table 5).
Median
The middle value of a sorted dataset. Unlike the average, the median is not affected by extreme outliers. For example, if 9 issues take 1–5 days and 1 issue takes 90 days, the median reflects the typical experience (e.g. 3d) while the average would be inflated.
Cycle Time
Total lifetime active time: sum of time spent in Discovery & Design, In Development, QA Testing, UAT Testing (while Business Approval = Approval Required only), and Ready for Deployment — across the issue's entire history. On Hold time is excluded. Cancelled issues and credential rotations without Story Points are excluded.
📊 Table 1 — Sprint Velocity & Cycle Time
Sprint Compl%Rework% Total SPSP DoneIssuesDone
S27: L2O 1/20–2/2/2026 24% 0% 17494
S28: L2O 2/3–2/16/2026 16% 43% 19391
S29: L2O 2/17–3/2/2026 60% 29% 2515139
S30: L2O 3/3–3/16/2026 46% 29% 13663
S31: L2O 3/17–3/30/2026 53% 10% 1910106
📊 Table 2 — Sprint Composition: Easy (1–2 SP) vs Complex (≥3 SP)
Sprint Easy (1–2 SP) Complex (≥3 SP)
IssuesDone% of Sprint IssuesDone% of Sprint
S27: L2O 1/20–2/2/20267464%4036%
S28: L2O 2/3–2/16/20268073%3127%
S29: L2O 2/17–3/2/20269575%3125%
S30: L2O 3/3–3/16/20266267%3033%
S31: L2O 3/17–3/30/20267458%5242%
TOTAL (S27–S31)371567%18433%
📊 Table 3 — Completion & Cycle Time by Assignee
AssigneeRoleCompl%Rework% MdnCycleMdnDevMdnQA
Developer 1Dev 36%39% 5d4dN/A
Developer 2Dev 40%25% 6d4dN/A
Developer 3Dev 100%0% 5d4dN/A
QA 1QA 83%N/A N/AN/A4d

* Compl% = average of per-sprint rates (SP done in sprint ÷ SP committed in sprint, per sprint, then average across sprints). Rollover% = 100% − Compl%. QA 1 is QA reviewer — assigned during QA Testing only. MdnQA = median time in QA Testing while QA 1 was the assignee. MdnCycle and MdnDev not applicable to QA role.

📊 Table 4 — Story Points vs Cycle Time

Active time from first active status → Ready for Deployment or Done (whichever first). On Hold time excluded. Issues with cycle time data only.

Story PointsIssuesMedian CycleAvg CycleMinMaxIssue Keys
1 SP143.0d3.2d0.1d6.6d 23936, 24017, 23452, 23448, 20939, 23813, 24090, 23674, 23823, 23348, 23503, 24512, 24152, 24449
2 SP64.3d5.5d0.3d12.5d 23930, 24673, 23675, 23732, 23798, 24103
3 SP55.4d4.5d1.0d6.8d 24590, 22201, 24060, 22905, 23941
5 SP12.6d2.6d2.6d2.6d 23128
📊 Table 5 — Rework Distribution

Rework = status moving back to Discovery & Design or In Development from later stages (QA Testing, UAT Testing, Ready for Deployment, or Done). All S27–S31 issues that meet criteria.

Rework Events Issues BizApps IDs
0 reworks 19 BIZAPPS-23448, BIZAPPS-23452, BIZAPPS-23503, BIZAPPS-23813, BIZAPPS-23823, BIZAPPS-23930, BIZAPPS-23936, BIZAPPS-24017, BIZAPPS-24090, BIZAPPS-24103, BIZAPPS-24152, BIZAPPS-24449, BIZAPPS-22905, BIZAPPS-23128, BIZAPPS-24590, BIZAPPS-24512, BIZAPPS-24060, BIZAPPS-23732, BIZAPPS-22201
1 rework 6 BIZAPPS-23348, BIZAPPS-23674, BIZAPPS-23675, BIZAPPS-23941, BIZAPPS-20939, BIZAPPS-24673
2 reworks 2 BIZAPPS-24152, BIZAPPS-24512
3+ reworks 2 BIZAPPS-23798, BIZAPPS-20432
TOTAL29All S27–S31 L2O issues (BIZAPPS, Value Stream = Lead to Opportunity, not Cancelled/On Hold)
📋 Data Generation Rules & Methodology

Complete Rules for Reproducing This Report

Data Source & Scope
Project: BIZAPPS
Value Stream: Lead to Opportunity (customfield_23515 = "Lead to Opportunity")
Sprints: S27 (1/20–2/2/2026), S28 (2/3–2/16/2026), S29 (2/17–3/2/2026), S30 (3/3–3/16/2026), S31 (3/17–3/30/2026)
Sprint Board: Lead & Demand Gen Scrum Board (Board ID: 6081)
Sprint IDs: 12637 (S27), 12755 (S28), 12844 (S29), 12876 (S30), [S31 ID TBD]
Exclusions (Applied to ALL Metrics)
1. Cancelled issues: status = "Cancelled" — excluded from board and all metrics
2. On Hold issues: status = "On Hold" — excluded from board and all metrics
3. Credential rotations with null SP: summary contains "Credential Rotation" AND story points is null — excluded entirely
Note: Other credential rotations WITH story points set are included
Story Points Default Rule
Issues with no Story Points: Counted as 1 SP
Field: customfield_10002 (Story Points)
This applies to all SP calculations (committed, done, completion rate)
Deduplication Rule
Each issue counted once in its LAST SPRINT only
- Issues that span multiple sprints (rollovers) are counted only in their final sprint
- Prevents double-counting across sprints
- "Last sprint" determined by the last element in the sprint array (customfield_10100)
Completion Rate Calculation
Per-sprint: SP done in sprint ÷ SP committed in sprint
- SP committed = sum of effective SP for all issues assigned to that sprint (including rollovers from previous sprints)
- SP done = sum of effective SP for issues with status = "Done"
Overall: Average of per-sprint completion rates across all sprints
Formula: (S27_compl% + S28_compl% + S29_compl% + S30_compl% + S31_compl%) ÷ 5
Rollover Calculation
Definition: Issue rolls over when not completed (Done) within the sprint it was committed to
Formula: Rollover% = 100% − Completion%
Note: Measured per-sprint, not per-issue
Rework Rate Calculation
Trigger: Status moves back to "Discovery & Design" or "In Development" from a later stage (QA Testing, UAT Testing, Ready for Deployment, or Done)
Active Issue: One that had at least one transition into an active status within the sprint window
Formula: Rework% = (issues with ≥1 rework event) ÷ (total active issues in sprint)
Important: Each issue counted once regardless of how many rework events it had
Status Order: Discovery & Design (1) → In Development (2) → QA Testing (3) → UAT Testing (4) → Ready for Deployment (5) → Done (6)
Rework = moving from higher number to lower number (specifically to 1 or 2)
Cycle Time Calculation
Scope: Total lifetime active time across entire issue history
Included Statuses:
- Discovery & Design
- In Development
- QA Testing
- UAT Testing (with Business Approval condition — see below)
- Ready for Deployment
Excluded: On Hold time is excluded from all calculations
Method: Parse changelog histories, calculate time between status transitions, sum all active periods
Metric: Use median (not average) to avoid outlier skew
Additional Exclusions: Cancelled issues and credential rotations without Story Points
Median Time in Development
Included: Discovery & Design + In Development time combined
Method: Sum of all time spent in these two statuses across issue lifetime
Exclude: On Hold time
Sample: Issues that had activity in these statuses (n=21 in this report)
Median QA Time
Included: Time in "QA Testing" status only
Sample: Issues that reached QA Testing (n=4 in this report)
Exclude: On Hold time
Median UAT Time (Conditional)
Critical Condition: Only counts time when Business Approval = "Approval Required"
Field: customfield_21131 (Business Approval)
Logic: Track Business Approval field changes alongside status changes. Only accumulate UAT time when:
1. Status = "UAT Testing" AND
2. Business Approval.value = "Approval Required"
Exclude: UAT time when Business Approval is "Approved" or any other value
Work Type Categories
Project: Issues with Project epic OR "Under Attack" in summary/title (12 issues in this report)
BAU: No epic OR BAU epic (14 issues in this report)
Exclusions: Credential rotations and cancelled issues excluded from BAU count
Epic Field: customfield_10014 (Epic Link)
Composition Categories
Easy: 1–2 SP issues
Complex: ≥3 SP issues
Calculation: Percentage of sprint = (Easy SP ÷ Total SP) or count-based for issue metrics
Assignee Metrics
Completion%: Average of per-sprint rates for issues assigned to that person
Rework%: Percentage of assignee's active issues that had rework events
Role Assignment:
- Dev: Primary assignee during development phases
- QA (e.g., QA 1): Assigned only during QA Testing status
QA-specific: MdnQA = median time in QA Testing while that person was the assignee
Note: MdnCycle and MdnDev not applicable to QA-only assignments
Story Points vs Cycle Time (Table 4)
Active time: From first active status → Ready for Deployment or Done (whichever occurs first)
Exclude: On Hold time
Sample: Only issues with cycle time data (excludes issues that never entered active statuses)
Statistics: Median, Average, Min, Max calculated per SP bucket (1, 2, 3, 5 SP)
Rework Distribution (Table 5)
Rework Event: Status moves back to "Discovery & Design" or "In Development" from a later stage (QA Testing, UAT Testing, Ready for Deployment, or Done)
Status Order: Discovery & Design (1) → In Development (2) → QA Testing (3) → UAT Testing (4) → Ready for Deployment (5) → Done (6)
Rework = moving from higher number to lower number (specifically to 1 or 2)
Sample: All S27–S31 issues that meet criteria (project = BIZAPPS, Value Stream = "Lead to Opportunity", not Cancelled, not On Hold, excluding credential rotations with null SP)
Distribution: Issues categorized by rework count: 0, 1, 2, or 3+ rework events
API Endpoints Required
1. Get Issues: POST /rest/api/2/search
- JQL: project = BIZAPPS AND "Value Stream" = "Lead to Opportunity" AND sprint in (12637, 12755, 12844, 12876, [S31])
- Fields: summary, status, assignee, customfield_10002, customfield_10100, customfield_23515, customfield_21131, created, resolutiondate, customfield_10014
- Expand: changelog
2. Get Sprints: GET /rest/agile/1.0/board/6081/sprint
- Retrieve sprint dates and boundaries
3. Parse Sprint String:
- Format: "com.atlassian.greenhopper.service.sprint.Sprint@...[id=XXXX,name=S##: L2O ...]"
- Extract id, name, state from string using regex
Changelog Processing
Sort: Order histories by created date (ascending)
Track: For each history item where field = "status":
- fromString (previous status)
- toString (new status)
- created (timestamp)
Track Business Approval: For each history item where field = "Business Approval":
- toString (new value)
- created (timestamp)
Calculate Durations: Time between transitions = current timestamp − previous timestamp