Skip to content

Commit ba5b925

Browse files
authored
Merge pull request #173 from LLM-Coding/copilot/add-mikado-method-anchor
feat: Add Mikado Method semantic anchor
2 parents f353fe7 + e236e78 commit ba5b925

7 files changed

Lines changed: 121 additions & 1 deletion

File tree

docs/anchors/mikado-method.adoc

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
= Mikado Method
2+
:categories: development-workflow
3+
:roles: software-developer, software-architect, team-lead
4+
:related: tdd-chicago-school, tdd-london-school
5+
:proponents: Ola Ellnestam, Daniel Brolund
6+
:tags: refactoring, legacy code, incremental change, dependency graph, reversible steps
7+
8+
[%collapsible]
9+
====
10+
Also known as:: Mikado Graph Method
11+
12+
[discrete]
13+
== *Core Concepts*:
14+
15+
Mikado Goal:: The final desired state of the code after refactoring; the root of the dependency graph
16+
17+
Prerequisite discovery:: Reveal blocking dependencies by attempting the change and noting what breaks
18+
19+
Revert and repeat:: After discovering a prerequisite, revert to a working state before addressing it
20+
21+
Mikado Graph:: A directed acyclic graph where nodes are prerequisites and edges show dependencies between them
22+
23+
Leaf-first resolution:: Resolve the leaf nodes (no further prerequisites) first, working back to the root goal
24+
25+
Small reversible steps:: Each step leaves the codebase in a working state, eliminating the risk of long-running broken branches
26+
27+
Key Proponents:: Ola Ellnestam, Daniel Brolund ("The Mikado Method", 2012)
28+
29+
[discrete]
30+
== *When to Use*:
31+
32+
* Tackling large refactorings in legacy or complex codebases
33+
* When a direct change breaks too many things to fix at once
34+
* Coordinating multi-developer refactoring efforts safely
35+
* Making incremental improvements without blocking the team
36+
37+
[discrete]
38+
== *Related Anchors*:
39+
40+
* <<tdd-chicago-school,TDD, Chicago School>>
41+
* <<tdd-london-school,TDD, London School>>
42+
====

docs/anchors/mikado-method.de.adoc

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
= Mikado-Methode
2+
:categories: development-workflow
3+
:roles: software-developer, software-architect, team-lead
4+
:related: tdd-chicago-school, tdd-london-school
5+
:proponents: Ola Ellnestam, Daniel Brolund
6+
:tags: refactoring, legacy code, inkrementelle Änderung, Abhängigkeitsgraph, reversible Schritte
7+
8+
[%collapsible]
9+
====
10+
Auch bekannt als:: Mikado-Graph-Methode
11+
12+
[discrete]
13+
== *Kernkonzepte*:
14+
15+
Mikado-Ziel:: Der angestrebte Endzustand des Codes nach dem Refactoring; die Wurzel des Abhängigkeitsgraphen
16+
17+
Voraussetzungsermittlung:: Blockierende Abhängigkeiten aufdecken, indem die Änderung versucht und notiert wird, was dabei bricht
18+
19+
Rückgängig machen und wiederholen:: Nach dem Entdecken einer Voraussetzung den Code auf einen funktionierenden Zustand zurücksetzen, bevor diese angegangen wird
20+
21+
Mikado-Graph:: Ein gerichteter azyklischer Graph, bei dem Knoten Voraussetzungen und Kanten die Abhängigkeiten zwischen ihnen darstellen
22+
23+
Blatt-zuerst-Auflösung:: Zuerst die Blattknoten (ohne weitere Voraussetzungen) auflösen und von dort zurück zum Wurzelziel arbeiten
24+
25+
Kleine reversible Schritte:: Jeder Schritt hinterlässt die Codebasis in einem funktionierenden Zustand und vermeidet das Risiko langer kaputt-Branches
26+
27+
Schlüsselvertreter:: Ola Ellnestam, Daniel Brolund ("The Mikado Method", 2012)
28+
29+
[discrete]
30+
== *Wann zu verwenden*:
31+
32+
* Große Refactorings in Legacy- oder komplexen Codebasen angehen
33+
* Wenn eine direkte Änderung zu viele Dinge bricht, um sie auf einmal zu beheben
34+
* Koordination von Refactoring-Arbeiten mehrerer Entwickler auf sichere Weise
35+
* Inkrementelle Verbesserungen vornehmen, ohne das Team zu blockieren
36+
37+
[discrete]
38+
== *Verwandte Anchors*:
39+
40+
* <<tdd-chicago-school,TDD, Chicago School>>
41+
* <<tdd-london-school,TDD, London School>>
42+
====

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,10 @@ Source: https://github.com/LLM-Coding/Semantic-Anchors
267267
- **Proponents:** Peter Naur
268268
- **Core:** Programming as theory building — knowledge lives in developers' heads
269269

270+
### Mikado Method
271+
- **Proponents:** Ola Ellnestam, Daniel Brolund
272+
- **Core:** Incremental refactoring via prerequisite graph — attempt change, revert on breakage, resolve leaf dependencies first
273+
270274
### TIMTOWTDI
271275
- **Core:** There Is More Than One Way To Do It — Perl philosophy
272276

website/public/data/anchors.json

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1494,6 +1494,34 @@
14941494
"tags": [],
14951495
"filePath": "docs/anchors/mental-model-according-to-naur.adoc"
14961496
},
1497+
{
1498+
"id": "mikado-method",
1499+
"title": "Mikado Method",
1500+
"categories": [
1501+
"development-workflow"
1502+
],
1503+
"roles": [
1504+
"software-developer",
1505+
"software-architect",
1506+
"team-lead"
1507+
],
1508+
"related": [
1509+
"tdd-chicago-school",
1510+
"tdd-london-school"
1511+
],
1512+
"proponents": [
1513+
"Ola Ellnestam",
1514+
"Daniel Brolund"
1515+
],
1516+
"tags": [
1517+
"refactoring",
1518+
"legacy code",
1519+
"incremental change",
1520+
"dependency graph",
1521+
"reversible steps"
1522+
],
1523+
"filePath": "docs/anchors/mikado-method.adoc"
1524+
},
14971525
{
14981526
"id": "morphological-box",
14991527
"title": "Morphological Box",

website/public/data/categories.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
"bem-methodology",
6161
"conventional-commits",
6262
"mental-model-according-to-naur",
63+
"mikado-method",
6364
"regulated-environment",
6465
"semantic-versioning",
6566
"sota",

website/public/data/metadata.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"generatedAt": "2026-03-12T10:36:04.925Z",
33
"version": "1.0.0",
44
"counts": {
5-
"anchors": 95,
5+
"anchors": 96,
66
"categories": 12,
77
"roles": 12
88
},

website/public/data/roles.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@
199199
"lasr",
200200
"madr",
201201
"mece",
202+
"mikado-method",
202203
"morphological-box",
203204
"owasp-top-10",
204205
"pugh-matrix",
@@ -266,6 +267,7 @@
266267
"lasr",
267268
"madr",
268269
"mental-model-according-to-naur",
270+
"mikado-method",
269271
"morphological-box",
270272
"mutation-testing",
271273
"owasp-top-10",
@@ -313,6 +315,7 @@
313315
"lasr",
314316
"madr",
315317
"mental-model-according-to-naur",
318+
"mikado-method",
316319
"moscow",
317320
"myers-briggs-type-indicator",
318321
"owasp-top-10",

0 commit comments

Comments
 (0)