Kooperation in Softwareprojekten! Lohnt sich das? (Teil 2)

Im ersten Teil dieses Beitrages wurde das Gefangenendilemma vorgestellt. Es zeigt, dass es Situationen gibt, in der die jeweils beste Strategie vom Handeln anderer Personen abhängt. Die Frage, ob ich kooperativ sein oder besser entschlossen meinen eigenen Vorteil suchen soll, lässt sich demnach nicht aus der eigenen subjektiven Sicht allein heraus beantworten.

Wie soll man sich jetzt aber im echten Leben verhalten? Ist das Gefangenendilemma überhaupt in der Praxis anwendbar?

Die letzte Frage kann man eindeutig mit Ja beantworten. Es gibt viele Situationen, die mit dem Gefangenendilemma vergleichbar sind oder waren. So stellte man im ersten Weltkrieg fest, dass in den Schützengräben viele Soldaten auf Kooperation setzten, anstatt sich gegenseitig zu vernichten. So wurden an bestimmten Tageszeiten Feuerpausen eingelegt oder man schoss einfach in die Luft.

Den Soldaten auf beiden Seiten, die täglichem Feuer ausgesetzt waren, wurde nämlich eines sehr schnell klar: Wenn die eigene Seite eine Stellung bombardierte und fünf Feinde tötete, dann antwortete die Gegenseite mit einer Salve und tötete dadurch fünf eigene Kameraden. Spieltheoretisch ist das kein Problem. Im echten Leben dagegen schon.

Verbrüderungen dieser Art waren keine Einzelfälle. Die Generalität begegnete diesem Phänomen mit drastischen Strafen. Wer mit dem Feind kooperierte, wurde erschossen. Doch selbst diese Maßnahme beendete die Kooperation nicht. Erst als man begann, kooperative Truppenteile zu verlegen und an anderen Frontabschnitten einzusetzen, hörten die Verbrüderungen auf. Die Soldaten wurden mit neuen Feinden konfrontiert von denen sie nicht wussten, ob sie kooperieren würden oder nicht. Das Gefangenendilemma begann so zu sagen immer wieder von neuem. Anschauen kann man sich das ganze im Film Joyeux Noël von Christian Carion.

An dieser Stelle sei angemerkt, dass es einen großen Unterschied gibt, wie oft das Gefangenendilemma wiederholt wird. Beim ersten Mal kenne ich meinen Gegner überhaupt nicht. Beim zweiten Mal weiß ich jedoch, wie er sich in der Vergangenheit verhalten hat, und ich kann meine Schlüsse daraus ziehen. Diese Variante nennt sich iteratives Gefangenendilemma.

Zurück zur Frage, wie man sich im echten Leben verhalten sollte. Die geschilderten Verbrüderungen legen ja die Vermutung nahe, dass Kooperation sehr gut funktioniert. Ganz so einfach ist es aber nicht!

Man stelle sich nur einmal vor, wie leicht es wäre, eine auf Kooperation eingestellte Kompanie von Soldaten zu besiegen. Die eigenen Verluste wären nahezu bei null, die des Gegners wären maximal. In der ursprünglichen Geschichte ist dies die Kombination Freispruch und 5 Jahre Gefängnis.

Um herauszufinden, welche Strategie die beste für das iterative Gefangenendilemma ist, veranstaltete Robert Axelrod, ein US-amerikanischer Politikwissenschaftler, ein Computerturnier. Hierzu lud er Im Jahr 1980 die damals bekanntesten Spieltheoretiker ein. Jeder von ihnen entwickelte eine individuelle Strategie für das Gefangenendilemma, die dann jeweils in ein einfaches Computerprogramm umgesetzt wurde. Jedes Programm trat dann in genau 200 Zügen gegen alle anderen und auch gegen sich selbst an.

Die teilnehmenden Programme verfolgten von Beginn an sehr unterschiedliche Strategien. Einige waren sehr einfach, andere basierten auf komplexen statistischen Verfahren. Manche waren kooperativ, also „nett“, andere setzten auf Verrat, waren also „nicht nett“.

Die Siegerstrategie war eine echte Überraschung. Sie stammte von Anatol Rapoport, einem Professor für Psychologie und Mathematik an der University of Toronto, und gehörte zu den einfachsten Programmen im Feld. Sie hieß Tit for tat, auf Deutsch „Wie du mir so ich dir“.

Tit for tat gehörte zu den „netten“ Programmen. Es kooperierte bei jeder ersten Begegnung und richtete sein weiteres Verhalten danach aus, wie sich der andere bei dieser Begegnung benahm. War der Gegner kooperativ, war auch Tit for tat kooperativ. War der Gegner es nicht, sah auch Tit for tat keine Veranlassung „nett“ zu sein. Das vorangegangene Verhalten des Gegners wurde also kopiert. Überrascht von diesem Ergebnis wurde ein zweites, größeres Turnier veranstaltet. Doch auch hier hieß der Sieger Tit for tat.

Insgesamt wurden fünf Turniere gespielt. Bei fast allen gewann Tit for tat. Soweit ich weiß, gab es zum Ende eine bessere Strategie, die jedoch auf der Grundidee von Tit for tat basierte. Nachzulesen ist das ganze übrigens in Axelrods Buch, Die Evolution der Kooperation.

Was aber bedeuten die Ergebnisse dieses Turnier für unser Ausgangsproblem. Führt Kooperation nun automatisch zum Erfolg?

Kooperative Strategien sind meiner Ansicht nach immer dann erfolgreich, wenn wir uns in Situationen befinden, in denen Menschen sich zunächst freundlich begegnen. Leider gilt dies nicht immer für Softwareprojekte. Sehr oft sind Projekte sehr zerfahren und ihre Protagonisten alles andere als freundlich zueinander. Wer nichtsdestotrotz gleich von Beginn an versucht, auf Kosten Anderer zu leben, wird im Einzelfall vielleicht erfolgreich sein. Auf Dauer aber nicht.

Der Erfolg von Tit for tat zeigt auch deutlich, dass unkooperatives Verhalten auf keinen Fall toleriert werden darf. So standen alle rein kooperativen Programme in Axelrods Turnier von Anfang an auf verlorenem Posten. Mit anderen Worten: Wer sich ständig über den Tisch ziehen lässt, ist selber Schuld.

Auf der anderen Seite verdeutlicht Tit for tat aber auch, wie wichtig es ist zu verzeihen. Wer einen Fehler einsieht und wieder kooperativ ist, verdient eine immer eine zweite Chance.

Prima, dann haben wir es ja jetzt: Wie du mir so ich dir und alles ist in Butter!

Nun ja, ganz so einfach ist es nicht. Zugegeben, Tit for tat ist eine gute Wahl aber lange nicht die Beste. Aus meiner Sicht hat diese Strategie einen entscheidenden Fehler.

Welchen? Das erfahrt ihr im dritten und letzten Teil von Kooperation in Softwareprojekten! Lohnt sich das?.

 

Meine Links zum Thema bei del.icio.us:

Blogged with Flock

Tags:

Kooperation in Softwareprojekten! Lohnt sich das? (Teil 3)

Im zweiten Teil dieses Beitrags wurde eine sehr erfolgreiche kooperative Strategie vorgestellt: Tit for tat oder auf Deutsch Wie du mir so ich dir.

Tit for tat zeigt uns, dass es sich durchaus lohnt, kooperativ zu sein, um seine eigenen Ziele zu erreichen. Zumindest sollte man am Anfang kooperativ sein und nicht gleich alle Kollegen vor den Kopf stoßen. Bei Leuten, die nicht kooperativ sind, einem also nicht nett begegnen, ist eine andere Strategie angesagt – Vergeltung. Am Ende zeigt sich Tit for tat aber wieder versöhnlich. Denn man sollte in der Lage sein, zu verzeihen und beim nächsten Zusammentreffen wieder nett zu einander sein.

Ich finde diese Strategie als Grundlage sehr gut. Auf jeden Fall sollte man in Softwareprojekten zunächst jedem Kollegen seine Chance geben. Und auf gar keinen Fall darf man kooperative Kollegen hintergehen. Durch die Beachtung dieser beiden Grundsätze bin ich in der Lage, ein kooperatives Arbeitsklima aktiv zu gestalten.
Axelrod, der Veranstalter des Computerturniers, spricht in diesem Zusammenhang von Reformern, d.h. Personen die Umgebung und damit die Spielregeln schaffen.

Eben diese Spielregeln sind von entscheidender Bedeutung. Wir mussten immer wieder feststellen, dass fehlende Spielregeln in Softwareprojekten zu fatalen Ergebnissen führen. Leider kann man solche Spielregeln nicht einfach festlegen, man muss sie vorleben. Also selber Vorbild sein.

Die wichtigste Regel lautet dabei: Bestrafe jeden Verrat in aller Konsequenz!

Dolchstoß

Diese Regel ist wie wir gesehen haben in Tit for tat fest verankert. Sie führt bei „nicht netten“ Kontakten evtl. zu einem Strategiewechsel. Beachte ich diese Regel nicht, werde ich immer wieder mit „nicht nettem“ Verhalten konfrontiert werden. Dies gilt für Einzelpersonen gleichermaßen wie für Gruppen.

Ich sage an dieser Stelle bewusst nicht, dass die Bestrafung von Verrat automatisch dazu führt, dass sich mein Gegenüber beim nächsten mal anders verhält. Das muss nämlich nicht so sein. Aber dazu später mehr. Sollte ich jedoch auf eine Bestrafung verzichten, zeige ich meinem Gegenüber, dass seine „nicht nette“ Strategie erfolgreich ist.

Nur meinem Gegenüber? Nein, andere Personen und Gruppen merken sehr schnell, wie es um mich bestellt ist. Sie fangen an zu lernen. Sie lernen, dass „nicht nette“ Strategien in diesem Projekt zum Erfolg führen. Haben erst genügend Projektteilnehmer diese Erfahrung gemacht, versagt übrigens auch Tit for tat, die Ausgangsstrategie.

Mit anderen Worten: Befinden sich erst genügend – und jetzt wechseln wir das Wort – „böse“ Spieler im Projekt, ist Hopfen und Malz verloren. Mittelfristig verlieren in dieser Situation alle. Die Schuld hierfür wird der jeweils anderen Partei zugeschrieben. Man merkt nämlich meistens gar nicht, dass man selber böse ist.

Bitte achtet daher immer auf die Spielregeln in euren Projekten. Dies gilt für alle Teilnehmer und Rollen, also Entwickler, Architekten, Projektleiter etc. Ich fasse diese Spielregeln noch einmal kurz zusammen:

– Verrate nicht als erster,
– Erwidere sowohl Kooperation als auch Verrat,
– Sei nicht neidisch,
– Sei nicht zu raffiniert.

Zur letzten Spielregel noch ein Wort. Wenn ich raffiniert bin, verschleiere ich meine Absichten. Dies im Guten wie im Bösen. Meine Raffinesse erschwert es damit anderen Personen, mich richtig einzuschätzen. Auf diese Art und Weise entstehen die berühmten Missverständnisse, die, wenn man sie nicht schnell aus der Welt schafft, ebenfalls zu schwerwiegenden Problemen im Miteinander führen können.

Vorsicht!

Unsere Ausgangsstrategie, Tit for tat, hat meiner Meinung nach jedoch einen schweren Fehler. Dieser liegt im Verzeihen.

Sicherlich ist es wichtig einen Fehler zu verzeihen, wenn die andere Seite einsieht, dass sie einen Fehler begangen hat und diesen auch bereut. Doch was geschieht, wenn dies häufiger passiert? Was mache ich, wenn die andere Seite Fehler nur eingesteht, weil sie meine Strategie kennt und damit genau weiß, dass der nächste Verrat wieder zum Erfolg führen wird?

Das Problem ist, dass es sehr viele Menschen gibt, die gelernt haben, dass sich Betrug und Intrige auszahlen. Egal ob raffiniert oder nicht, wer einmal gelernt hat, sich so zu verhalten wird schwerlich davon Abstand nehmen. Für solche Personen gilt die Regel zu verzeihen nicht. Ein derartiges Verhalten darf man nicht tolerieren. Am besten man isoliert diese Personen oder entfernt sie ganz aus dem Projekt. Dabei darf es keine Rolle spielen, wie qualifiziert ein solcher Jemand ist.

Fazit:

Kooperation ist für mich ich die einzige Strategie, die in Projekten zum Erfolg führt. Man erreicht sie jedoch nicht, in dem man selber nur kooperativ ist. Im Gegenteil, manchmal muss man selber böse sein, damit die Spielregeln gewahrt bleiben und Kooperation eine Chance hat.

 

Meine Links zum Thema bei del.icio.us:

Blogged with Flock

Tags: