Skip to content

Commit 755830e

Browse files
Copilotrdmueller
andcommitted
feat: add Fagan Inspection semantic anchor (#issue)
Co-authored-by: rdmueller <1856308+rdmueller@users.noreply.github.com>
1 parent 0a21aaa commit 755830e

4 files changed

Lines changed: 130 additions & 11 deletions

File tree

docs/anchors/fagan-inspection.adoc

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
= Fagan Inspection
2+
:categories: testing-quality
3+
:roles: software-developer, qa-engineer, software-architect, team-lead
4+
:related: mutation-testing, testing-pyramid
5+
:proponents: Michael Fagan
6+
:tags: code-review, inspection, defect-detection, formal-review, static-analysis
7+
8+
[%collapsible]
9+
====
10+
Also known as:: Formal Code Inspection, Software Inspection, Fagan's Inspection Method
11+
12+
[discrete]
13+
== Core Concepts:
14+
15+
Formal inspection process:: A structured, multi-phase review process for software artifacts (requirements, design, code) with defined roles and entry/exit criteria
16+
17+
Roles:: Moderator (facilitates and logs), Author (created the artifact), Inspectors (reviewers), Recorder (documents defects)
18+
19+
Six phases:: Planning → Overview → Preparation → Inspection Meeting → Rework → Follow-up
20+
21+
Entry and exit criteria:: Explicit conditions that must be met before entering and leaving each phase, preventing premature progression
22+
23+
Defect classification:: Defects are categorized by type (missing, wrong, extra) and severity, enabling process improvement through causal analysis
24+
25+
Metrics-driven:: Inspection data (defect rate, inspection rate) are collected and used to improve both the product and the inspection process itself
26+
27+
Key Proponents:: Michael Fagan ("Design and Code Inspections to Reduce Errors in Program Development", IBM Systems Journal, 1976)
28+
29+
[discrete]
30+
== When to Use:
31+
32+
* Safety-critical or high-assurance software where defect escape is costly
33+
* Reviewing requirements, architecture, design, or code artifacts early in development
34+
* Establishing a culture of quality and shared code ownership in teams
35+
* When you want measurable, process-level quality improvement over time
36+
* Regulated environments (medical devices, avionics, finance) requiring documented review evidence
37+
38+
[discrete]
39+
== Related Anchors:
40+
41+
* <<mutation-testing,Mutation Testing>>
42+
* <<testing-pyramid,Testing Pyramid>>
43+
====
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
= Fagan-Inspektion
2+
:categories: testing-quality
3+
:roles: software-developer, qa-engineer, software-architect, team-lead
4+
:related: mutation-testing, testing-pyramid
5+
:proponents: Michael Fagan
6+
:tags: code-review, inspection, defect-detection, formal-review, static-analysis
7+
8+
[%collapsible]
9+
====
10+
Auch bekannt als:: Formale Code-Inspektion, Software-Inspektion, Fagan's Inspektionsmethode
11+
12+
[discrete]
13+
== Kernkonzepte:
14+
15+
Formaler Inspektionsprozess:: Ein strukturierter, mehrphasiger Prüfprozess für Software-Artefakte (Anforderungen, Design, Code) mit definierten Rollen und Ein-/Ausstiegskriterien
16+
17+
Rollen:: Moderator (leitet und protokolliert), Autor (hat das Artefakt erstellt), Inspektoren (Prüfer), Protokollant (dokumentiert Defekte)
18+
19+
Sechs Phasen:: Planung → Übersicht → Vorbereitung → Inspektionssitzung → Nachbearbeitung → Nachverfolgung
20+
21+
Ein- und Ausstiegskriterien:: Explizite Bedingungen, die vor dem Eintritt in und Austritt aus jeder Phase erfüllt sein müssen, um vorzeitiges Voranschreiten zu verhindern
22+
23+
Fehlerklassifikation:: Fehler werden nach Typ (fehlend, falsch, überflüssig) und Schweregrad kategorisiert, um Prozessverbesserungen durch Ursachenanalyse zu ermöglichen
24+
25+
Kennzahlengetrieben:: Inspektionsdaten (Fehlerrate, Inspektionsrate) werden gesammelt und zur Verbesserung sowohl des Produkts als auch des Inspektionsprozesses genutzt
26+
27+
Schlüsselvertreter:: Michael Fagan ("Design and Code Inspections to Reduce Errors in Program Development", IBM Systems Journal, 1976)
28+
29+
[discrete]
30+
== Wann zu verwenden:
31+
32+
* Sicherheitskritische oder qualitätsintensive Software, bei der das Entweichen von Fehlern kostspielig ist
33+
* Frühe Überprüfung von Anforderungen, Architektur, Design oder Code-Artefakten
34+
* Aufbau einer Qualitätskultur und gemeinsamen Code-Verantwortung im Team
35+
* Wenn messbare, prozessbasierte Qualitätsverbesserung über die Zeit angestrebt wird
36+
* Regulierte Umgebungen (Medizinprodukte, Luftfahrt, Finanzen), die dokumentierte Prüfnachweise erfordern
37+
38+
[discrete]
39+
== Verwandte Anker:
40+
41+
* <<mutation-testing,Mutation Testing>>
42+
* <<testing-pyramid,Testing Pyramid>>
43+
====

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,11 @@ Source: https://github.com/LLM-Coding/Semantic-Anchors
3838
### Property-Based Testing
3939
- **Core:** Test properties/invariants with generated inputs (QuickCheck, Hypothesis)
4040

41+
### Fagan Inspection
42+
- **Also known as:** Formal Code Inspection, Software Inspection
43+
- **Proponents:** Michael Fagan
44+
- **Core:** Structured six-phase review process (Planning, Overview, Preparation, Inspection Meeting, Rework, Follow-up) with defined roles (Moderator, Author, Inspectors, Recorder), entry/exit criteria, and metrics-driven defect classification
45+
4146
### IEC 61508 SIL Levels
4247
- **Proponents:** International Electrotechnical Commission
4348
- **Core:** Safety integrity levels for safety-critical systems

website/public/data/anchors.json

Lines changed: 39 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@
303303
},
304304
{
305305
"id": "devils-advocate",
306-
"title": "Devil’s Advocate",
306+
"title": "Devil\u2019s Advocate",
307307
"categories": [
308308
"problem-solving"
309309
],
@@ -320,7 +320,7 @@
320320
},
321321
{
322322
"id": "diataxis-framework",
323-
"title": "Diátaxis Framework",
323+
"title": "Di\u00e1taxis Framework",
324324
"categories": [
325325
"documentation"
326326
],
@@ -335,7 +335,7 @@
335335
},
336336
{
337337
"id": "docs-as-code",
338-
"title": "Docs-as-Code according to Ralf D. Müller",
338+
"title": "Docs-as-Code according to Ralf D. M\u00fcller",
339339
"categories": [
340340
"documentation"
341341
],
@@ -368,7 +368,7 @@
368368
},
369369
{
370370
"id": "dry-principle",
371-
"title": "DRY (Don’t Repeat Yourself)",
371+
"title": "DRY (Don\u2019t Repeat Yourself)",
372372
"categories": [
373373
"design-principles"
374374
],
@@ -446,6 +446,34 @@
446446
"tags": [],
447447
"filePath": "docs/anchors/feynman-technique.adoc"
448448
},
449+
{
450+
"id": "fagan-inspection",
451+
"title": "Fagan Inspection",
452+
"categories": [
453+
"testing-quality"
454+
],
455+
"roles": [
456+
"software-developer",
457+
"qa-engineer",
458+
"software-architect",
459+
"team-lead"
460+
],
461+
"related": [
462+
"mutation-testing",
463+
"testing-pyramid"
464+
],
465+
"proponents": [
466+
"Michael Fagan"
467+
],
468+
"tags": [
469+
"code-review",
470+
"inspection",
471+
"defect-detection",
472+
"formal-review",
473+
"static-analysis"
474+
],
475+
"filePath": "docs/anchors/fagan-inspection.adoc"
476+
},
449477
{
450478
"id": "five-whys",
451479
"title": "Five Whys (Ohno)",
@@ -509,7 +537,7 @@
509537
"tdd-london-school"
510538
],
511539
"proponents": [
512-
"Aslak Hellesøy"
540+
"Aslak Helles\u00f8y"
513541
],
514542
"tags": [
515543
"gherkin",
@@ -1284,9 +1312,9 @@
12841312
"morphological-box"
12851313
],
12861314
"proponents": [
1287-
"Jörg Becker",
1315+
"J\u00f6rg Becker",
12881316
"Michael Rosemann",
1289-
"Rolf Schütte"
1317+
"Rolf Sch\u00fctte"
12901318
],
12911319
"tags": [
12921320
"modeling",
@@ -1411,7 +1439,7 @@
14111439
},
14121440
{
14131441
"id": "lasr",
1414-
"title": "LASR according to Toth/Zörner",
1442+
"title": "LASR according to Toth/Z\u00f6rner",
14151443
"categories": [
14161444
"software-architecture"
14171445
],
@@ -1429,7 +1457,7 @@
14291457
],
14301458
"proponents": [
14311459
"Stefan Toth",
1432-
"Stefan Zörner"
1460+
"Stefan Z\u00f6rner"
14331461
],
14341462
"tags": [
14351463
"architecture-documentation",
@@ -2262,7 +2290,7 @@
22622290
},
22632291
{
22642292
"id": "yagni",
2265-
"title": "YAGNI (You Aren’t Gonna Need It)",
2293+
"title": "YAGNI (You Aren\u2019t Gonna Need It)",
22662294
"categories": [
22672295
"design-principles"
22682296
],
@@ -2289,4 +2317,4 @@
22892317
],
22902318
"filePath": "docs/anchors/yagni.adoc"
22912319
}
2292-
]
2320+
]

0 commit comments

Comments
 (0)