Wissenswerte

Wissenswerte

Am meisten Energie vergeudet der Mensch mit der Lösung von Problemen, die niemals auftreten werden.
William Somerset Maugham

Ich mag jetzt nicht behaupten, dass diese Aussage sich direkt auf alle Belange der Software-Entwicklung übertragen lässt. Aus persönliche Erfahrung in einem großen Unternehmen kann ich sie aber teilweise bestätigen. Speziell bei der Anforderungsanalyse in Software-Projekten einer gewissen Größe (> 20 Mitarbeiter) beobachte ich immer wieder, dass in so großen Organisationen einzelne Business-Analysten aus verschiedenen Gründen versuchen, ein ihnen gestelltes Problem vollkommen zu verstehen. Was an und für sich nicht verwerflich ist.

Bei dem Versuch, zum Problem eine perfekte Lösung zu finden, schießen sie aber regelmäßig über das Ziel hinaus. Sie versuchen, jeden Sonderfall zu entdecken, spielen alle denkbaren Kombinationen durch. Sie gehen dabei manchmal so weit, dass sie auch theoretische Szenarien betrachten, bei denen es sich herausstellt, dass sie mit realen Daten im produktiven Einsatz niemals auftreten oder nicht relevant sind für die Nutzer. Bei diesem Vorgehen vergeben sie die Chance, durch schrittweises Lernen und Austausch im Team oder mit den Nutzern einfacher ans Ziel zu kommen.

Natürlich kann es ein echtes Problem sein, wenn Sonderfälle die Stabilität einer Anwendung gefährden. Aber an dieser Stelle können wir auch das Team in die Pflicht nehmen, für ein robustes System zu sorgen. Ein paar sehr gute Ansätze dafür stehen im reaktiven Manifest. Ein robustes System gibt uns den Spielraum, den wir brauchen, damit wir uns mit den wichtigsten Funktionen zuerst beschäftigen können, ohne die Stabilität des Systems und die Akzeptanz bei den Nutzern zu gefährden.