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

Spannungen zwischen IT- und Fachseite. Wer jemals in einem Softwareprojekt gearbeitet hat kennt sie zur Genüge. Vorteilhaft sind sie nie. Jedenfalls nicht wenn man das Projekt als Ganzes betrachtet. Im Gegenteil: Wenn beide Seiten nicht in der Lage sind vernünftig zusammenzuarbeiten verlieren fast alle Beteiligten. Die einen verlieren Geld, andere ihre Nerven. Viele verlieren beides.

Warum entstehen diese Spannungen immer wieder? Eine einfache Antwort gibt es nicht. Vielleicht liegt es daran, dass beide Parteien unterschiedliche Ziele verfolgen und deshalb sehr egoistisch handeln.

Gehen wir einfach davon aus, dass dies so ist, und wir es wirklich mit Egoisten zu tun haben. Diese haben nur ihr eigenes Ziel vor Augen und es ist ihnen dabei egal ob die andere Partei auf der Strecke bleibt oder nicht.

Ich möchte im Folgenden darstellen, dass es sich gerade in einer Welt voller Egoisten fast immer lohnt, mit der anderen Partei zu kooperieren. Auch wenn dies zunächst wie ein Widerspruch klingt, es ist keiner.

Beginnen wir mit einem Paradoxon, dem Gefangenendilemma.

Spieltheorie am Beispiel des Gefangenendilemmas

Das Gefangenendilemma ist ein zentraler Bestandteil der Spieltheorie. Bei diesem Paradoxon handelt es sich um ein klassisches symmetrisches „Zwei-Personen-Nicht-Nullsummen-Spiel”, das in den 1950er Jahren formuliert wurde. Es ist schnell erklärt.

Zwei Personen, nennen wir sie Jens und Wolfgang, sitzen in Untersuchungshaft. Sie werden beschuldigt einen Bankraub begangen zu haben. Die Höchststrafe hierfür beträgt fünf Jahre. Der Untersuchungsrichter lässt beide vorführen und bietet jedem einen Handel an.

Wenn einer gesteht und somit seinen Partner mitbelastet, kommt er ohne Strafe davon – der andere muss die vollen fünf Jahre absitzen. Entscheiden sich beide zu schweigen, bleiben nur Indizienbeweise, die aber ausreichen, um beide für zwei Jahre einzusperren. Gestehen aber beide die Tat, erwartet jeden eine Gefängnisstrafe von vier Jahren.

Umgehend nach dem Angebot des Richters werden beide abgeführt. Sie kommen sofort in Einzelzellen und haben keine Möglichkeit mehr sich abzustimmen.

Jens sitzt in seiner Zelle und denkt sich: Falls Wolfgang gesteht, reduziere ich mit meiner Aussage meine Strafe von fünf auf vier Jahre; falls er aber schweigt, dann kann ich mit meiner Aussage meine Strafe von zwei Jahren auf Null reduzieren! Er kommt zu dem Entschluss auf jeden Fall zu gestehen.

Jens entscheidet dieses Problem zunächst aus seiner alleinigen Sicht heraus. Er lässt Wolfgangs Verhalten außen vor. Spieltheoretisch handelt er dominant.

Betrachten wir jetzt aber Jens und Wolfgang als Gruppe, ergibt sich ein anderes Bild: Würden beide nämlich schweigen gingen sie insgesamt nur für vier Jahre ins Gefängnis. Jede andere Kombination führt aber zu längeren Strafen, nämlich fünf bzw. acht Jahre Haft. Die bessere (Gruppen-) Strategie lautet also: Nicht aussagen. Diese Strategie ist aber riskant und kann durch „Verrat“ leicht ausgehebelt werden.

Fassen wir zusammen: Die erste von Jens vorgenommene Analyse der Situation erscheint vernünftig und verleitet ihn dazu zu gestehen. Ist Wolfgang ebenso vernünftig ist das Ergebnis für beide als Gruppe betrachtet aber schlecht. Das bessere Ergebnis könnten beide erreichen, indem sie schwiegen, also kooperierten. Diese Strategie ist wie gesehen aber anfällig für Verrat.

Die Strategiekombination (Gestehen/Gestehen) ist übrigens ein Beispiel für ein Nash-Gleichgewicht. Es wurde von John Forbes Nash Jr. in den 50er Jahren entdeckt. Der eine oder andere kennt ihn vielleicht aus dem Film A Beautiful Mind.
Kommen wir zurück zu unserem Softwareprojekt. Das Gefangenendilemma zeigt, dass Kooperation theoretisch für beide Parteien eine gute Strategie darstellt, auch wenn sie eigentlich nur auf ihr eigenes Wohl bedacht sind. Sie setzt jedoch ein großes Maß an Vertrauen voraus und kann durch hinterhältige Machenschaften leicht durchkreuzt werden.

Ist eine kooperative Strategie also empfehlenswert und praxistauglich? Dazu mehr im zweiten Teil von Kooperation in Softwareprojekten! Lohnt sich das?

Meine Links zum Thema bei del.icio.us:

Blogged with Flock

Tags:

Schreibe einen Kommentar