Prozesscharakterisierung der lokalen und der erweiterten verteilten Paarprogrammierung
Zusammenfassung der Projektergebnisse
Bei Paarprogrammierung (PP) arbeiten zwei Personen eng zusammen an einer technischen Aufgabe. In der Regel nutzen sie dabei nur einen gemeinsamen Rechner (lokale PP), mit geeignetem Werkzeug geht es aber auch aus der Ferne mit zwei Rechnern (verteilte PP, DPP). PP verspricht eine Reihe von Vorteilen wie bessere Entwurfs- und Codequalität, schnellerer Arbeitsfortschritt und Austausch von Wissen. Das Vorhaben hatte zwei Stränge: Zu charakterisieren, wie der Wissenstransfer bei der PP vor sich geht und zu verstehen, wie DPP sich von PP unterscheidet und wie ein gutes DPP-Werkzeug aussehen muss. Wir benutzen für beide Teile Aufzeichnungen realer industrieller PP-Sitzungen zu realen Aufgaben; für den zweiten Teil zusätzlich Werkzeugbau. Haupterkenntnisse zum Thema Wissenstransfer: (1) Wissenstransfer-Episoden kommen in drei Modi vor mit Namen 'pull' (Erklärungen werden angefordert), 'push' (Erklärungen erfolgen spontan) und 'co-produce' (die Partner erarbeiten Wissen Hand-in-Hand gemeinsam). (2) Projektspezifisches Wissen ist weitaus relevanter während der PP als generisches Wissen. (3) PP-Sitzungen folgen einem festen Muster aus 2+1 Phasen. (4) Das Wissen im Paar synchron zu halten ist hochwichtig für den Erfolg einer PP-Sitzung. (5) Gute Paare gelangen manchmal kurz in einen Zustand, indem ihre Gedanken völlig synchron zu laufen scheinen, und machen dann extrem flüssigen und schnellen Fortschritt. (6) Im ungünstigen Fall kann es passieren, dass der PP-Prozess völlig zusammenbricht und das Paar keinerlei Fortschritt macht, obwohl einer der Partner allein es wohl könnte.
Projektbezogene Publikationen (Auswahl)
- Understanding Pair Programming: The Base Layer. Norderstedt, Germany: BoD, Dec. 6, 2013. 224 pp. ISBN: 978-3-7322-8193-0
Stephan Salinger and Lutz Prechelt
- “Liberating Pair Programming Research from the Oppressive Driver/Observer Regime.” In: Proc. 2013 Intl. Conf. on Software Engineering. ICSE (NIER). IEEE Press, 2013, pp. 1201–1204
Stephan Salinger, Franz Zieris, and Lutz Prechelt
(Siehe online unter https://doi.org/10.1109/ICSE.2013.6606678) - “Distributed-pair Programming Can Work Well and is Not Just Distributed Pair-programming.” In: Companion Proc. 36th Intl. Conf. on Software Engineering. ICSE (SEIP). ACM, 2014, pp. 74–83
Julia Schenk, Lutz Prechelt, and Stephan Salinger
(Siehe online unter https://doi.org/10.1145/2591062.2591188) - “On Knowledge Transfer Skill in Pair Programming.” In: Proc. 8th ACM/IEEE Intl. Symp. on Empirical Software Engineering and Measurement. ESEM. ACM, 2014, 11:1–11:10
Franz Zieris and Lutz Prechelt
(Siehe online unter https://doi.org/10.1145/2652524.2652529) - “Observations on Knowledge Transfer of Professional Software Developers During Pair Programming.” In: Proc. 38th Intl. Conf. on Software Engineering Companion. ICSE (SEIP). ACM, 2016, pp. 242–250
Franz Zieris and Lutz Prechelt
(Siehe online unter https://doi.org/10.1145/2889160.2889249) - “Does Pair Programming Pay Off?” In: Rethinking Productivity in Software Engineering. Ed. by Caitlin Sadowski and Thomas Zimmermann. Apress, 2019, pp. 251– 259
Franz Zieris and Lutz Prechelt
(Siehe online unter https://doi.org/10.1007/978-1-4842-4221-6_21) - PP-ind: Description of a Repository of Industrial Pair Programming Research Data
Franz Zieris and Lutz Prechelt
- “Explaining Pair Programming Session Dynamics from Knowledge Gaps.” In: Proc. 42nd Intl. Conf. on Software Engineering. ICSE. ACM, 2020, pp. 421–432
Franz Zieris and Lutz Prechelt
(Siehe online unter https://doi.org/10.1145/3377811.3380925) - “When Grounded Theory is Not Enough: Additions for Video-Based Analyses of Software Engineering Process Phenomena.” In: Software Engineering 2020, Fachtagung des GI-Fachbereichs Softwaretechnik, 24.-28. Februar 2020, Innsbruck, Österreich. Ed. by Michael Felderer, Wilhelm Hasselbring, Rick Rabiser, and Reiner Jung. 2020, pp. 153–154
Franz Zieris
(Siehe online unter https://doi.org/10.18420/SE2020_47) - “Two Elements of Pair Programming Skill.” In: Proc. 43rd Intl. Conf. on Software Engineering. ICSE (NIER). accepted (preprint: https://arxiv.org/abs/2102.06460). IEEE Press, 2021
Franz Zieris and Lutz Prechelt
(Siehe online unter https://doi.org/10.1109/ICSE-NIER52604.2021.00019)