Entscheidungsfindung bei der Paarprogrammierung

worked on by: Jeannine Darakci

Was ist Paarprogrammierung?

Paarprogrammierung ist eine agile Softwareentwicklungsmethode, bei der zwei Programmierer gemeinsam an derselben Aufgabe arbeiten. Dabei sitzen sie an einem Computer und arbeiten eng zusammen, um Code zu schreiben, zu überprüfen und zu verbessern. In der Paarprogrammierung teilen sich die Programmierer die Verantwortung für den Code und tauschen kontinuierlich Ideen aus, um gemeinsam effizientere Lösungen zu finden. Diese Methode fördert die Zusammenarbeit, das Wissenstransfer und die Qualität des Codes, da beide Programmierer ihre unterschiedlichen Erfahrungen und Perspektiven einbringen. Paarprogrammierung trägt auch dazu bei, Fehler frühzeitig zu erkennen und zu korrigieren, was zu insgesamt robusterer und besser wartbarer Software führen kann.

Methodik

Ziel dieser Arbeit ist es neue Theorien zu dem oben genannten Thema zu finden. Diese sollen mit GTM (Grounded Theory Methodology) entwickelt werden. GTM stammt aus der qualitativen Sozialforschung. Sie eignet sich vor allem für noch unerforschte Themen. Es werden keine Theorien untersucht, sondern neue Theorien konstruiert durch das systematische Erheben und Analysieren von Daten, sie sich auf das untersuchte Phänomen beziehen. Die Datensammlung, Analyse und Theorie stehen im Gegensatz zu anderen Forschungsmethoden in wechselseitiger Beziehung zueinander.

Herangehensweise

Die AG SE stellt Videos zur Verfügung, die Programmierer_innen bei der Paarprogrammierung zeigen. Das Durchgucken dieser Videos soll dazu dienen interessante Aspekte in Bezug auf die Paarprogrammierung zu finden und diesen auf den Grund zu gehen.

Aktueller Stand

Durch das Einsehen mehrer Entscheidungsepisoden gelang es, ein Schema aufzustellen, welches die Phasen darstellt, die durchlaufen werden, bis eine endgütlige Entscheidung getroffen wird.

0. Setup
1. Discussion
2. Enlightenment
3. Checkout

Diesen einzelnen Phasen wurden mehrere unterschiedliche Codes zugewiesen, die zeigen, wie unterschiedlich diese ablaufen können.

Zukünftige Schritte

Während der Ausarbeitung des oben erläuterten Schematas, fielen mir 2 wesentliche Dinge auf, die ich in den nächsten Wochen näher untersuchen werde.

1. Unterwürfigkeit eines Partners

In mehrer Entscheidungsepisoden konnte ich beobachten, dass ein Partner durchgehend dominanter zu sein schien. Dies macht sich beispielsweise bemerkbar, wenn die "unterwürfige" Person lediglich dasitzt, um zuzustimmen und sonst keinen Mehrwert zu leisten scheint. Diese Phänomen möchte ich näher untersuchen.

2. Missverständnisse

In einer Entscheidungsepisode kam es zu einem kleinen Missverständnis mit verschwendeter Zeit als Folge. 2 Personen diskutierten minutenlang, obwohl sie eigentlich genau dasselbe meinen. Hier möchte ich mir angucken, wie es zu solchen Missverständnissen kommt, wie sie verhindert werden könnten und was für Folgen sie zu haben scheinen.

Milestones and Planning

A milestone is a scheduled event signifying the completion of a major deliverable or a set of related deliverables. A milestone has zero duration and no effort -- there is no work associated with a milestone. It is a flag in the workplan to signify some other work has completed. Usually a milestone is used as a project checkpoint to validate how the project is progressing and revalidate work. (Source: http://www.mariosalexandrou.com/definition/milestone.asp)

Milestone no. Past days CW Goals target accomplished wrench
1 DONE 1 CWXX Goals accomplished

Weekly Status

Week 1 (CW XX)

Activities

  • been there, done that

Results

  • achieved XYZ

Next Steps

  • planning …

Problems