Skip to content

Commit 0a15aa1

Browse files
authored
Merge pull request #489 from raifdmueller/feat/contracts-vertical-slicing-refactoring
feat(contracts): add Vertical Slicing and Refactoring, extend Requirements Discovery
2 parents 26d0b79 + 61906b8 commit 0a15aa1

2 files changed

Lines changed: 52 additions & 5 deletions

File tree

website/public/data/contracts.json

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
"titleDe": "Anforderungsermittlung",
1717
"description": "How we clarify requirements before writing specs",
1818
"descriptionDe": "Wie wir Anforderungen klären, bevor wir Specs schreiben",
19-
"anchors": ["socratic-method", "mece", "prd"],
20-
"template": "Clarify requirements using the Socratic Method:\n- Ask at most 3 questions at a time, challenge assumptions\n- Use MECE to ensure questions cover all areas without overlap\n- Keep asking until you fully understand the requirements\n- Document as a PRD (problem, goals, personas, success criteria, scope)",
21-
"templateDe": "Anforderungen mit der Sokratischen Methode klären:\n- Höchstens 3 Fragen gleichzeitig, Annahmen hinterfragen\n- MECE nutzen, um alle Bereiche überlappungsfrei abzudecken\n- Weiterfragen bis die Anforderungen vollständig verstanden sind\n- Als PRD dokumentieren (Problem, Ziele, Personas, Erfolgskriterien, Scope)",
19+
"anchors": ["socratic-method", "mece", "prd", "impact-mapping", "user-story-mapping"],
20+
"template": "Clarify requirements using the Socratic Method:\n- Ask at most 3 questions at a time, challenge assumptions\n- Use MECE to ensure questions cover all areas without overlap\n- Keep asking until you fully understand the requirements\n\nFrame the scope before writing it down:\n- Impact Mapping connects deliverables to business goals and actors — so you build what moves a goal, not just what was asked.\n- User Story Mapping lays stories along the user's journey and exposes a coherent first slice.\n\nDocument the result as a PRD (problem, goals, personas, success criteria, scope).",
21+
"templateDe": "Anforderungen mit der Sokratischen Methode klären:\n- Höchstens 3 Fragen gleichzeitig, Annahmen hinterfragen\n- MECE nutzen, um alle Bereiche überlappungsfrei abzudecken\n- Weiterfragen bis die Anforderungen vollständig verstanden sind\n\nDen Scope rahmen, bevor er aufgeschrieben wird:\n- Impact Mapping verbindet Lieferobjekte mit Geschäftszielen und Akteuren — damit man baut, was ein Ziel bewegt, nicht nur was gefragt wurde.\n- User Story Mapping ordnet Stories entlang der Nutzerreise an und legt eine sinnvolle erste Scheibe offen.\n\nDas Ergebnis als PRD dokumentieren (Problem, Ziele, Personas, Erfolgskriterien, Scope).",
2222
"category": "requirements"
2323
},
2424
{
@@ -71,6 +71,17 @@
7171
"templateDe": "EPICs und User Stories als GitHub Issues aus der Spezifikation erstellen.\n- User Stories folgen den INVEST-Kriterien (Independent, Negotiable, Valuable, Estimable, Small, Testable)\n- Priorisierung mit MoSCoW (Must/Should/Could/Won't)\n- Abhängigkeiten zwischen Issues markieren\n- Backlog regelmäßig groomen",
7272
"category": "development"
7373
},
74+
{
75+
"id": "vertical-slicing",
76+
"title": "Vertical Slicing",
77+
"titleDe": "Vertikale Schnitte",
78+
"description": "How we build the first increment and grow the system in thin end-to-end slices",
79+
"descriptionDe": "Wie wir das erste Inkrement bauen und das System in dünnen End-to-End-Scheiben wachsen lassen",
80+
"anchors": ["walking-skeleton", "tracer-bullet", "thin-vertical-slice", "spike-solution"],
81+
"template": "Build the first increment as a walking skeleton: a deployable end-to-end slice that wires every architectural layer together and does almost nothing else.\n\nGrow the system as thin vertical slices — each slice cuts through all layers and delivers one small piece of user value. Slices are tracer bullets: kept and refined, never thrown away.\n\nWhen a technical unknown blocks a slice, run a spike solution first — a timeboxed, throwaway experiment that removes the risk. Spike code is discarded; only its lesson carries into the slice.",
82+
"templateDe": "Das erste Inkrement als Walking Skeleton bauen: eine deploybare End-to-End-Scheibe, die alle Architekturschichten verbindet und sonst fast nichts tut.\n\nDas System in dünnen vertikalen Scheiben wachsen lassen — jede Scheibe geht durch alle Schichten und liefert ein kleines Stück Nutzerwert. Scheiben sind Tracer Bullets: behalten und verfeinert, nie weggeworfen.\n\nWenn ein technisches Unbekanntes eine Scheibe blockiert, zuerst eine Spike Solution durchführen — ein zeitlich begrenztes Wegwerf-Experiment, das das Risiko beseitigt. Spike-Code wird verworfen; nur seine Erkenntnis fließt in die Scheibe ein.",
83+
"category": "development"
84+
},
7485
{
7586
"id": "implement-next",
7687
"title": "Implement Next",
@@ -87,6 +98,17 @@
8798
"templateDe": "Für jedes Issue:\n- Feature-Branch für das EPIC erstellen\n- Nächstes Issue aus dem Backlog wählen (Abhängigkeiten beachten)\n- Analysieren und Analyse als Kommentar am Issue dokumentieren\n- Mit TDD implementieren (London oder Chicago School je nach Kontext)\n- Jeder Test referenziert seine Use-Case-ID für Rückverfolgbarkeit\n- Mit Conventional Commits committen, Issue-Nummer referenzieren\n- Prüfen ob Spec oder Architektur-Docs aktualisiert werden müssen\n- Wenn EPIC fertig, Pull Request erstellen",
8899
"category": "development"
89100
},
101+
{
102+
"id": "refactoring",
103+
"title": "Refactoring",
104+
"titleDe": "Refactoring",
105+
"description": "How we identify and execute refactorings safely",
106+
"descriptionDe": "Wie wir Refactorings sicher identifizieren und durchführen",
107+
"anchors": ["code-smells", "mikado-method"],
108+
"template": "Refactoring targets are named code smells, not a vague urge to \"clean up\".\n\nFor any refactoring that does not complete in one step, use the Mikado Method: attempt the change, note what breaks, revert, and do the prerequisites first — never leave the build broken while you dig.\n\nRefactoring commits change structure only. Behaviour changes go in separate commits, and the test suite stays green at every commit.",
109+
"templateDe": "Refactoring-Ziele sind benannte Code Smells, kein vager Drang \"aufzuräumen\".\n\nFür jedes Refactoring, das nicht in einem Schritt fertig wird, die Mikado-Methode nutzen: die Änderung versuchen, notieren was bricht, zurücksetzen und zuerst die Voraussetzungen erledigen — den Build nie kaputt lassen, während man gräbt.\n\nRefactoring-Commits ändern nur Struktur. Verhaltensänderungen kommen in separate Commits, und die Testsuite bleibt bei jedem Commit grün.",
110+
"category": "development"
111+
},
90112
{
91113
"id": "code-quality",
92114
"title": "Code Quality",

website/public/llms.txt

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5651,9 +5651,14 @@ Clarify requirements using the Socratic Method:
56515651
- Ask at most 3 questions at a time, challenge assumptions
56525652
- Use MECE to ensure questions cover all areas without overlap
56535653
- Keep asking until you fully understand the requirements
5654-
- Document as a PRD (problem, goals, personas, success criteria, scope)
56555654

5656-
*Referenced anchors: socratic-method, mece, prd*
5655+
Frame the scope before writing it down:
5656+
- Impact Mapping connects deliverables to business goals and actors — so you build what moves a goal, not just what was asked.
5657+
- User Story Mapping lays stories along the user's journey and exposes a coherent first slice.
5658+
5659+
Document the result as a PRD (problem, goals, personas, success criteria, scope).
5660+
5661+
*Referenced anchors: socratic-method, mece, prd, impact-mapping, user-story-mapping*
56575662

56585663
## Architecture Documentation
56595664

@@ -5699,6 +5704,16 @@ Create EPICs and User Stories as GitHub issues from the specification.
56995704

57005705
*Referenced anchors: invest, moscow*
57015706

5707+
## Vertical Slicing
5708+
5709+
Build the first increment as a walking skeleton: a deployable end-to-end slice that wires every architectural layer together and does almost nothing else.
5710+
5711+
Grow the system as thin vertical slices — each slice cuts through all layers and delivers one small piece of user value. Slices are tracer bullets: kept and refined, never thrown away.
5712+
5713+
When a technical unknown blocks a slice, run a spike solution first — a timeboxed, throwaway experiment that removes the risk. Spike code is discarded; only its lesson carries into the slice.
5714+
5715+
*Referenced anchors: walking-skeleton, tracer-bullet, thin-vertical-slice, spike-solution*
5716+
57025717
## Implement Next
57035718

57045719
For each issue:
@@ -5713,6 +5728,16 @@ For each issue:
57135728

57145729
*Referenced anchors: tdd-london-school, tdd-chicago-school, definition-of-done, conventional-commits*
57155730

5731+
## Refactoring
5732+
5733+
Refactoring targets are named code smells, not a vague urge to "clean up".
5734+
5735+
For any refactoring that does not complete in one step, use the Mikado Method: attempt the change, note what breaks, revert, and do the prerequisites first — never leave the build broken while you dig.
5736+
5737+
Refactoring commits change structure only. Behaviour changes go in separate commits, and the test suite stays green at every commit.
5738+
5739+
*Referenced anchors: code-smells, mikado-method*
5740+
57165741
## Code Quality
57175742

57185743
Our code follows:

0 commit comments

Comments
 (0)