Skip to content

Commit 6f9a34b

Browse files
raifdmuellerclaude
andcommitted
feat: add Cockburn Use Cases anchor
Alistair Cockburn's structured textual use case format from "Writing Effective Use Cases" (2001). Core concepts: Fully Dressed template, three Goal Levels (Summary/User Goal/Subfunction), Actor-Goal List discovery technique. Deliberately notation-agnostic — does NOT prescribe Activity Diagrams, Gherkin, or EARS; those are complementary representations layered on top. Category: requirements-engineering. Tier 3. Related: Gherkin, BDD, EARS, arc42, ISO 25010. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 2762457 commit 6f9a34b

8 files changed

Lines changed: 171 additions & 5 deletions

File tree

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
= Cockburn Use Cases
2+
:categories: requirements-engineering
3+
:roles: business-analyst, software-architect, product-owner, software-developer
4+
:related: gherkin, bdd-given-when-then, ears-requirements, arc42, iso-25010
5+
:proponents: Alistair Cockburn
6+
:tags: use-cases, requirements, goal-levels, fully-dressed, actor-goal-list
7+
:tier: 3
8+
9+
[%collapsible]
10+
====
11+
Full Name:: Cockburn Use Cases (Writing Effective Use Cases)
12+
13+
Also known as:: Fully Dressed Use Cases, Goal-Level Use Cases, Cockburn Format
14+
15+
[discrete]
16+
== *Core Concepts*:
17+
18+
Fully Dressed Format::
19+
A structured textual template for describing system behavior from the actor's perspective. Each use case includes: Primary Actor, Stakeholders & Interests, Preconditions, Trigger, Main Success Scenario (numbered steps), Extensions (alternative/failure paths with step references), Postconditions (success guarantee and minimal guarantee), and Technology & Data Variations.
20+
21+
Goal Levels::
22+
Three abstraction levels that organise use cases into a hierarchy:
23+
+
24+
* *Summary* (Kite/Cloud) — business-process-level goals spanning multiple user sessions. Example: "Manage customer lifecycle."
25+
* *User Goal* (Sea Level) — the sweet spot: one actor, one sitting, one measurable outcome. Example: "Place an order." Most use cases live here.
26+
* *Subfunction* (Fish/Clam) — steps that support a user goal but are not goals in themselves. Example: "Authenticate user." Extract only when reused across multiple user-goal use cases.
27+
28+
Scope::
29+
Defines the system boundary — what is inside the "design scope" and what is an external actor. Cockburn uses icons (a box for the system, a person for actors) to make the boundary visual. Getting scope right prevents use cases from being either too vague (organisational scope) or too detailed (component scope).
30+
31+
Actor-Goal List::
32+
The discovery technique: list every actor and every goal they have against the system. This produces a candidate use case list before writing any prose. The goal level test: "Does the actor go home happy if this goal is achieved?" filters out subfunctions masquerading as user goals.
33+
34+
What Cockburn does *not* prescribe::
35+
Cockburn's format is deliberately *prose-based and notation-agnostic*. It does not mandate Activity Diagrams, Gherkin, EARS, or any formal syntax. Those are complementary representations that can be layered on top — Activity Diagrams for visual flow, Gherkin for executable acceptance criteria, EARS for structured requirement statements.
36+
37+
Key Proponents:: Alistair Cockburn (_Writing Effective Use Cases_, Addison-Wesley, 2001). The book remains the canonical reference; Cockburn also contributed to the Agile Manifesto and Crystal methodologies.
38+
39+
[discrete]
40+
== *When to Use*:
41+
42+
* Discovering what a system needs to do before deciding how to build it — the Actor-Goal List is a fast, structured brainstorm
43+
* Structuring requirements conversations with stakeholders who think in scenarios, not features
44+
* Decomposing a large system into manageable behavioural units at the right granularity (goal-level test)
45+
* Brownfield theory recovery: reconstructing what a system does by writing use cases from observed behaviour
46+
* Feeding downstream artifacts: each use case becomes a natural unit for Activity Diagrams, Gherkin scenarios, and test plans
47+
* Complementing arc42: use cases populate Section 6 (Runtime View) and inform Section 3 (Context and Scope)
48+
49+
[discrete]
50+
== *Related Anchors*:
51+
52+
* <<gherkin,Gherkin>> - Executable acceptance criteria that can be derived from each extension path in a use case
53+
* <<bdd-given-when-then,BDD Given/When/Then>> - Formalises the scenario steps that Cockburn describes in prose
54+
* <<ears-requirements,EARS Requirements>> - Structured syntax for individual requirement statements; complements Cockburn's scenario-level structure
55+
* <<arc42,arc42>> - Use cases feed Section 6 (Runtime View) and inform Section 3 (Context and Scope)
56+
* <<iso-25010,ISO 25010>> - Quality goals that use case extensions should address (error handling, performance, security)
57+
====
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
= Cockburn Use Cases
2+
:categories: requirements-engineering
3+
:roles: business-analyst, software-architect, product-owner, software-developer
4+
:related: gherkin, bdd-given-when-then, ears-requirements, arc42, iso-25010
5+
:proponents: Alistair Cockburn
6+
:tags: use-cases, anforderungen, goal-levels, fully-dressed, actor-goal-liste
7+
:tier: 3
8+
9+
[%collapsible]
10+
====
11+
Vollständiger Name:: Cockburn Use Cases (Writing Effective Use Cases)
12+
13+
Auch bekannt als:: Fully Dressed Use Cases, Goal-Level Use Cases, Cockburn-Format
14+
15+
[discrete]
16+
== *Kernkonzepte*:
17+
18+
Fully Dressed Format::
19+
Ein strukturiertes textuelles Template zur Beschreibung von Systemverhalten aus Sicht des Akteurs. Jeder Use Case enthält: Primary Actor, Stakeholders & Interests, Vorbedingungen, Trigger, Main Success Scenario (nummerierte Schritte), Extensions (alternative/Fehlerpfade mit Schrittverweisen), Nachbedingungen (Success Guarantee und Minimal Guarantee) sowie Technology & Data Variations.
20+
21+
Goal Levels::
22+
Drei Abstraktionsebenen, die Use Cases hierarchisch organisieren:
23+
+
24+
* *Summary* (Kite/Cloud) — Geschäftsprozessziele über mehrere Sitzungen. Beispiel: "Kundenlebenszyklus verwalten."
25+
* *User Goal* (Sea Level) — der Idealfall: ein Akteur, eine Sitzung, ein messbares Ergebnis. Beispiel: "Bestellung aufgeben." Die meisten Use Cases leben hier.
26+
* *Subfunction* (Fish/Clam) — Schritte, die ein User Goal unterstützen, aber selbst keine eigenständigen Ziele sind. Beispiel: "Benutzer authentifizieren." Nur extrahieren, wenn sie in mehreren User-Goal-Use-Cases wiederverwendet werden.
27+
28+
Scope::
29+
Definiert die Systemgrenze — was innerhalb des "Design Scope" liegt und was externer Akteur ist. Cockburn verwendet Ikonen (ein Kasten für das System, eine Person für Akteure), um die Grenze visuell zu machen. Den richtigen Scope zu treffen verhindert, dass Use Cases entweder zu vage (organisatorischer Scope) oder zu detailliert (Komponenten-Scope) werden.
30+
31+
Actor-Goal-Liste::
32+
Die Discovery-Technik: jeden Akteur und jedes Ziel auflisten, das er gegenüber dem System hat. Das ergibt eine Kandidatenliste für Use Cases, bevor Prosa geschrieben wird. Der Goal-Level-Test: "Geht der Akteur zufrieden nach Hause, wenn dieses Ziel erreicht ist?" filtert Subfunctions heraus, die sich als User Goals tarnen.
33+
34+
Was Cockburn *nicht* vorschreibt::
35+
Cockburns Format ist bewusst *prosabasiert und notationsagnostisch*. Es verlangt keine Activity-Diagramme, kein Gherkin, kein EARS und keine formale Syntax. Das sind komplementäre Darstellungsformen, die darauf aufbauen können — Activity-Diagramme für visuellen Fluss, Gherkin für ausführbare Akzeptanzkriterien, EARS für strukturierte Anforderungsformulierungen.
36+
37+
Schlüsselvertreter:: Alistair Cockburn (_Writing Effective Use Cases_, Addison-Wesley, 2001). Das Buch bleibt die kanonische Referenz; Cockburn ist auch Mitunterzeichner des Agilen Manifests und Begründer der Crystal-Methodologien.
38+
39+
[discrete]
40+
== *Wann zu verwenden*:
41+
42+
* Herausfinden was ein System tun muss, bevor entschieden wird wie es gebaut wird — die Actor-Goal-Liste ist ein schneller, strukturierter Brainstorm
43+
* Requirements-Gespräche mit Stakeholdern strukturieren, die in Szenarien denken, nicht in Features
44+
* Ein großes System in handhabbare Verhaltenseinheiten auf der richtigen Granularität zerlegen (Goal-Level-Test)
45+
* Brownfield-Theorie-Rekonstruktion: aus beobachtetem Verhalten Use Cases schreiben
46+
* Downstream-Artefakte befüttern: jeder Use Case wird zur natürlichen Einheit für Activity-Diagramme, Gherkin-Szenarien und Testpläne
47+
* arc42 ergänzen: Use Cases füllen Abschnitt 6 (Laufzeitsicht) und informieren Abschnitt 3 (Kontextabgrenzung)
48+
49+
[discrete]
50+
== *Verwandte Anker*:
51+
52+
* <<gherkin,Gherkin>> - Ausführbare Akzeptanzkriterien, die aus jedem Extension-Pfad eines Use Cases abgeleitet werden können
53+
* <<bdd-given-when-then,BDD Given/When/Then>> - Formalisiert die Szenario-Schritte, die Cockburn in Prosa beschreibt
54+
* <<ears-requirements,EARS Requirements>> - Strukturierte Syntax für einzelne Anforderungsformulierungen; ergänzt Cockburns szenariobasierte Struktur
55+
* <<arc42,arc42>> - Use Cases füllen Abschnitt 6 (Laufzeitsicht) und informieren Abschnitt 3 (Kontextabgrenzung)
56+
* <<iso-25010,ISO 25010>> - Qualitätsziele, die Use-Case-Extensions adressieren sollten (Fehlerbehandlung, Performance, Sicherheit)
57+
====

docs/changelog.adoc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,16 @@
22

33
A chronological record of all semantic anchors added to the catalog. Community contributors are credited with thanks.
44

5+
== 2026-05-02
6+
7+
*New anchors:*
8+
9+
* *Cockburn Use Cases* — Alistair Cockburn's structured textual use case format with Goal Levels (Summary, User Goal, Subfunction) and Actor-Goal List discovery technique
10+
11+
*New contracts:*
12+
13+
* *Socratic Code Theory Recovery* — Recover a program's "theory" (Naur 1985) from source code through recursive question refinement; composes Socratic Method, arc42, ISO 25010, Nygard ADRs, Mental Model (Naur)
14+
515
== 2026-04-20
616

717
*New anchors:*

skill/semantic-anchor-translator/references/catalog.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -386,6 +386,11 @@ Source: https://github.com/LLM-Coding/Semantic-Anchors
386386

387387
## Requirements Engineering
388388

389+
### Cockburn Use Cases
390+
- **Also known as:** Fully Dressed Use Cases, Goal-Level Use Cases
391+
- **Proponents:** Alistair Cockburn
392+
- **Core:** Structured textual use case format — Primary Actor, Stakeholders & Interests, Preconditions, Trigger, Main Success Scenario, Extensions, Postconditions; three Goal Levels (Summary/Kite, User Goal/Sea Level, Subfunction/Fish); Actor-Goal List as discovery technique; deliberately prose-based and notation-agnostic — does NOT prescribe Activity Diagrams, Gherkin, or EARS, which are complementary representations
393+
389394
### INVEST
390395
- **Proponents:** Bill Wake
391396
- **Core:** Independent, Negotiable, Valuable, Estimable, Small, Testable — criteria for well-formed user stories

website/public/data/anchors.json

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,38 @@
223223
"filePath": "docs/anchors/clean-architecture.adoc",
224224
"tier": 3
225225
},
226+
{
227+
"id": "cockburn-use-cases",
228+
"title": "Cockburn Use Cases",
229+
"categories": [
230+
"requirements-engineering"
231+
],
232+
"roles": [
233+
"business-analyst",
234+
"software-architect",
235+
"product-owner",
236+
"software-developer"
237+
],
238+
"related": [
239+
"gherkin",
240+
"bdd-given-when-then",
241+
"ears-requirements",
242+
"arc42",
243+
"iso-25010"
244+
],
245+
"proponents": [
246+
"Alistair Cockburn"
247+
],
248+
"tags": [
249+
"use-cases",
250+
"requirements",
251+
"goal-levels",
252+
"fully-dressed",
253+
"actor-goal-list"
254+
],
255+
"filePath": "docs/anchors/cockburn-use-cases.adoc",
256+
"tier": 3
257+
},
226258
{
227259
"id": "code-smells",
228260
"title": "Code Smells",

website/public/data/categories.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@
139139
"id": "requirements-engineering",
140140
"name": "Requirements Engineering",
141141
"anchors": [
142+
"cockburn-use-cases",
142143
"ears-requirements",
143144
"invest",
144145
"moscow",

website/public/data/metadata.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
{
2-
"generatedAt": "2026-04-21T07:31:33.431Z",
2+
"generatedAt": "2026-05-02T07:48:21.886Z",
33
"version": "1.0.0",
44
"counts": {
5-
"anchors": 135,
5+
"anchors": 136,
66
"categories": 14,
77
"roles": 13
88
},
99
"statistics": {
10-
"averageRolesPerAnchor": "3.16",
10+
"averageRolesPerAnchor": "3.17",
1111
"averageCategoriesPerAnchor": "1.01",
12-
"anchorsWithTags": 95,
13-
"anchorsWithRelated": 66
12+
"anchorsWithTags": 96,
13+
"anchorsWithRelated": 67
1414
}
1515
}

website/public/data/roles.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
"bdd-given-when-then",
77
"bluf",
88
"chain-of-thought",
9+
"cockburn-use-cases",
910
"domain-driven-design",
1011
"ears-requirements",
1112
"gherkin",
@@ -162,6 +163,7 @@
162163
"anchors": [
163164
"atam",
164165
"bdd-given-when-then",
166+
"cockburn-use-cases",
165167
"cynefin-framework",
166168
"definition-of-done",
167169
"gherkin",
@@ -234,6 +236,7 @@
234236
"atam",
235237
"c4-diagrams",
236238
"clean-architecture",
239+
"cockburn-use-cases",
237240
"code-smells",
238241
"cohesion-criteria",
239242
"cqrs",
@@ -317,6 +320,7 @@
317320
"bem-methodology",
318321
"chain-of-thought",
319322
"clean-architecture",
323+
"cockburn-use-cases",
320324
"code-smells",
321325
"cohesion-criteria",
322326
"conventional-commits",

0 commit comments

Comments
 (0)