Der Hase und der Baum

Der Pragmatische Architekt  –  1 Kommentare

"What you want is what you get" kann sich im Softwareengineering als falsche Strategie entpuppen. Manchmal ist "What you need is what you get" die bessere Alternative.

Es ist zum Mäusemelken. Herr K. berichtet der KFZ-Werkstatt erregt über sein Ärgernis. Er ist tagtäglich auf einer serpentinenreichen Landstraße unterwegs. In einem unübersichtlichen Streckenteil hoppelt jedes Mal dieser verdammte Hase über die Straße. Da K. Tiere liebt, weicht er instinktiv aus, was bei nassem Fahrbahnbelag dazu führt, dass er unweigerlich ins Rutschen gerät und einen Baum touchiert. Für Schäden an Stoßstange und Karosserie hat er bereits ein halbes Vermögen ausgegeben. Werkstattmeister M. nickt verständnisvoll: "Was kann ich da für Sie tun?", worauf K. umgehend erwidert, "Könnten Sie mir nicht eine zusätzliche Knautschzone an Stoßstange und Karosserie montieren?"

Wir wissen nicht, was der Meister empfiehlt. Wir empfehlen ABS.

Was hat das Ganze mit Softwarearchitektur zu tun? Der Kunde definiert eine Anforderung, die bereits eine vermeintliche Lösung beschreibt. In Wirklichkeit benötigt er allerdings eine völlig andere Lösung. Der Auftragnehmer sollte daher stets kritisch hinterfragen, ob er dem Auftraggeber das gibt, was er will, oder das, was er wirklich braucht. Allerdings ist der Unterschied nicht immer so offensichtlich wie im vorliegenden Fall.

Anforderungen mit Bezug auf den Lösungsraum sind in Ordnung, sofern der Auftraggeber dafür triftige technische Gründe hat. Gefährlich sind aber Bezüge auf den Lösungsraum, falls sie von Auftraggebern mit wenig technischem Know-how stammen.