Читать книгу API-Design - Kai Spichale - Страница 39

3.3Anforderungen herausarbeiten

Оглавление

Bevor man über eine mögliche Lösung nachdenken kann, muss man erst einmal wissen und verstehen, wie die Anforderungen lauten. Systematisch ermittelte Anforderungen minimieren das Risiko, das falsche System zu bauen. Anforderungen sind häufig verborgen unter mehreren Schichten aus falschen Annahmen, Missverständnissen und politischen Entscheidungen. Anforderungen können nicht einfach eingesammelt werden, sie müssen ausgegraben werden [Hunt & Thomas 1999].

Vorgaben kritisch hinterfragen

Anforderungen sind noch keine Lösungen, wenngleich vermeintliche »Anforderungen« implizite technische Lösungen oder Einschränkungen enthalten können. Diese Vorgaben müssen kritisch hinterfragt werden, um bessere technische Lösungen finden zu können.

Anforderungen verständlich und genau formulieren

Anforderungen sollten einfach und verständlich formuliert sein, um Missverständnisse von vornherein zu vermeiden. Genauigkeit ist ebenfalls wichtig: Eine Aussage wie »Die Schnittstelle muss intuitiv und einfach verständlich sein« ist nicht hilfreich, weil »intuitiv« nicht quantifizierbar ist. Die Anforderung »Die Schnittstelle muss fehlerfrei sein« ist nicht realisierbar, denn nicht triviale Software enthält immer Fehler. Auch Anforderungen wie »Die Software läuft mit der neuesten Java-Version« sind zu ungenau, weil beispielsweise nicht klar ist, ob das SDK oder das JRE gemeint ist.

Kompromisse fair verteilen

Kompromisse müssen gemacht werden, wenn Anforderungen unterschiedlicher Benutzergruppen in Konflikt zueinander stehen. Es ist empfehlenswert, in solchen Fällen die Abstriche gleichmäßig auf alle Benutzer zu verteilen, sodass jeder eine Lösung erhält, mit der er arbeiten kann, obwohl sie für niemanden perfekt ist [Bloch 2006].

Mit wenigen Seiten anfangen

Den Entwurf einer API sollte man mit einem Umfang von zunächst nur wenigen Seiten beginnen. Denn nicht jeder Kollege, den man um Feedback bittet, hat Zeit und Lust ein hundertseitiges Dokument zu lesen. Ein kurzer Entwurf kann außerdem auch leichter verändert werden. Agilität ist am Anfang wichtiger als Vollständigkeit.

API-Design

Подняться наверх