Browse the docs

Extreme Programming

Short feedback cycles reinforced by disciplined engineering practices.

Extreme Programming (XP) builds software in short weekly cycles driven by customer-valued stories and reinforced by disciplined engineering practices. Tests are written before code. Changes integrate continuously. Programmers work in pairs. The customer is a first-class participant who selects stories and reviews working software every week. XP is built on the premise that good engineering discipline and frequent feedback make rapid change safe.

What it's for

XP works well for software teams facing changing requirements and demanding quality needs — teams that want tight engineering practices (TDD, continuous integration, pairing) baked into their delivery cadence rather than added on later.

Work item types

TypeDescription
StoryCustomer-valued behavior to be delivered
DefectIncorrect product behavior
Technical taskEngineering enablement work
ExperimentA test of a technical or product idea

Stories are the primary planning unit. Defects, technical tasks, and experiments roll up into stories.

Workflow

The board uses five columns:

ColumnMeaning
StoriesCustomer stories waiting to be accepted into an iteration
IterationStories accepted into the current weekly cycle
DevelopingActive development work (WIP limit: 5)
Tests passingWork where acceptance tests pass, awaiting integration (WIP limit: 3)
ReleasedShipped to customers

Rituals

Skopo calls these Rituals in the sidebar for XP projects.

RitualWhenPurpose
Weekly cycleWeeklyCustomer selects stories and the team plans tested delivery
Daily coordinationDailyCoordinate pairing and integration
Acceptance test reviewWeeklyConfirm customer tests describe the next deployable behavior
Customer reviewWeeklyGather rapid feedback on working software
Quarterly cycleQuarterlySet release context and themes

Practices

XP practices can be enabled or disabled per project in Project Settings.

PracticeWhat it adds
TDDDrive implementation from automated tests and expected behavior
Pair programmingUse two-person programming to spread context and improve quality
Continuous integrationIntegrate frequently with automated build and test feedback
RefactoringContinuously improve design while preserving behavior
Collective ownershipMake the whole team responsible for improving any part of the codebase

TDD and Continuous integration are recommended by default.

Artifacts

  • Stories — customer-valued descriptions of expected behavior, written before implementation.
  • Acceptance tests — executable tests that confirm a story is delivered as the customer intended.
  • Coding standard — the shared conventions the whole team applies to keep the codebase collectively owned.

Metrics

MetricWhat it measures
Build healthReliability of the automated build across integrations
Integration frequencyHow often changes are integrated into the shared codebase
Escaped defectsDefects discovered by customers after release