Produktgrundlagen · Einsteiger

Eine Spezifikation schreiben, die Entwickler wirklich lesen

In einem Satz: Eine gute Spezifikation beschreibt Verhalten und Abnahmekriterien, keine Designentwürfe — und ihr Umfang misst sich in Seiten, nicht in Dutzenden.

Was hineingehört und was nicht

Eine Spezifikation, die jedes Pixel beschreibt, wird nach zwei Wochen von niemandem mehr gepflegt. Eine, die nur eine Vision beschreibt, erzeugt zwanzig Rückfragen am Tag. Der Punkt dazwischen: pro Fähigkeit — wer sie nutzt, was auf dem Normalweg passiert, was bei einem Fehler passiert, und unter welcher Bedingung sie als fertig gilt.

Abnahmekriterien ersparen die meisten Diskussionen. „Die Nutzerin erhält innerhalb einer Minute eine Benachrichtigung“ ist ein Kriterium; „der Vorgang soll schnell sein“ ist ein Wunsch.

Abläufe beschreiben, keine Bildschirme

Beschreiben Sie den Ablauf als Folge: Ausgangszustand, Aktion, Ergebnis. Danach die Fehlerpfade — keine Verbindung, Abbruch mittendrin, defekte Datei, verweigerte Berechtigung. In realen Projekten sind Fehlerpfade die Hälfte der Arbeit und ein Viertel der Spezifikation.

Bildschirme werden neu gestaltet, Abläufe bleiben. Deshalb wird das Design aus der Spezifikation verlinkt und nicht in sie eingebettet.

Der Teil, den alle überspringen

Halten Sie ausdrücklich fest, was außerhalb des Umfangs dieser Version liegt. Eine „Nicht jetzt“-Liste ist ein Steuerungsinstrument, keine Entschuldigung: Sie erlaubt „richtig, und das kommt als Nächstes“ statt einer Neuauflage der Debatte in jeder Sitzung.

Ergänzen Sie die Annahmen, auf die Sie sich stützen. Eine aufgeschriebene Annahme ist ein gesteuertes Risiko; eine ungeschriebene ist eine Überraschung.

Im Detail

Halten Sie die Spezifikation nah am Code — im Repository, unter Versionskontrolle, mit Änderungshistorie. Ein Dokument auf einem gemeinsamen Laufwerk altert lautlos. Einheitlich formulierte Abnahmekriterien werden direkt zur Testliste, und genau das macht aus einer Spezifikation ein Arbeitswerkzeug.