CPS Retro - 17/11/2025

CPS Retro - 17/11/2025

Retro Summary

Today's retro focused on how we handled the ProvMns epic story to find out how we can improve our process internally in the team and working with E//.

ProvMns epic story history

When

What happened

Realizations & Lessons Learned

When

What happened

Realizations & Lessons Learned

April 2024

Gathering of high level requirements started

LESSON: Documentation should've been updated throughout (open issues, assumptions etc.) to drive requirements gathering LESSON: At this point we should've done our own research on possible scenarios based on available 3GPP documentations LESSON: Error scenarios recording should've been started early

April 2025

Sean took over from Priyank

Team transition occurred

May 2025

Sean started implementation 3GPP licensing issues emerged Continuous requirement filling from Csaba

Requirements were still being defined during implementation phase

July 2025

Translation (for policy executor) discussions started, but not clearly captured Csaba and Sean had a meeting on the translation table wherein Csaba told Sean what to fill in on one side and on the other side Discovered limitations on interface development Integration with policy execution requirement agreed

CRITICAL LESSON: We should've realized at this point that integration with policy executor is a separate epic and had clear requirements LESSON: Integration scope was not properly defined upfront

August 2025

Started writing 'hand crafted' interface for controller

Implementation approach finalized

October 2025

Simple implementation completed (not delivered): 1. no policy executor 2. GET, PUT, DELETE, PATCH

LESSON: Should've asked this to be tested at completion

October 2025

Implementation with policy executor completed: 1. GET, DELETE

LESSON: 'resourceIdentifier'/'targetIdentifier' should've been clarified here LESSON: Should've asked policy executor team to test at this point

November 2025

Implementation with policy executor started PUT, PATCH Testing started Started error scenarios (policy executor) discussion

Testing began late in the cycle

December 2025

Team size issue Focused on delivering Was not able to clarify some questions as stakeholder was not available

LESSON: Stakeholder availability is critical for timely clarifications LESSON: Resource constraints impacted quality and thoroughness

January 2026

Delivered Other bug fixes

Delivery completed with follow-up fixes needed


Key Findings & Root Causes

1. Documentation Issues

  • Finding: Wiki page document did not have any clarifying text on some examples such as the Configuration Management Input vs ProvMns Input

  • Root Cause: Mapping was communicated as set of examples rather than a strict requirement

  • Impact: Examples were modified during discussions on calls with no record of backgrounds/context of what the examples meant

  • Lesson: JSON files should not have been enough for a requirement. Team needs a format such as this example, wherein JSON fields are individually assessed

2. Requirements Management Failures

  • Finding

    • We did not capture enough what the requirement meant for the integration of policy

    • No RE-grooming happened as the requirements changed or open issues resolved

    • E\\ gives requirements based on 'assumptions' or based on studies/undefined/not yet implemented interfaces

  • Impact: Scope creep and unclear deliverables throughout the project

3. Team Collaboration Gaps

  • Finding

    • No review of the wiki page - not good enough if author gets hit by a bus

    • No other members in team questioned the acceptance criteria or clarified understanding during grooming meetings

  • Impact: Single point of failure and missed opportunities to catch issues early

4. Process Breakdown

  • Finding

    • Any change or new requirements, issues, blockers that arose - the main wiki page was not updated with dates

    • Change of priorities put pressure on the delivery

  • Impact: Lost context and increased technical debt


Recommendations for Better Handling

Immediate Actions

  1. Implement Living Documentation Standard

    • Update wiki pages within 24 hours of any requirement change, decision, or blocker

    • Include date stamps for all updates

    • Maintain a "Change Log" section at the top of each epic page

    • Use structured format for requirements (not just JSON examples)

  2. Establish Testing Checkpoints

    • Define mandatory testing gates: after each major component completion

    • Involve stakeholder teams (like policy executor) for integration testing early

    • Create test sign-off checklist before moving to next phase

  3. Clarify Integration Scope Upfront

    • Identify all integration points during initial grooming

    • Create separate epics for complex integrations

    • Document integration assumptions and validate them early

Process Improvements

  1. Mandatory Peer Review Process

    • All epic wiki pages must be reviewed by at least 2 team members

    • Schedule wiki review sessions during sprint planning

    • Use "bus factor" test: can someone else take over with just the wiki?

  2. Enhanced Grooming Practices

    • Require at least 2 team members to actively question acceptance criteria

    • Re-groom when requirements change significantly (>20% scope change)

    • Document all assumptions and validate them with stakeholders

    • Create "Definition of Ready" checklist for epics

  3. Stakeholder Engagement Protocol

    • Identify key stakeholders and their availability windows upfront

    • Schedule regular sync points (weekly for complex epics)

    • Escalate early if stakeholder is unavailable for >3 days on critical questions

    • Document all verbal discussions in wiki within same day

Strategic Changes

  1. Requirements Documentation Template

    • Adopt structured format similar to CM Subscriptions example

    • Include: field-by-field analysis, use cases, error scenarios, integration points

    • Require sign-off from both CPS team and E\\ before implementation starts

  2. Early Research Phase

    • Allocate 1-2 sprints for research on 3GPP specs and standards

    • Document possible scenarios and edge cases before implementation

    • Create error scenario catalog early in the epic lifecycle

  3. Risk Management Framework

    • Identify risks during initial grooming (licensing, team size, dependencies)

    • Create mitigation plans for high-impact risks

    • Review risk register bi-weekly

  4. Cross-Team Integration Protocol

    • For any epic requiring integration with another team:

      • Create separate integration epic

      • Define clear interface contracts upfront

      • Schedule joint planning sessions

      • Establish shared testing environments early


Actions

Owner

Details

Due Date

Owner

Details

Due Date

Seán Beirne

Update wiki to clarify the mapping, organize the examples in sections for each use case with detailed descriptions

TBD

CPS team members

Review the ProvMns page

TBD

Team Lead

Implement "Living Documentation Standard" and create template

Next Sprint

Team Lead

Schedule wiki review process training session

Within 2 weeks

All Team Members

Adopt new grooming checklist and peer review process

Next Sprint

Team Lead

Create stakeholder engagement protocol document

Within 1 month


Success Metrics

To measure improvement, track:

  • Wiki update frequency (target: within 24 hours of changes)

  • Number of re-grooming sessions (should increase when scope changes)

  • Peer review completion rate (target: 100%)

  • Stakeholder response time (target: <2 days)

  • Testing checkpoint completion (target: 100% before next phase)

  • Post-delivery bug count (target: reduce by 50%)