Skip to content

Commit 0072493

Browse files
authored
Merge pull request #184 from LLM-Coding/copilot/add-fagan-inspection-anchor
Add Fagan Inspection semantic anchor
2 parents 9d09cfb + 5f876af commit 0072493

4 files changed

Lines changed: 129 additions & 10 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: 38 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@
291291
},
292292
{
293293
"id": "devils-advocate",
294-
"title": "Devil’s Advocate",
294+
"title": "Devil\u2019s Advocate",
295295
"categories": [
296296
"problem-solving"
297297
],
@@ -309,7 +309,7 @@
309309
},
310310
{
311311
"id": "diataxis-framework",
312-
"title": "Diátaxis Framework",
312+
"title": "Di\u00e1taxis Framework",
313313
"categories": [
314314
"documentation"
315315
],
@@ -325,7 +325,7 @@
325325
},
326326
{
327327
"id": "docs-as-code",
328-
"title": "Docs-as-Code according to Ralf D. Müller",
328+
"title": "Docs-as-Code according to Ralf D. M\u00fcller",
329329
"categories": [
330330
"documentation"
331331
],
@@ -426,6 +426,34 @@
426426
"filePath": "docs/anchors/feynman-technique.adoc",
427427
"tier": 3
428428
},
429+
{
430+
"id": "fagan-inspection",
431+
"title": "Fagan Inspection",
432+
"categories": [
433+
"testing-quality"
434+
],
435+
"roles": [
436+
"software-developer",
437+
"qa-engineer",
438+
"software-architect",
439+
"team-lead"
440+
],
441+
"related": [
442+
"mutation-testing",
443+
"testing-pyramid"
444+
],
445+
"proponents": [
446+
"Michael Fagan"
447+
],
448+
"tags": [
449+
"code-review",
450+
"inspection",
451+
"defect-detection",
452+
"formal-review",
453+
"static-analysis"
454+
],
455+
"filePath": "docs/anchors/fagan-inspection.adoc"
456+
},
429457
{
430458
"id": "five-whys",
431459
"title": "Five Whys (Ohno)",
@@ -491,7 +519,7 @@
491519
"tdd-london-school"
492520
],
493521
"proponents": [
494-
"Aslak Hellesøy"
522+
"Aslak Helles\u00f8y"
495523
],
496524
"tags": [
497525
"gherkin",
@@ -1298,9 +1326,9 @@
12981326
"morphological-box"
12991327
],
13001328
"proponents": [
1301-
"Jörg Becker",
1329+
"J\u00f6rg Becker",
13021330
"Michael Rosemann",
1303-
"Rolf Schütte"
1331+
"Rolf Sch\u00fctte"
13041332
],
13051333
"tags": [
13061334
"modeling",
@@ -1431,7 +1459,7 @@
14311459
},
14321460
{
14331461
"id": "lasr",
1434-
"title": "LASR according to Toth/Zörner",
1462+
"title": "LASR according to Toth/Z\u00f6rner",
14351463
"categories": [
14361464
"software-architecture"
14371465
],
@@ -1449,7 +1477,7 @@
14491477
],
14501478
"proponents": [
14511479
"Stefan Toth",
1452-
"Stefan Zörner"
1480+
"Stefan Z\u00f6rner"
14531481
],
14541482
"tags": [
14551483
"architecture-documentation",
@@ -2543,7 +2571,7 @@
25432571
},
25442572
{
25452573
"id": "yagni",
2546-
"title": "YAGNI (You Aren’t Gonna Need It)",
2574+
"title": "YAGNI (You Aren\u2019t Gonna Need It)",
25472575
"categories": [
25482576
"design-principles"
25492577
],
@@ -2571,4 +2599,4 @@
25712599
"filePath": "docs/anchors/yagni.adoc",
25722600
"tier": 1
25732601
}
2574-
]
2602+
]

0 commit comments

Comments
 (0)