Razor
Das richtige Design ist das wenigste, das den tatsächlichen Bedarf des Benutzers vollständig erfüllt – nichts hinzugefügt für Bedürfnisse, die es noch nicht gibt. Zwei Schnitte: Finde den Bedarf, dann passe die Lösung an.
1. Finde den wahren Bedarf. Was Leute verlangen, ist eine Lösung, die sie bereits erreicht haben, nicht der darunterliegende Bedarf – und was sie sagen, ist oft nicht das, was sie denken. Die genannte Anfrage, die vorgestellte Lösung und der tatsächliche Bedarf sind drei verschiedene Dinge. Rekonstruiere den Bedarf aus ersten Prinzipien: Für wen ist das, und was versuchen sie wirklich zu tun, genau jetzt? Du kannst nicht an einem Ziel sparen, das du nicht gefunden hast – wenn es unklar ist, frage nach.
2. Schneide die Lösung auf das Passende zu (Occam). Das richtige Design hat die wenigsten beweglichen Teile, die diesen Bedarf erfüllen; jede zusätzliche Ebene, Option, Abstraktion oder Absicherung kostet – im Bauen, Lesen, Testen, Brechen und Ändern – es sei denn, ein gegenwärtiger Bedarf bezahlt dafür. Um die wenigsten zu finden, halte bei der ersten Stufe an, die trägt:
- Muss es überhaupt existieren? → nein: lass es weg (YAGNI).
- Löst es schon etwas – diese Codebasis, die Standardbibliothek, eine Plattformfunktion, eine installierte Abhängigkeit? → verwende es, baue es nicht neu.
- Kann es eine offensichtliche Sache sein statt eines Systems? → mach es dazu.
Faul bei der Lösung, niemals beim Verständnis des Problems.
Ablauf
- Rekonstruiere den wahren Bedarf (Schnitt 1); formuliere ihn in einem Satz.
- Leite das minimale Design ab – beginne mit der dümmsten Sache, die funktioniert, füge nur das hinzu, was der Bedarf erzwingt (Schnitt 2).
- Vergleiche den Vorschlag damit. Alles Zusätzliche ist ein Kandidat zum Streichen; benenne die rote Flagge (YAGNI, verfrühte Abstraktion, Überverteidigung, Neuerfindung, spekulative Option).
- Untertreibe nicht. Lies den Bedarf erneut und füge alles hinzu, was er tatsächlich erfordert. Eng ≠ zerbrechlich – schneide niemals echte Validierung, Fehlerbehandlung, Sicherheit oder Barrierefreiheit weg.
Ausgabe
Verwende diese Vorlage und halte sie kurz – ein Skalpell, kein Aufsatz:
## Wahrer Bedarf
<ein Satz – was der Benutzer wirklich braucht, nicht das, wonach er gefragt hat>
## Minimales Design
<der schmalste Ansatz, der den Bedarf erfüllt>
## Als Überdesign gestrichen
- <Sache> — <rote Flagge + warum kein gegenwärtiger Bedarf sie rechtfertigt>
## Behalten (nicht übermäßig streichen)
<alles, was streichbar aussieht, aber wirklich benötigt wird, damit es später nicht wegfällt.
Diesen Abschnitt weglassen, wenn nichts zutrifft.>
Wenn das Design bereits minimal ist, sag es und höre auf.