Ilja Preuß schrieb:
Wenn das damit gemeint ist, dann stimme ich wohl nicht damit überein, dass das Verhindern von Bugs im Allgemeinen ein komplexes Problem ist.Ja, sehe ich auch so. "Komplexe" Ausnahmen sind für mich z.B. unterschiedliche Interpretationen von Requirements oder das "Übersehen" von sehr komplizierten Zusammenhängen im Code oder zwischen verschiedenen Modulen oder die Unkenntnis über unerwartete Verhaltensweisen von Modulen in seltenen Spezialfällen (für die deshalb auch keine Testfälle erstellt wurden). Das sind typisch "menschliche" Einflüsse - und die können nie ausgeschaltet werden.
Oder "wenn ich bei Methoden mit for-Schleifen die Randbedingungen mit Unit-Tests abdecke, mache ich keine one-off-Fehler mehr."Genau: Das ist ein "linear-mechanischer" Zusammenhang. Und solche Zusammenhänge sind am besten beherrschbar mittels "Sense - Categorise - Respond and we can apply best practice" bzw. "Sense - Analyze - Respond and we can apply good practice". Ein inkrementelles Vorgehen auf Basis "inspect & adapt", also "Probe - Sense - Respond and we can sense emergent practice" wäre dort unangemessen und würde zu Vergeudung von Arbeitszeit führen.
(Nebenbemerkung: Deshalb erachte ich agile Vorgehensweisen für simple und komplizierte Situationen als "overkill".)
So etwa sind bei Konflikten im Team derartige "Warum-Fragen" wenig hilfreich - sondern eher ein Auslöser für "Schuldzuweisungen".
Wobei "verkleidete" Warum-Fragen durchaus sehr hilfreich sein können - "was war Dein Ziel", "was hat Dich bewogen, dass zu tun" etc.Genau! "Der Ton macht die Musik" Und nicht nur der Ton, sondern auch welche "Spielkarten" (= Worte) wir für unser "Sprachspiel" verwenden (siehe Pelle Ehn, Wittgenstein’s Language Games, bei Alistair Cockburn:
http://alistair.cockburn.us/ASD+book+extract:+%22Naur,+Ehn,+...)
"was war Dein Ziel", "was hat Dich bewogen, dass zu tun" ist eine "wohlwollende Annahme", dass die andere Person nicht "unvernünftig" handelte, sondern eine Intention verfolgte und mit meiner Frage drücke ich aus, dass ich diese Intention kennenlernen möchte, bin also in der Rolle des "interessiert Lernenden".
Natürlich macht der "Tonfall" einen Unterschied: Wenn ich "was war Dein Ziel" sage und im Hinterkopf denke: "sicher hattest du dir nichts dabei überlegt .. und jetzt will ich dir das mir dieser Frage bewusst machen", dann kommt diese Frage "verhörmässig" rüber.
Eine andere Formulierungen wäre:
"Ich gehe davon aus, dass du damit, dass du es so und nicht anders machtest, einen Nutzen erzielen wolltest. Und ich würde gern mit dir herausfinden, was das für ein Nutzen war und wie er auf einem anderen Weg erreicht werden könnte."
Sicher, ein Team ist ein komplexes System. Und damit es schön adaptiv bleibt, sind Konflikte sogar notwendig - es braucht halt entsprechendes Handwerkszeug um selbige konstruktiv auszutragen.Nun, für mich ist das einer vielen "beschönigenden Glaubenssätze". Ich unterscheide zwischen einem "Konfiikt" und "als unvereinbar betrachtete Unterschiede" oder "Widersprüche". Ich möchte damit "die übliche emotionale Beipackung", nämlich dass ein Konflikt unangenehm, unbedingt auszuräumen, für die Zusammenarbeit hinderlich .... sei, umgehen. Damit erhalte ich eher die Bereitschaft, diese Unterschiede mal aus Distanz anzusehen statt in "verhärtete Positionen" zu kommen, die dann erst wieder "verflüssigt" werden müssen.
Also: Für mich sind Unterschiede eine Quelle von Energie und Inspiration - solange sie nicht zu "Konflikten" werden.
In dem Fall würde ich z.B. dafür sorgen, dass Frank (Name zufällig gewählt) versteht, wie Norbert sich mit dem gesagten fühlt, und Norbert versteht, wie es tatsächlich gemeint war. Vielleicht war es kein Vorwurf, oder vielleicht sieht Frank ihn als gerechtfertigt an
Beides ist wichtig zu klären, um in Zukunft besser miteinander arbeiten zu könnenIch vermeide es, Gefühle explizit anzusprechen. Das sind (für mich!!!) "Internas der Person" über welche einzig und allein die Person bestimmt. Sie sind für mich nicht Gegenstand des klärenden Dialogs.
Mehr dazu hier: "Inbetween, not inside or outside" (McKergow MW and Korman H (2009), Journal of Systemic Therapies Vol 28 No 2 pp 34 – 49) ==>
http://www.sfwork.com/jsp/index.jsp?lnk=6d8Meine Intention wäre also nicht, dass Frank "versteht wie sich Norbert fühlt". Damit komme ich vollends in "psychologische Innenwelten" - statt zu zukunftstauglichen und pragmatischen Lösungen.
Ich würde ganz einfach auf der Ebene "beobachtbarer Begebenheiten" bleiben - und z.B. so fragen:
"Frank, du bis also davon ausgegangen, dass Norbert das getestet hat. Ich nehme an, dass du dich dabei auf eine Erfahrung aus der Vergangenheit abgestützt hast. Auf welche? Oder auf eine Abmachung? Auf welche?"
---- Frank erzählt so etwas -----
"Norbert: Wie war das ((diese vergangene Situation / diese Abmachung)) aus deiner Sicht?"
---- Norbert erzählt seine - höchstwahrscheinlich unterschiedliche - Sichtweise -----
"Ok. Ich sehe, das sind unterschiedliche Sichtweisen. Für mich es normal, das solche unterschiedlichen Sichtweisen existieren. Nun, Frank und Norbert, wie ist es in Zukunft möglich, solche Unterschiede frühzeitig zu erkennen und zu klären, und zwar konkret für den Fall "wer testet wann was"?"
Das heißt aber nicht, dass es nicht eine Lösung für das allgemeine Problem gibt. In diesem Fall könnte man z.B. die Regel einführen, dass jeder seinen eigenen Code selber testet. Vielleicht gar noch test-first.Das ist der Unterschied zwischen deiner und meiner Herangehensweise:
Ich thematisiere das konkrete Problem auf der Ebene erlebter und sichtbarer Gegebenheiten und auf dieser Ebene mögliche (schrittweise) konkret sichtbare Lösungen.
Mehr dazu übrigens hier:
http://www.korn.ch/LF-auf-einer-Seite.pdfUnd auch hier (Vorsicht!! Eigenwerbung!!):
http://www.scrum-day.de/workshops/ws2teamworkrefactoredbysim...