Kolumne: Knigge für Softwarearchitekten

Der Entscheider


Nachdem wir in der vorigen Folge die Unsitte des Verschätzens angeprangert haben, möchten wir heute das Thema Entscheidungen angehen. Das Entwicklungsteam muss ein GUI-Framework auswählen, mit dem die Benutzeroberfläche zukünftig entwickelt werden soll. Die Manager fragen, welche Hardware sie einkaufen sollen. Die Architekten müssen bestimmen, welches Protokoll zwischen den Serverkomponenten gesprochen werden soll. Schließlich kommt die Konzernsicherheit und verlangt eine Entscheidung zum Thema Authentifizierung mit SAML oder OAuth. Fragen über Fragen, und alle liegen bei den Softwarearchitekten auf dem Tisch.

Stefan Zörner hat unter [1] einen pragmatischen Ratgeber für Entscheidungen und deren Dokumentation vorgestellt, auf dem wir hier aufsetzen. Entscheidungen bilden das Grundgerüst aller Entwürfe, sie gehören untrennbar zu Softwarearchitekturen dazu.

hruschka_kolumne_abb_1.tif_fmt1.jpg Abb. 1: Struktur von Entscheidungen

Was ist das Problem?

Zuerst klären Sie möglichst genau die Fragestellung oder das Problem, zu der/dem etwas entschieden werden muss. Welche Anforderungen gelten? Unter welchen Rahmenbedingungen müssen Sie entscheiden? Was sind Ihre Entscheidungskriterien? Schreiben Sie diese Kriterien in eine Tabelle, dann können Sie daneben direkt die Wichtigkeit oder Priorität jedes Kriteriums vermerken.

Zwischen Alternativen entscheiden

Wir treffen in IT-Projekten in der Regel Entscheidungen zwischen mehreren Alternativen. Wenn Sie sich also für MySQL als Datenbank entscheiden, so entscheiden Sie sich gleichzeitig gegen die Alternativen Postgres und SQLite. Vor jeder Entscheidung sollten Sie daher die möglichen Alternativen aussuchen und einzeln hinsichtlich sämtlicher Entscheidungskriterien bewerten oder einschätzen. Falls Sie dabei Annahmen treffen müssen oder Ihre Einschätzungen für unsicher halten, dann vermerken Sie dies ausdrücklich!

Entscheidungen treffen und begründen

Bisher haben Sie die Entscheidung lediglich vorbereitet, der oder die Entscheider muss bzw. müssen auf Basis der gesammelten Anforderungen und Einschätzungen nun entscheiden. Stellen Sie eine Matrix mit Alternativen und Kriterien auf und diskutieren Sie mit den Stakeholdern über Bewertungen, Einschätzungen, Vor- und Nachteile sowie Risiken. Dadurch können Sie a priori das gemeinsame Verständnis der Alternativen und ihrer Auswirkungen verbessern. So vorbereitet sollten Sie (oder andere Entscheider) nun die eigentliche Entscheidung treffen können. Für jede Entscheidung haben Entscheider immer Gründe, und genau ...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang