Qualitative Analyse öffentlicher Refactoringdiskussionen in Github Issue Trackern
worked on by: Jeannine Darakci
Outline
1.Einleitung
Der Begriff des Refactorings ist den meisten Menschen ein Begriff. Er ist fundamental, wenn es darum geht gute Softwarearchitektur zu betreiben. Es gibt bereits unterschiedliche Literatur zu der Vorgehensweise und den Vorteilen von Refactoring anhand verschiedener Messungen. Dennoch ist das Refactoring in der Praxis nicht so sehr verbreitet, wie man es annehmen oder sich wünschen würde.
- Wieso gibt es einen solchen Unterschied zwischen der Theorie und der tatsächlichen Durchführung?
- Wie sieht die Motivation und die Bereitschaft von Softwareentwickler:innen gegenüber dem Refactoring aus?
- Was hindert sie daran, Refactoring zu betreiben?
Diese Bachelorarbeit soll ein erster Schritt in Richtung Beantwortung dieser Fragen sein.
2.Geplante Vorgehensweise
2.1 Datensammlung
- Nutzung des QIF-Tools, um GitHub Issues zu erlangen.
2.2 Datenauswertung
- Ordnen und filtern der erlangten Issues
- Qualitative Analyse der Issues anhand der Grounded Theory Metholodogy
2.3 Theoriekonstruktion
- Aufstellen von Theorien und Hypothesen anhand der Analyseergebnisse
3.Ziel
Ziel dieser Arbeit ist es einen Einblick in das mentale Modell von Programmierer:innen zu bekommen, wenn es um ihre Bereitschaft geht, Refactoring zu betreiben. Mit mentalem Modell sind hierbei ihre tieferliegenden Gründe für ihr Verhalten, ihre Motivation und ihre Ziele gemeint. Insbesondere geht es darum, wieso Menschen nicht bereit sind Refactoring zu betreiben, obwohl es zahlreiche Literatur zu den Vorteilen des Refactorings gibt.
Weekly Status
Week 1 (CW 46)
Activities
- Aneignen von Wissen über Grounded Theory
- Vertiefen von Wissen über Technischen Schulden und Refactoring
Results
- Aneignung von Wissen über Grounded Theroy anhand von Literatur und Youtube-Videos
- Vertiefung meines Wissens über technische Schulden anhand von Literatur
Next Steps
- Einarbeitung in das QIF-Tool & verwenden des QIF-Tools
Week 2 (CW 47)
Activities
- Einarbeitung in das QIF-Tool
- Verwendung des QIF-Tools
Results
- Konfiguriertes QIF-Tool
- Eine Reihe von GitHub -Issues
Next Steps
- Weitere GitHub Issues raussuchen
- Filtern der GitHub Issues
- Nähere Analyse der GitHub Issues
Week 3,4,5,6 (CW 48-51)
Activities
- Verwendung des QIF-Tools
- Filtern der erlangten GitHub Issues Ergebnisse
- Nähere Analyse der Issues (Kodierung)
- Erstellung von Mindmaps
Results
- Eine Reihe von GitHub -Issues
- Codes
- Memos
- Mindmaps
Next Steps
- Nähere Analyse der GitHub Issues
- Muster in den Issues finden
Week 7,8,9,10 (CW 52-03)
Activities
- Nähere Analyse der Issues
- Mustererkennung
- Hypothesenaufstellung & Theoriekonstruktion
- Beginn mit dem Verfassen der Arbeit
Results
- Muster
- Hypothesen, Theorien
- Erste Anläufe der Arbeit
Next Steps
- Fertgistellung der Arbeit
Week 11,12, (CW 04-05/06)
Activities
- Fertigstellung der Arbeit
Results