Engineering Kiosk Episode #229 Fragestellung XY-Problem

#229 Fragestellung XY-Problem

Diese Episode in deiner Podcast-App hören...

Shownotes / Worum geht's?

XY-Problem: Frag nicht nach deiner Lösung, sondern erklär das Problem.

Im Engineering-Kiosk-Adventskalender 2025 sprechen befreundete Podcaster⋅innen und wir selbst, Andy und Wolfi, jeden Tag kurz & knackig innerhalb weniger Minuten über ein interessantes Tech-Thema.

Unsere aktuellen Werbepartner findest du auf https://engineeringkiosk.dev/partners

Das schnelle Feedback zur Episode:

👍 (top) 👎 (geht so)

Anregungen, Gedanken, Themen und Wünsche

Dein Feedback zählt! Erreiche uns über einen der folgenden Kanäle …

Unterstütze den Engineering Kiosk

Wenn du uns etwas Gutes tun möchtest … Kaffee schmeckt uns immer 

Sprungmarken

(00:00:00) XY-Problem

Hosts

Community

Diskutiere mit uns und vielen anderen Tech-Spezialist⋅innen in unserer Engineering Kiosk Community unter https://engineeringkiosk.dev/join-discord

 

Transkript

Das Transkript wurde automatisiert per Speech-to-Text erstellt und kann daher Fehler enthalten.

Wolfi Gassler (00:00:03 - 00:00:26) Teilen

Willkommen zum Engineering Kiosk Adventkalender oder für unsere deutschen Hörer innen Adventskalender. So viel Zeit muss hier noch sein, vor allem in dieser ruhigen Adventszeit. Da haben wir Zeit für Wissen, Sinnvolles, aber auch weniger Sinnvolles. Und was sich Andi für dieses Türchen ausgedacht hat, mit welchem Wissen er jetzt um die Ecke biegen wird, das hört ihr gleich. Also zurücklehnen, Lauscher auf und los geht's.

Andy Grunwald (00:00:27 - 00:09:12) Teilen

Kommunikation ist schwierig. Kommunikation ist super hart. Nachrichten können falsch verstanden werden, die falsche Nachricht kann kommuniziert werden und so weiter und so fort. Und dabei spreche ich noch nicht mal von verbaler Kommunikation versus geschriebener Kommunikation. Ich denke auf jeden Fall, wir haben alle irgendwie so ein Beispiel aus den letzten vier und zwanzig Stunden vor Augen, wo man sagen könnte jupp, Kommunikation ist hart. Deswegen habe ich mir Ich spreche mal über Kommunikation. Genauer gesagt über ein Kommunikationsproblem. Und noch Wir sprechen jetzt mal über das XY Problem. Das XY Problem ist ein bekanntes Problem aus der Textszene. Man könnte es beschreiben. Der Hilfesuchende fragt dabei nicht nach dem eigentlichen Problem, nennen wir es Problem X, sondern nach einer selbstgewählten Lösungsmethode Y. Man fragt Wie mache ich Y, obwohl man Wirklichkeit X erreichen möchte? Okay, Definition hin oder her. Lass uns mal zur Praxis kommen. Lass uns mal ein paar Beispiele durchspielen. Stell dir vor, du hast einen Chatraum und da kommt jemand rein und Wie kann ich die letzten drei Zeichen eines Dateinamens auslesen? Du springst da drauf und warum ausgerechnet drei Zeichen? Geht es dir um die Dateiendung? Die Person sagt ja ganz genau. Okay, dir wird relativ schnell klar, hier ist gegebenenfalls ein Problem. Du könntest sowas sagen, Alles klar, pass auf, nicht jede Datei hat eine dreibuchstabige Endung. Zum Beispiel Markdown hat, was zwei Buchstaben sind und dann gibt es auch noch JPEG, JPEG, was dann vier Endungen sind. Also drei Zeichen abschneiden, löst dein Problem also nicht. Und in diesem Moment merkst du schon, dass die hilfesuchende Person merkt uh, okay, eine bessere Frage wäre initial gewesen, wie bekomme ich die Dateiendung? Dann hättest du wahrscheinlich sofort den Shell Befehl parat gehabt und beide hätten viel Zeit gespart. Ein anderes Beispiel ist das Parsen von URLs aus HTML. Stell dir vor, da kommt wieder jemand in den Chat und fragt Hat jemand einen regulären Ausdruck, um alle Links aus HTML zu finden. Eine Frage wäre ich könnte dir auch regulären Ausdruck bauen, aber sag doch mal, was willst du denn genau erreichen? Nach ein bisschen Hin und Her stellt sich heraus, die Person braucht schlichtweg eine Liste aller Links von einer HTML Seite. Und jeder, der das schon mal versucht hat, weiß eigentlich ganz genau, HTML mit regulären Ausdrücken zu parsen. Das ist ein Rezept, was irgendwie nur schiefgehen kann. Da sollte man eher einen ordentlichen HTML Parser nutzen, um wirklich, ich sag mal, qualitative Ergebnisse zu kriegen. Hättest du also nicht nach dem Warum gefragt, dann wäre das wahrscheinlich in einer komplizierten Regex Frickelei geendet. Und wo möglicherweise hättest du dann später mehr Probleme, als du eigentlich initial hattest. Dieses Pattern, das kannte ich selbst auch noch aus meiner Agenturzeit, denn speziell in der Agentur hat man sehr viel Kundenkontakt und oft hat man mit Kunden zu tun, okay, die kommen dann sofort mit der Lösung Y, obwohl eigentlich X dabei ist. Klassischer Fall ist eigentlich ja, wir brauchen ein E Mail Formular, was anhand eines Dropdown Felds dann E Mails versendet. Und dann fragst du okay, was ist denn eigentlich das Ziel? Und das Ziel ist eigentlich eine automatisch digitale Anbindung an irgendein Fremdsystem. Also das ist wirklich nichts Neues. Das kommt zwar mehr oder weniger aus der Tech Szene, aber das gibt es auch mit ganz klassischen Fachabteilungen. Das Problem der Clou an dieser ganzen Niemand ist vor dem XY Problem gefeilt. Also Anfänger oder Laien sowie Profis tappen hier gleichermaßen in die Falle und die Folgen sind halt relativ Verwirrung, viel vergeudete Zeit bei allen Beteiligten und im Endeffekt dauert es halt einfach deutlich länger, ein Problem zu lösen. Ich habe mich mal ein bisschen auf die Suche begeben und habe mich gefragt, woher kommt eigentlich der Begriff XY Problem? Und zwar gibt es nämlich einen Open Source Contributor und Hacker namens Eric S. Raymond. Im Internet ist er bekannt als ESR. ESR hat maßgeblich an Tools wie Fetchmail oder N Curses mitgearbeitet und er ist Mitbegründer der Open Source Initiative, also der OSI. Die OSI ist zum Beispiel die Stelle, die okay, die MIT Lizenz ist eine ordentliche Open Source Lizenz, aber dafür die Pizza License nicht. Und ESR hat, ich glaube, zwei tausend zwei tausend vier mal ein Ratgeber geschrieben How to ask questions the smart way. Und genau da kommt diese Regel her. Den Link zu diesem Ratgeber findest du auch in den Shownotes und in Foren und QA Plattformen, also Question Answer Plattform wie zum Beispiel Stack Overflow, wird unglaublich oft darauf verwiesen, falls jemand in diese XY Problemfalle tippt. Und da wird einfach dieser Ratgeber verlinkt, wie man halt ordentlich Fragen stellt. Zugegeben, ab und zu ein bisschen harsch auf diesen QA Plattformen, aber vielleicht ist es auch einfach nur besser, falls man da ein bisschen strikter ist. Dann habe ich mich okay, das Problem trifft auf Laien und Profis zu. Aber warum kommt es denn so häufig vor? Und zwar neigen Menschen dazu, vorschnell eine Lösung anzunehmen. Denn oft fixieren wir uns zu früh auf eine Idee und übersehen gegebenenfalls andere Wege. In der Psychologie spricht man davon von einem Einstellungseffekt. Der Einstellungseffekt beschreibt die Tendenz, dass man eine einmal gefundene Lösung oder ein Lösungsmuster bei ähnlichen Problemen weiterhin verwendet, auch wenn es einfache oder bessere Alternativen gibt. Das war jetzt mal die Wikipedia Definition. Ich glaube, wir kennen alle den Wenn dein einziges Werkzeug ein Hammer ist, sieht jedes Problem wie ein Nagel aus. Und das ist eigentlich der Einstellungseffekt. Ein anderer Grund, warum die ganze Sache so häufig vorkommt, ist Du hast natürlich schon in irgendeiner Art und Weise ein bisschen Mühe investiert, versucht herauszufinden, wie man denn den Ansatz Y jetzt auf dein Problem X anwendet. Und da will man jetzt natürlich ungern zurückrudern und alles wieder wegwerfen. Und dann vielleicht ein dritter Grund Stolz oder Unsicherheit. Vielleicht traut man sich einfach nicht, das wahre Problem zuzugeben, aus Angst dumm dazustehen. Meines Erachtens nach gibt es keine dummen Fragen, aber für manche Leute kann es natürlich OK, wenn ich das frage, was halten die anderen jetzt von mir? Da liegt die Theorie zugrunde, dass eine konkrete Frage zu Y, nämlich zu einer Lösung, vielleicht schon spezifischer klingt und man vielleicht hofft, dass man kompetenter wirkt. Und dann habe ich mir gedacht, okay, wenn ich doch jetzt von dem Problem kenne, wie vermeide ich das denn selbst? Und die Lösung ist zu simpel, vielleicht sogar Kontext is king. Also gib einfach mal einen Überblick über das große Ganze, nicht nur über deines aktuelle Detailproblem. Also erkläre wirklich, was du letztendlich erreichen möchtest. Also bevor du deine Lösungsidee Y halt wirklich breittrittst. Weiterer Tipp ist, dass du gegebenenfalls die Symptome beschreibst, anstatt irgendwelche Vermutungen anzustellen. Also beschreibe immer konkret, was passiert, nicht nur, was du denkst, warum es passiert. Ein Beispiel. Beim Ausführen von foo erscheint die Fehlermeldung bar anstatt Ich glaube, die Datenbank ist kaputt, überlasse die Diagnose vorerst den Helfern bzw. Die Leute, die du fragst, um eine Lösung zu finden und versuche da nicht irgendwelche Vermutungen anzustellen. Was du auch machen kannst, du kannst Vorarbeit zeigen. Das bedeutet, erwähne einfach schon, was du recherchiert oder ausprobiert hast. Das spart natürlich Zeit. Du kannst Alternativen anführen und die Begründung nennen, warum du diese Alternativen verworfen hast, weil das zeigt schon so ein bisschen, dass du Arbeit investiert hast und dass du einfach nicht die Antwort auf irgendwelche Leute abwälzen möchtest, weil du faul bist. Und ganz offen kannst du auch für Rückfragen sein. Das bedeutet, reagiere geduldig. Ich meine, andere Leute haben auch andere Probleme und sind vielleicht ein bisschen busy und nehme die Gegenfragen jetzt nicht als lästiges Kreuzverhör, sondern ich meine, diese Menschen wollen dir halt auch nur helfen. Das war jetzt so die Perspektive der fragestellenden Seite. Also du bist jemand, der Hilfe braucht, aber was ist denn, wenn du jemand bist, der die y Frage bekommt? Was kannst du also tun, wenn dir jemand eine XY Problem Frage stellt? Ganz doof. Frag nach dem Warum. Denn all das, was ich gerade als Tipp gegeben habe, Kontext ist King. Wenn das nicht mitgeliefert wird, musst du diesen Kontext natürlich erhaschen. Frag nach dem Warum ich meine. Simple Rückfrage wie Was möchtest du denn eigentlich tun? Hilft da schon. Viele erfahrene Entwickler und Entwicklerinnen haken da auch sofort nach. Warum brauchst du denn jetzt genau diesen Weg? Was ist eigentlich dein Ziel? Und plötzlich kommt ans Licht, was denn eigentlich hier wirklich die Sachlage ist. Wenn man da nicht weiterkommt, helfen manchmal auch ein paar andere gezielte Detailfragen, wie zum Wie hat das Problem eigentlich angefangen? Oder was hast du schon unternommen? Und was ist dabei passiert? Im Endeffekt musst du auch sicherstellen, dass du den Fragesteller ernst nimmst und nicht bloßstellen möchtest. Und vielleicht hilft er auch einfach ganz explizit zu sein. Hey, ich möchte hier nur sicherstellen, dass wir das richtige Problem lösen und das hilft hoffentlich allen. Das war ein kleiner Exkurs zu einem Kommunikationsproblem. Es gibt wahrscheinlich etliche. Das XY Problem fand ich ganz interessant, besonders weil es aus der Tech Szene gecoint wurde und auch sehr, sehr oft vorkommt. Deswegen vielleicht ein paar kleine Tipps, um bessere Fragen zu stellen. Der Ratgeber von ISR ist auch in den Shownotes verlinkt. Ist wirklich mal eine gute Abendlektüre. Schaut einfach mal rein. Wir hören uns bei der nächsten Episode. Danke euch und tschüss.

Wolfi Gassler (00:09:14 - 00:09:51) Teilen

Das war das heutige Türchen im Engineering Kiosk Adventkalender. Ich hoffe, ihr konntet wieder etwas mitnehmen zum Nachdenken, schmunzeln oder auch direkt ausprobieren. Wenn euch die Episode gefallen hat, erzählt es gern weiter an Kolleg innen oder eure Lieblings Nerds. Abonniert den Podcast und eine Bewertung wäre natürlich auch super cool. Ihr kennt ja das ganze Spiel. Wenn ihr noch mehr Lust auf Austausch habt, kommt gerne in unserer Engineering Kiosk Discord Community vorbei. Dort tummeln sich Entwickler innen, Datenmenschen und auch alles andere, was Rang und Namen hat im Tech Universe. Für heute machen wir das Türchen mal wieder zu, aber keine Sorge, das nächste wartet schon. Frohe Adventszeit in der Zwischenzeit. Bleibt offen für Neues und bis zur nächsten Episode.