Problem – Analyse – Lösung

Im Entwickleralltag trifft man auf die unterschiedlichsten Probleme. Manche dieser Probleme sind einfach, andere schwierig zu lösen. Ein strukturiertes Vorgehen hilft in jedem Fall!

In Pocket speichern vorlesen Druckansicht 5 Kommentare lesen
Lesezeit: 3 Min.
Von
  • Michael Keller
Inhaltsverzeichnis

Im Entwickleralltag trifft man auf die unterschiedlichsten Probleme. Manche dieser Probleme sind einfach, andere schwierig zu lösen. Ein strukturiertes Vorgehen hilft in jedem Fall!

Ein Arbeitstag ist voll von kleinen und großen Problemen. Neudeutsch: Herausforderungen. Manche sind technischer Natur, andere sind fachlich oder organisatorisch motiviert. Grundsätzlich sollte man zunächst feststellen, ob es sich tatsächlich um ein Problem handelt. Diese Einstufung ist nämlich sehr subjektiv. Was für den einen ein Problem ist, ist für den anderen normal. Sprichwörtlich gelebte Realität und damit eben kein Problem. Falls doch, stellt sich automatisch die Frage nach der Dringlichkeit. Aus eigener Erfahrung: Dringliche Probleme sollte man nicht aufschieben. Je nach Situation besteht sonst die Gefahr, Folgeprobleme zu erzeugen. Deren Ausmaß kann im Vorfeld gar nicht abschätzbar sein. Also lieber gleich an die Lösung. Dabei hilft ein strukturiertes Vorgehen in drei Schritten:

  1. Problem
  2. Analyse
  3. Lösung

Zunächst beschäftigt man sich intensiv mit dem Problem. Hilfreich ist eine Definition, was das Problem ist (oder auch nicht ist). Auf jeden Fall sollte man es deutlich beschreiben können. Das ist insbesondere dann wichtig, wenn man die weiteren Schritte wie Analyse und Lösung nicht selbst durchführt. Die Beschreibung sollte unterschiedliche Aspekte enthalten. In welchem Zusammenhang tritt das Problem wann und wo auf? Ist es reproduzierbar? Falls ja, welche Schritte sind dazu notwendig. Welche Auswirkungen ergeben sich? Wie bereits angemerkt: Eine intensive Auseinandersetzung mit dem Problem lohnt sich. Ein gutes Zeichen ist, wenn man das Problem anderen Menschen erläutern kann.

Während der Analyse geht es um die Ursache des Problems. Wodurch wurde es ausgelöst? Das Verstehen der auslösenden Faktoren beziehungsweise gleichzeitig erfüllten Bedingungen ist ein wichtiger Meilenstein auf dem Weg zur Lösung. Meiner Erfahrung nach gibt es hier nur eins: Das Problem auf der niedrigsten Stufe, beispielsweise per Debugging, zu verstehen. Falls notwendig kann man die Zusammenhänge auf einer wesentlich höheren und damit abstrakteren Ebene visualisieren. Das ist dann ein guter Einstiegspunkt für Diskussionen mit Kollegen. Allgemein gilt während der Analyse, dass Vermutungen hinsichtlich der Problemursache durch Zahlen, Daten und Fakten belegt oder widerlegt werden müssen. Unbelegte Behauptungen, Vermutungen und auch Bauchgefühle dürfen lediglich als Annahmen gelten, die auf den Prüfstand gehören.

Auf Basis der Analyse können Lösungsvorschläge erarbeitet werden. Dabei sollten je nach Komplexität des Problems bewusst unterschiedliche Lösungswege geprüft werden. Manche Wege ergeben nur in ihrer Kombination die letztliche, sinnvolle Lösung. Andererseits können Probleme mit einer eindeutigen Ursache auch eine eindeutige Lösung bedingen. Das ist zum Beispiel dann der Fall, wenn in der Programmierung eine Abfrage falsch konstruiert wurde. Da bleibt nicht viel Spielraum. Stehen mehrere Lösungen zur Auswahl, muss man sich entscheiden. Die Bewertung sollte anhand technischer, fachlicher und organisatorischer Aspekte erfolgen. Im Alltag ist es meist eine Kombination aus Zeit und Budget, die den Ausschlag gibt.

Wem die drei Schritte nicht ausreichen, kann natürlich weitere Schritte einfügen. Vor der Lösung kann zum Beispiel das Erarbeiten der Lösungsmöglichkeiten kommen. Nach der Lösung kann ein weiterer Schritt wie die Umsetzung hinzugefügt werden. Das Vorgehensmodell ist da offen und jeder kann es sich gestalten, wie er sich damit wohlfühlt.

In diesem Sinne, bleibt gesund und strukturiert
euer Michael ()