Immer häufiger hört man in den Service-Centern von Unternehmen, dass irgend etwas nicht ginge, weil die Software es nicht zulässt. Der Kunde hat einen Wunsch, aber die Software verbietet, dass er erfüllt wird. Er hat noch nicht alle Daten für den Auftrag zusammen. Er will eine spezielle Auskunft haben. Er bittet, eine zusätzliche Telefonnummer zu notieren, die bei der Lieferung gewählt werden soll.
In der Anforderungsanalyse werden die Geschäftsprozesse oft aus Idealsituationen heraus beschrieben, genauer gesagt, es werden die Notwendigkeiten beschrieben, die, wie wir glauben, in der Sache selbst liegen, die Sachzwänge. Um einen Auftrag abarbeiten zu können, benötigt man bestimmte Kundendaten, diese Daten sind in der Datenbank Pflichtfelder. Werden sie nicht gefüllt, dann kann der Auftrag nicht angelegt werden.
Hat also der Kunde eine Detailinformation nicht zur Hand, dann wird die ganze Bestellung nicht ausgelöst. Software macht, wenn sie so programmiert ist, das Leben nicht einfacher, sondern bürokratischer. Online-Portale erscheinen heute oft auf den ersten Blick kundenfreundlich, aber unter der Oberfläche lauert in der Software kein Freund und Helfer, sondern ein Bürokrat.
Softwareentwickler schaffen formale Lösungen für Probleme, die oft formal nicht beschreibbar sind. Nur der Idealfall passt zur Software. Aber damit fordert die Technik, dass die Wirklichkeit sich ihren Idealprozessen anzupassen habe – und eigentlich war es doch umgekehrt gedacht, eigentlich wollten wir Softwarehersteller das Leben doch vereinfachen, statt es durch starre Vorgaben und Zwänge an die Leine zu nehmen.
Die Alternative besteht nicht einfach in einem schlichten “Weniger Muss – mehr Kann!”. Wir müssen in die Konzeption unserer Lösungen schon ein wenig mehr Nachsichtigkeit mit Anwendern und Betroffenen stecken. Statt simpler Muss-Felder eher Sicherheitshinweise, dass bestimmte Informationen noch gebraucht werden. Genau überlegen, welche Daten zwingend benötigt werden, welche anderen Informationen hingegen nachgeliefert werden können. Größere Notizfelder, die auf Aufträgen und Lieferscheinen auch zu sehen sind. Am Ende haben doch immer lebendige Menschen mit dem Geschäftsprozess zu tun, die können denken und lesen, auf deren Klugheit können wir vertrauen.
Wird die Software auf diese Weise teurer? Das ist nicht so einfach zu beantworten. Eine Standarddatenbankprüfung eines Muss-Feldes mit einer nichts-sagenden Fehlermeldung ist natürlich schnell programmiert, die kann sogar schon im Framework eingebaut sein. Legt man auf mehr Benutzerfreundlichkeit wert, so muss man jeden Fall ohnehin einzeln bedenken, spezifizieren und implementieren. Beachtet man zudem, dass Benutzerzufriedenheit ein wesentliches Qualitätsmerkmal ist, dann ist es in jedem Fall ökonomisch, diese Zufriedenheit und die der anderen Betroffenen im Blick zu behalten. Der höhere Aufwand bei der Anforderungsanalyse zahlt sich am Ende aus.
Es ist jedoch vor allem eine Frage der Sichtweise, die alle Entwicklungsbeteiligten einnehmen: Betrachten wir einen Idealzustand, oder wollen wir die reale Welt der Softwarebenutzer besser gestalten? Wenn man sich bei Designentscheidungen diese Frage immer wieder stellt, dann wird man auch Lösungen finden, welche die Benutzer in realen Situationen nicht beschränken, sondern unterstützen.