www.wikidata.de-de.nina.az
Paarprogrammierung auch Tandem Programmierung englisch pair programming ist eine Arbeitstechnik die sich haufig bei agilen Vorgehensweisen zur Softwareentwicklung findet Sie ist ein wichtiger Bestandteil von Extreme Programming XP Paarprogrammierung Inhaltsverzeichnis 1 Beschreibung 2 Ziele 3 Positive Effekte 4 Nachteile 5 Produktivitat 6 Verteilte Paarprogrammierung 7 Literatur 8 EinzelnachweiseBeschreibung BearbeitenBei der Erstellung des Quellcodes arbeiten jeweils zwei Programmierer gleichzeitig an einem Arbeitsplatz Einer schreibt den Code wahrend der andere uber die Problemstellungen nachdenkt den geschriebenen Code kontrolliert sowie Probleme die ihm dabei auffallen sofort anspricht 1 Diese konnen dann sofort im Gesprach gelost werden Die beiden Programmierer sollten sich in den beiden Rollen abwechseln Auch die Zusammensetzung der Paare sollte sich haufig andern Eine Voraussetzung fur Paarprogrammierung ist ein gemeinsam vereinbarter Programmierstil des gesamten Teams Ziele BearbeitenZunachst soll Paarprogrammierung die Softwarequalitat steigern Durch die Kontrollfunktion der zweiten Person sollen problematische Losungen vermieden werden Die Paarprogrammierung dient aber auch zur Verbreitung von Wissen uber den Quellcode Durch das regelmassige Rotieren der Partner kann immer der jeweils neue Partner durch Learning by Doing etwas uber die bearbeiteten Quelltexte lernen Positive Effekte Bearbeiten nbsp Dieser Artikel oder nachfolgende Abschnitt ist nicht hinreichend mit Belegen beispielsweise Einzelnachweisen ausgestattet Angaben ohne ausreichenden Beleg konnten demnachst entfernt werden Bitte hilf Wikipedia indem du die Angaben recherchierst und gute Belege einfugst Weniger Fehler Paarprogrammierung fuhrt zu weniger Fehlern und somit zu weniger Fehlerbehebungsaufwanden Ublicherweise rechnet man bei Paarprogrammierung mit 15 weniger Fehlern als bei herkommlicher Programmierung 2 Kleinere Programme Paarprogrammierung fuhrt im Schnitt zu um 20 kleineren Programmen 2 Hohere Disziplin Paare entwickeln viel eher an der richtigen Stelle und machen kurzere Pausen Besserer Code Bei der Paarprogrammierung entwickelt man sich weniger leicht in Sackgassen und erreicht so eine hohere Qualitat Belastbarerer Flow Paarprogrammierung fuhrt zwar zu einer anderen Art von Flow ermoglicht diesen aber eher als der konventionelle Ansatz Ein Programmierer kann seinen Partner jederzeit nach dem aktuellen Stand fragen und dort anknupfen Unterbrechungen werden auf diese Art besser abgewehrt Freude an der Arbeit Paarprogrammierung ist oft spannender und interessanter als allein zu arbeiten 90 der Entwickler die Paarprogrammierung betreiben sprechen von einer erfreulicheren Arbeit 2 Geringeres Risiko Wenn das gesamte Projektteam mit der Methode Paarprogrammierung arbeitet und die jeweiligen Partner oft wechseln erlangen alle Wissen uber die gesamte Codebasis Dies wiederum fuhrt zu einem geringeren Projektrisiko hinsichtlich Mitarbeiterfluktuation und Mitarbeiterabwesenheiten welche zu den grossten Projektrisiken zahlen 3 Es erhoht somit die Truck Number Wissensvermittlung Jeder hat Wissen das andere nicht haben Paarprogrammierung ist eine Moglichkeit dieses Wissen zu verteilen oder auch zu transferieren 4 Teambildung Die Leute lernen sich gegenseitig schneller kennen wodurch die Zusammenarbeit verbessert werden kann Weniger Unterbrechungen Paare werden seltener unterbrochen als jemand der allein arbeitet Nachteile BearbeitenTeamfindung Teamfindung kann aufwendig sein wenn nicht alle Personen miteinander produktiv arbeiten konnen Eingewohnung der Teammitglieder kann Zeit erfordern Urheberrecht Es kann wie bei allen nicht von Einzelpersonen entwickelten Werken das Urheberrecht nicht fur einzelne Personen angewandt werden Haftung Es kann wie bei allen nicht von Einzelpersonen entwickelten Werken zu Konflikten kommen da spater nicht unbedingt klar ist wer fur fehlerhaften oder urheberrechtsverletzenden Code haftet Produktivitat BearbeitenPaarprogrammierung fuhrt zu einer geringeren Geschwindigkeit bei der Programmierung Bei einer Studie benotigten die Paare 15 mehr Zeit gegenuber der Geschwindigkeit einzelner Personen 2 Befurworter der Paarprogrammierung behaupten dass die Produktivitat durch diese Vorgehensweise nicht sinke sondern im Gegenteil sogar deutlich steige Grund dafur sei dass die durch Paarprogrammierung gesteigerte technische und fachliche Qualitat genau dort die Produktivitat erhohe wo wahrend der Softwareentwicklung am meisten Zeit verbracht wird Beim Fehlerfinden und beheben sowie beim Lesen von Code Ublicherweise geht man davon aus dass Fehler die erst im Test gefunden werden zehnmal so teuer in der Behebung sind als wenn sie bereits wahrend der Entwicklung gefunden werden Voraussetzung fur hohe Produktivitatssteigerungen durch Paarprogrammierung ist allerdings dass die fachliche Kompetenz der Partner nicht zu sehr voneinander abweicht Verteilte Paarprogrammierung BearbeitenVerteilte Paarprogrammierung Distributed Pair Programming DPP ist die softwaregestutzte Durchfuhrung von Paarprogrammierung an getrennten Computern beispielsweise an unterschiedlichen Orten Bekannte Werkzeuge fur verteilte Paarprogrammierung sind Saros 5 XPairtise 6 oder Code With Me 7 Literatur BearbeitenLaurie Williams The Collaborative Software Process PDF 591 kB englisch Tilman Walther Pair Programming PDF 239 kB Chih wei Ho et al Sangam A Distributed Pair Programming Plug in for Eclipse csc ncsu edu PDF 200 kB Einzelnachweise Bearbeiten Kent Beck Extreme Programming Explained Embrace Change 2 Auflage Addison Wesley Longman Amsterdam 2004 ISBN 978 0 321 27865 4 Kap 10 S 58 englisch There are two roles in each pair One partner the one with the keyboard and the mouse is thinking about the best way to implement this method right here The other partner is thinking more strategically Is this whole approach going to work What are some other test cases that might not work yet Is there some way to simplify the whole system so the current problem just dissappears a b c d Alistair Cockburn Laurie Williams The Costs and Benefits of Pair Programming In University of Utah Computer Science Hrsg Extreme programming examined Addison Wesley 2001 ISBN 0 201 71040 4 S 223 243 ncsu edu PDF abgerufen am 10 November 2013 Tom DeMarco Timothy Lister Barentango Original Waltzing With Bears Hanser Fachbuchverlag Leipzig 2003 ISBN 3 446 22333 9 tagesspiegel de Saros Distributed Collaborative Editing and Pair Programming Arbeitsgruppe Software Engineering FU Berlin Website XPairtise A Distributed Pair Programming Plug in For Eclipse The XPairtise Team Webseite Code With Me The Collaborative Programming Service by JetBrains Abgerufen am 20 Oktober 2021 englisch Abgerufen von https de wikipedia org w index php title Paarprogrammierung amp oldid 236947201