Test getriebene Entwicklung (TGE) ist eine zentrale Praktik des Extreme
Programmings, einer agilen Methode der Softwareentwicklung. Ihren Befürwortern
zufolge führt TGE zu hochwertigerem Code und erhöht die Produktivität
der Entwickler. Im Zuge der in den letzten Jahren stark gewachsenen
Popularität der TGE sind eine Reihe empirischer Studien durchgeführt
worden, die den Nutzen der TGE im Vergleich mit anderen Entwicklungstechniken
untersucht haben. Jedoch sind die Resultate der Studien
nicht eindeutig. Während die Vorteile der TGE in einigen Studien tatsächlich
nachgewiesen werden konnten, kamen andere Studien zu gegenteiligen
Ergebnissen.
Ein möglicher Grund für die widersprüchlichen Ergebnisse liegt in der
unterschiedlichen Erfahrung der Teilnehmer mit der TGE: Die Studien wurden
entweder in akademischem Umfeld mit TGE-unerfahrenen Studenten
oder aber in betrieblichem Umfeld mit TGE-versierten Entwicklern als Teilnehmern
durchgeführt. Aus der unterschiedlichen Erfahrung resultiert eine
unterschiedliche Fähigkeit den Prozess umzusetzen. Daher stellt die
Prozesskonformität, d. h. inwieweit die Teilnehmer dem Prozess der TGE
gefolgt sind, eine Gefahr für die Gültigkeit der Studien dar. Dennoch ist
dieser Aspekt in keiner der Studien, in denen TGE mit anderen Entwicklungsmethoden
verglichen wurde, technisch kontrolliert worden.
Daher ist ein Werkzeug notwendig, mit dem sich die Prozesskonformität
der Teilnehmer bewerten lässt. Müller und Höfer [30] haben ein solches
vorgestellt. Da ihr System jedoch eine Reihe von Unzulänglichkeiten aufweist,
wurde die Entwicklung eines neuen Werkzeugs unumgänglich.
Im Rahmen dieser Diplomarbeit ist eine neue Anwendung entworfen
und implementiert worden, die eine eingehende Untersuchung von TGEProzessen
ermöglicht. Dazu analysiert das System die während einer Programmiersitzung
transparent für die Entwickler gesammelten Daten. Im
zweiten Teil der Diplomarbeit wird die Anwendung dazu verwendet, die
in einem Quasi-Experiment beobachteten Entwicklungsprozesse unerfahrener
Entwicklerpaare mit denjenigen erfahrener Entwicklerpaare zu vergleichen.
Die Ergebnisse lassen unter anderem den Schluss zu, dass TGE-erfahrene
Entwicklerpaare den TGE-Prozess strenger befolgen und häufiger
Umstrukturierungen vornehmen als TGE-unerfahrene Entwicklerpaare. |