Bewertung, Verbesserung und Unterstützung leichtgewichtiger Softwareprozesse
Zusammenfassung der Projektergebnisse
Das Projekt "Leicht" ist mit dem Ziel angetreten ein besseres Verständnis für leichtgewichtige Softwareprozesse zu gewinnen. Im Mittelpunkt des Interesses standen dabei die kontrovers diskutierten Entwicklungsmethoden der testgetriebenen Entwicklung und der Paarprogrammierung. Diese Entwicklungsmethoden wurden in mehreren Studien und mit speziell für diesen Zweck entwickelten Werkzeugen untersucht. Die wichtigste Erkenntnis zur testgetriebenen Entwicklung aus diesem Projekt ist, dass ihre Umsetzung trotz der drei einfach klingenden Regeln 1. Schreibe einen Testfall, der fehlschlägt 2. Schreibe gerade soviel Anwendungscode, dass alle Testfälle laufen 3. Entferne eventuell entstandene Duplikationen vielen Entwicklern in der Praxis recht schwer fällt und für gewöhnlich langer Erfahrung bedarf. Studien die mit Anfängern in der testgetriebenen Entwicklung durchgeführt wurden sind daher kritisch zu sehen. Ferner konnte gezeigt werden, dass die Anwendung der testgetriebenen Entwicklung in Projekten zu nachweislich testbarerem Quellcode führt. Bei der Paarprogrammierung konnte nachgewiesen werden, dass Paare grundsätzlich weniger Fehler machen als einzelne Programmierer und dass sich die Fehlerwahrscheinlichkeit für Paare für Probleme, die eine eindeutige, logische Lösung haben, aus der der einzelnen Programmierer vorhersagen lässt. Weiter haben unsere Studien gezeigt, dass die Arbeitslast an Tastatur und Maus eher ungleich zwischen den Partnern verteilt ist und die Kontrolle über die Eingabegeräte sehr oft gewechselt wird. Mit Erfolg oder Misserfolg scheint aber weder die Verteilung der Arbeitslast an den Eingabegeräten noch die Häufigkeit der Wechsel an den selbigen in Zusammenhang zu stehen.
Projektbezogene Publikationen (Auswahl)
- Do Programmer Pairs Make Different Mistakes than Solo Programmers? In: 10th Intemational Conference on Evaluation and Assessment in Software Engineering (EASE), Seiten 1-10, 2006
Müller, Matthias M.
- The Effect of Test-Driven Development on Program Code. In: Extreme Programming and Agile Processes in Software Engineering, Band 4044/2006 der Reihe Lecture Notes in Computer Science, Seiten 94-103. Springer, 2006
Müller, Matthias M.
- Analyse leichtgewichtiger Softwareentwicklungsmethoden. Universität Karlsruhe (TH), Institut für Programmstrukturen und Datenorganisation (IPD), 2007. Habilitationsschrift
Müller, Matthias M.
- The Effect of Experience on the Test-Driven Development Process. Empirical Software Engineering, 12(6);593-615, Dezember 2007
Müller, Matthias M. und Andreas Höfer
- Exploratory Comparison of Expert and Novice Pair Programmers. In: Proceedings of the 3rd IFIP TC2 Central and East European Conference on Software Engineering Techniques, CEE-SET 2008, 2008
Höfer, Andreas
- Video Analysis of Pair Programming. In: APSO '08: Proceedings of the 2008 intemational workshop on Scrutinizing agile practices or shoot-out at the agile corral, Seiten 37-41, New York, NY, USA, 2008. ACM
Höfer, Andreas