Introduction
Scrum has become the go-to framework for Agile teams worldwide. Its ceremonies, roles, and artifacts provide structure and rhythm, enabling teams to deliver value in short, iterative cycles. Yet many organizations find themselves frustrated—daily stand-ups often feel like status updates disconnected from real changes in the codebase, sprint reviews frequently deliver feedback too late, end-to-end automation is skipped, and the promise of agility gets buried under rigid processes.
That’s where Extreme Scrum (XS) comes in. Born from the need to address these gaps, XS builds on the foundations of Scrum and strengthens them with proven practices from Extreme Programming, Trunk-Based Development, Component-Driven Development, and Acceptance Test–Driven Development. The result is a methodology designed to maximize collaboration, accelerate feedback loops, and elevate code quality to the next level.
In this article, I’ll share how XS transforms traditional Scrum into a high-impact framework—replacing daily stand-ups with daily code reviews, embedding continuous automation and testing into the workflow, and fostering closer collaboration between developers, automation engineers, and product owners. If you’ve ever felt that Scrum alone isn’t enough to supercharge your team, XS may be the solution you’re looking for.
Scrum:
Extreme Scrum (XS)
Daily Code Standup – Driving Continuous Integration
In Extreme Scrum (XS), the traditional daily stand-up is replaced with a Daily Code Standup. Instead of giving status updates, the team reviews the actual code changes committed in the last 24 hours. This shifts the focus from what each person is doing to what has changed in the product.
Daily Code Standup works hand-in-hand with Trunk-Based Development (TBD). Since every developer commits small, incremental changes directly to the main branch on a daily basis, the team always has a single, up-to-date codebase to review. This ensures that discussions are grounded in the latest, working code and that feedback loops stay extremely short.
Key benefits of a Daily Code Standup:
- Code-centric discussions – Conversations are grounded in real, recent commits rather than abstract updates.
- Early feedback – Potential issues, design flaws, or duplication are caught within a day.
- Team-wide pair programming – Everyone gains visibility into the evolving codebase, similar to continuous peer review.
- Higher accountability – Each developer explains their commits, promoting ownership and shared understanding.
By combining Daily Code Standups with Trunk-Based Development, XS creates a rhythm of continuous integration, immediate feedback, and collective ownership—ensuring faster learning, higher quality, and stronger collaboration across the team.
Pair Programming vs. Team-Wide Pair Programming
Aspect | Pair Programming | Team-Wide Pair Programming (Extreme Scrum) |
---|---|---|
Who is involved | 2 developers (Driver + Navigator) | Entire team reviewing each other’s daily commits |
Focus | A single feature or task | The entire evolving codebase |
Knowledge sharing | Between the two developers | Distributed across the whole team |
Feedback loop | Immediate but limited to the pair | Immediate and collective, during Daily Code Standup |
Accountability | Shared between two | Shared across the entire team |
Scalability | Works well for small tasks | Scales to teams, ensures everyone stays aligned |
Analogy | Two people writing code together | Everyone “pairing” with everyone else, every day |
By scaling the principles of pair programming to the entire team, Team-Wide Pair Programming ensures broader knowledge sharing, collective ownership, and higher code quality than traditional pair programming alone.
Desk Checks
In Extreme Scrum (XS), a Desk Check is a lightweight, mini–Sprint Review that occurs frequently during the sprint rather than only at the end. Desk Checks ensure that feedback flows continuously, reducing the risk of late surprises and strengthening collaboration between developers, Product Owners, and Testers.
There are two types of Desk Checks:
1. Desk Check with the Product Owner (PO) – Driving Early and Continuous Feedback
This session focuses on validating direction, usability, and value. Instead of waiting until the sprint review, developers showcase work-in-progress slices of a feature.
- Example: If the task is Developing a Login Page, the developer can first show the layout and alignment of text fields and buttons, then later demonstrate validation rules for username and password.
- The PO provides early feedback on design choices, interactions, or copy, ensuring the product evolves in the right direction.
This incremental feedback loop saves time, reduces rework, and creates a tighter connection between developers and product stakeholders.
2. Desk Check with Tester / Automation Engineer – Driving Continuous Test Automation
This session centers around quality, testability, and automation readiness. Instead of waiting for a “finished” feature, developers and testers treat each piece of functionality as a puzzle of the feature that can be reviewed and tested incrementally.
- Example: For the Login Page puzzle, one Desk Check could focus only on password validation logic.
- The Automation Engineer can start a contract testing discussion with developers, covering details like data attributes to be used in Cypress scripts or other automation frameworks.
- Since code is committed daily (Trunk-Based Development), Automation Engineers can immediately begin scripting automation tests for each puzzle, rather than waiting for the full feature to be complete.
Benefits:
- Faster automation readiness.
- Earlier detection of design/testability issues.
- Continuous collaboration between developers and testers, mirroring a team-wide pair programming mindset.
Continuous Automation Testing
In Extreme Scrum (XS), automation testing is built into the process from the very beginning. It starts at EPIC grooming, where the team defines the feature holistically along with its Acceptance Criteria. From there, the EPIC is broken down into smaller stories through a process called Feature Breakdown.
This approach is inspired by the Test-First philosophy from Test Driven Development (TDD) in Extreme Programming. While TDD focuses on writing unit tests before implementation, XS extends this mindset to the feature and acceptance level—ensuring that testing considerations guide development from the start. In other words, XS is not strictly TDD, but it embraces the same principle: tests come first, code follows.
Each EPIC carries an Acceptance Details Test (ADT) for end-to-end (E2E) coverage, derived directly from its Acceptance Criteria. Likewise, each story is defined with its own ADT for Component Testing. These tests are written in Gherkin (BDD) format:
Given [initial context]
When [event occurs]
Then [expected outcome]
All stories with defined ADTs are stored in the Acceptance Details Testing Backlog, and it becomes mandatory that items in the Sprint Backlog are selected from this backlog. This ensures testing is never an afterthought but an integral part of the development cycle.
By having ADTs defined before coding begins, both Developers and Testers are aligned on the test cases. As development starts, Testers can work in parallel by scripting automation tests against the ADT. During Desk Checks, Developers and Testers review, refine, and enhance the ADTs together.
When subsequent stories (or “puzzles” of a larger feature) are developed, Desk Checks validate them against the automation scripts already written for earlier stories. This creates an immediate safety net, ensuring no breaking changes slip through.
To make this process smooth and incremental, XS leverages Trunk-Based Development techniques like:
- Branch by Abstraction – Allows developers to split a story into multiple incremental commits (abstractions and implementations), enabling handover in small, manageable steps.
- Feature Toggles – Let developers safely commit incomplete features to the mainline. Incomplete functionality is hidden from end users but exposed via toggle flags so Testers can enable it for automation scripting.
This approach ensures that the mainline remains deployable on demand, with no risk of unstable or partially complete features disrupting production—while fully embracing the test-first philosophy to drive quality and agility.
XS Test-First vs TDD: What’s the Difference?
While Extreme Scrum (XS) borrows the test-first philosophy from Test-Driven Development (TDD), the two approaches operate at different levels:
-
TDD (Extreme Programming)
- Focuses on unit-level tests.
- Developers write a failing test first, then implement code until the test passes.
- Cycle: Red → Green → Refactor.
-
XS Test-First
- Focuses on feature and acceptance-level tests.
- Tests are defined as Acceptance Details Tests (ADTs) before coding begins.
- Both Developers and Testers collaborate on automation scripts aligned with business outcomes.
👉 In short: TDD validates correctness of code at the micro level, while XS validates correctness of features at the macro (business) level—both driven by the same philosophy: tests guide development, not follow it.
XS Test-First Flow
flowchart TD
A[EPIC Grooming] --> B[Feature Breakdown → Stories]
B --> C[Define Acceptance Details Test (ADT)]
C --> D[Developers & Testers Work in Parallel]
D --> E[Desk Checks: Review & Refine ADTs]
E --> F[Automation Scripts Validated]
F --> G[Automation Safety Net (No Breaking Changes)]
Process Retrospective – Driving Objectivity and Continuous Improvement
In Extreme Scrum (XS), the Process Retrospective is designed to focus squarely on the process itself—not on individuals or vague feelings. The purpose is to evaluate whether each practice is working well, needs improvement, or requires replacement.
The retrospective documentation is structured into clear sections for every XS practice, such as Daily Code Standup, Desk Checks, Acceptance Details Tests (ADT), Trunk-Based Development, and others. Participants provide feedback only within these defined sections, ensuring discussions remain targeted and constructive.
This differs from a traditional Scrum retrospective, which can sometimes drift into personal complaints, emotional venting, or even finger-pointing. While those conversations may have value, they often risk lowering team morale and derailing focus.
By anchoring the retrospective in process evaluation rather than personal critique, XS promotes:
- Objectivity over subjectivity – Teams assess whether the practice works, not whether a person did something wrong.
- Continuous tuning – Each iteration allows processes to be refined, adjusted, or enhanced.
- Shared ownership – Everyone contributes to shaping the methodology, creating buy-in and alignment.
Over time, this approach builds a culture of systematic improvement, where every process is tuned until the team is satisfied—and where retrospectives serve as a driver of progress rather than a drain on momentum.
Traditional Scrum Retrospective vs XS Process Retrospective
Aspect | Traditional Scrum Retrospective | XS Process Retrospective |
---|---|---|
Focus | Team feelings, individual performance, general issues | Processes, practices, and workflows |
Discussion Style | Open-ended, may drift into personal complaints | Structured, limited to predefined process sections |
Feedback Timing | Typically at the end of the sprint | Continuous, process-focused throughout the sprint |
Accountability | Can feel personal, sometimes leads to blame | Objective, centered on practices rather than people |
Improvement Approach | Subjective suggestions | Systematic tuning of processes based on observations |
Outcome | Insights may vary; risk of lowered team momentum | Actionable process improvements; momentum maintained |
Collaboration | Team reflects together, may focus on issues | Everyone contributes to process refinement and alignment |
Example: A Day in Extreme Scrum (XS)
Here’s how a typical day looks for an Extreme Scrum team:
-
Daily Code Standup (Continuous Integration)
- Team reviews commits from the last 24 hours.
- Focus is on the mainline health, not status updates.
- Issues (conflicts, failing tests, duplication) are identified immediately.
- The team uses Branch by Abstraction and Feature Toggles to keep trunk stable.
- Everyone gains visibility into evolving code during the Daily Code Standup.
-
Desk Check with the Product Owner (Continuous Feedback)
- Developer showcases a work-in-progress slice of a feature.
- PO provides early feedback on usability, flow, and alignment with business needs.
- Example: reviewing just the form layout or validation logic of a login page.
-
Desk Check with the Tester / Automation Engineer (Continuous Automation Testing)
- Tester and developer review Acceptance Details Tests (ADTs).
- Begin scripting automation tests in parallel (e.g., Cypress).
- Validate contract testing details (e.g., data attributes, APIs).
- Ensures each “puzzle” of the feature can be tested early.
-
Continuous Integration Pipeline
- Every commit triggers unit, component, and E2E tests.
- Earlier ADTs act as an automation safety net, ensuring no regressions.
-
Continuous Delivery Mindset
- Mainline is always deployable on demand.
- PO or stakeholders can enable toggled features to validate progress instantly.
- Value is delivered continuously, not just at sprint reviews.
Key Takeaway
A day in XS is not a rigid sequence of ceremonies but a continuous cycle of code, test, and feedback.
It keeps everyone—Developers, Testers, and Product Owners—aligned around working software and business outcomes, every single day.
Thanks for reading! If you enjoyed this, follow me for more dev process experiments.
Top comments (0)