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

  • Bachelorarbeit