Skip to content

Campaigns

A suite is code. A campaign is a decision.

A suite runs on every commit and answers to the merge button. A campaign is scoped on purpose — this build, this environment, this window — and somebody has to say at the end of it whether the thing ships. Confusing the two is how a release regression becomes “the pipeline is green” and nobody notices the pipeline never covered the payment flow on Safari.

Campaigns

Who answers, and when it ends

Every campaign has an owner who is not “QA”, and an exit condition that is not “when we run out of time”. Those two columns are the shift-left commitment made concrete — if one of them is ever blank, the campaign has quietly become somebody else’s problem.

CampaignAnswersCadence and exitOwner
ContinuousIs the change that just landed safe to keep?Every commit — ends when the pipeline is greenThe author of the change
Release regressionDoes the release candidate still do what the last one did?Per release candidate — ends on a go/no-go decisionThe release manager, on the team’s evidence
PerformanceDoes it still hold at the load we promised?Per release, and on any change to a hot pathThe team owning the service under test
SecurityWhat can someone do here that they should not?Continuous scanning, plus a scoped test per major releaseThe security engineer, with the team
ExploratoryWhat did none of us think to write a test for?Per feature, in 60–90 minute chartered sessionsWhoever takes the charter
In productionIs it still true now, with real traffic on it?Continuously, against live trafficThe on-call engineer
ResultsWhat happened the last twenty times we ran it?Written by every campaign aboveThe test manager