Die Grundidee, die von den meisten Agile / XP- Theoretikern vertreten wird, scheint zu sein, dass Paare regelmäßig getauscht werden sollten. Zum Beispiel sollte jeder Programmierer einmal am Tag die Paare tauschen. Die Hälfte der Leute tauscht zu Beginn des Tages, die Hälfte der Leute tauscht nach dem Mittagessen: Aufgrund externer Faktoren wie Besprechungen, Feiertage und dergleichen neigen die meisten Leute dazu, ihre Swap-Zeiten ein- oder zweimal pro Woche umzudrehen, so dass sich die Paarkonfigurationen verteilen ziemlich gleichmäßig im Team.
Ein Grund für den häufigen Austausch ist, dass das Wissen schnell und gleichmäßig im Team verteilt wird, anstatt dass bestimmte Fähigkeiten und Kenntnisse auf bestimmte Personen konzentriert sind. Dies bedeutet, dass die Arbeit reibungslos fortgesetzt werden kann, wenn die Mitarbeiter entweder abwesend sind oder das Unternehmen verlassen. Ein weiteres Argument, das eine Art logische Konsequenz für die Programmierung von Paaren ist, ist, dass jedes Mal, wenn jemand auf Sie tauscht, eine neue Codeüberprüfung durch ein frisches Paar von Augen erfolgt, wodurch nur die Codequalität verbessert werden kann.
Beide Behauptungen klingen vernünftig; Aus Managementsicht klingt es so, als ob Sie sowohl die Stabilität als auch die Qualität verbessern. Daher ist das häufige Austauschen in den meisten Agile / XP- Büchern, die ich mir angesehen habe, so ziemlich die Standardtheorie .
Also, wenn tatsächlich in die Praxis umgesetzt, was denken die Leute tatsächlich über Paartausch
- Die Sicht eines Programmierers?
- Die Sicht eines Managers?
Und
- Was sollte bestimmen, wann jemand ein Paar wechselt?
Antworten:
Paarprogrammierung ist schwierig.
Es ist schwierig, weil es am besten funktioniert, wenn die beiden beteiligten Personen ein enges Qualifikationsniveau aufweisen und dies in einigen Arbeitsumgebungen schwierig sein kann. Beim Auswechseln kann es schwieriger werden, weil Sie eine andere Person mit der entsprechenden Fähigkeitsstufe suchen müssen, um sie über das aktuelle Problem auf dem Laufenden zu halten. Dies hat den Vorteil, dass mehr Personen mit einem bestimmten Code in Berührung kommen, für den ein Pairing durchgeführt wurde. Dies sollte weniger dazu führen, dass Code nicht repariert werden kann, da niemand genug darüber weiß. Es sollte auch die Gruppenverantwortung und die Fähigkeit für jedermann verbreiten, irgendein Stück Arbeit aufzunehmen.
Ich habe festgestellt, dass auch in Umgebungen, in denen Pairing durchgeführt wird, Pair-Swapping die Kosten nicht wert ist. Dies kann jedoch daran liegen, dass unsere Aufgaben nie länger als 1,5 Tage dauern. Wir fanden einen großen Vorteil, wenn die Aufgaben nicht länger als 1,5 Tage ausgeführt wurden. Das Austauschen von Paaren kann im Zusammenhang mit länger laufenden Aufgaben sinnvoller sein.
quelle
Ich bin sowohl Programmierer als auch Manager. Hier ist meine Einstellung:
Regelmäßiges Tauschen ist großartig. Ich bevorzuge es, 2-4 Mal pro Tag zu tauschen, was ungefähr so schnell ist, wie ich denke, dass du gehen kannst. Für uns kommt das an natürlichen Bruchstellen: in der Regel Mittagessen und Nachmittag. Es ist wahrscheinlich in Ordnung, sich jeden oder jeden zweiten Tag zu ändern, aber ich würde mir Sorgen machen, dass es viel länger dauert. (Ich habe von einem Ort gehört, der so selten wie alle sechs Wochen tauscht, was ich für verrückt halte. Nach dieser Zeit wären Sie bereit, einen Heiligen zu erstechen.)
Als Programmierer liebe ich es, weil ich neue Perspektiven bekomme, andere Bereiche des Codes durchschaue und entweder bei etwas bleiben oder von etwas weitermachen kann, was ich bevorzuge. Ich bin erst kürzlich vom Solo-Coding zum Pairing übergegangen und bin begeistert: Ich lerne mehr, habe mehr Spaß und lerne mehr.
Als Manager finde ich das großartig, weil es viele Probleme mit dem Lkw-Faktor und Engpässen löst. ZB nehme ich mir dieses Wochenende ein langes Wochenende für die Hochzeit eines Freundes und mache mir keine Sorgen: Alles, woran ich gearbeitet habe, wurde auch von anderen Leuten bearbeitet. Ich denke auch, dass es den Teammitgliedern wirklich hilft, die Stärken und Schwächen des anderen zu schätzen und die kollektive Eigentümerschaft von Code zu fördern.
Ich habe das Gefühl, dass es hauptsächlich an den Beteiligten liegt, wer bei der aktuellen Arbeit bleibt. Manchmal möchten Sie etwas durchschauen und manchmal sind Sie bereit für eine Veränderung. Wir tauschen auch manchmal aus, um Fachwissen einzubringen, oder damit jemand etwas lernt, das ihn interessiert. Wir versuchen, unsere Arbeitseinheiten ziemlich klein zu halten (0,5 bis 2,0 Paartage), also ist es keine große Sache, wie auch immer der Austausch stattfindet .
quelle
Okie, hier ist die Antwort eines selbsternannten pragmatischen Agile / XP-Programmierers. Ich programmiere seit mehr als zwei Jahren. Wenn die Paarprogrammierung gut ist, tauschen Sie die Paare häufig aus (idealerweise alle zwei Stunden, wenn nicht jeden halben Tag). In unserem Büro ist es wichtig, die Paare jeden Tag (normalerweise) oder alle zwei Tage (im schlimmsten Fall) zu tauschen. Dies alleine zu tun, kann uns viel Vertrauen in die Qualität des Codes geben , den wir begehen und den wir lernen oder den wir bei jeder Paarrotation anwenden (wir wissen, dass die Codeüberprüfung gut ist, je mehr desto besser und je früher desto besser. Dies ist das, was "Paarprogrammierung, einschließlich des Austauschs von Paaren", erreicht.
Warum wechseln wir nicht alle zwei / vier Stunden die Paare? Nun, eigentlich war ich in Teams, die das auch üben. Es ist sicherlich viel cooler und produktiver. Aber hier ist der Deal, das Zeitintervall für das Tauschen von Paaren sollte nicht die Regel sein, es sollte von selbst passieren; Nur dann kann der Manager oder das Unternehmen seine Vorteile erkennen.
Ich habe das miterlebt und erlebt. Ich bin jetzt sein Evangelist. Es ist keine Theorie. Eher ist es durch und durch pragmatisch :) Glückliches Ping-Pong-Pairing und Paartausch.
quelle