-- domebl - 04 Mar 2024

Softwareentwicklung in den Digital Humanities

Kontext

Die Digitalisierung der Welt hat in den letzten 20 Jahren auch vor den Geisteswissenschaften nicht haltgemacht, gar einen neuen interdisziplinären Zweig dieser Fächerwelt ausgebildet. Langzeitforschungsprojekte aus dem Bereich der digitalen Geisteswissenschaften – dem Englischen Digital Humanities nach geläufig als DH – werden fast ausschließlich an öffentlichen Institutionen, wie Universitäten, Bibliotheken und anderen Forschungszentren durchgeführt. Nur in seltenen Fällen ist der privatwirtschaftliche Bereich involviert. Daraus ergeben sich für die Softwareentwicklung in diesen Projekten zwei Besonderheiten.

Zum einen kommen die Projektmitglieder oftmals aus einem Fach der Geisteswissenschaft und haben keine oder nur geringe Kenntnisse der Softwareentwicklung im Rahmen eines Studiums oder einer Ausbildung erworben. Zum anderen müssen diese Forschungsprojekte regelmäßig (teils im Zweijahresrhythmus) Rechenschaft über ihre Mittelverwendung und ihren Fortschritt ablegen. Bei dieser Begutachtung mangelt es häufig an (tiefgehender) softwaretechnischer Expertise. Somit gibt es auch keine externe Begutachtung der Software-Architektur oder gar des Codes selbst.

Der Autor dieser Zeilen ist an der Berlin-Brandenburgischen Akademie der Wissenschaften in einem solchen Projekt tätig. Im Rahmen dessen hat er einen intensiven Einblick in die genutzte Code-Basis. Dabei ist er auf zahlreiche, seines Erachtens auf mangelnde Softwaretechnik-Kenntnisse zurückzuführende problematische Phänomene gestoßen. Problematische Phänomene sind Codezeilen, die vorherrschenden Programmierparadigmen oder Best-Practices widersprechen, somit Wartung oder Weiterentwicklung hemmen und mangelnde Qualifikation der Programmierer*innen schließen lassen.

Forschungsfrage

Das Ziel dieser Masterarbeit ist es, der Frage nachzugehen, welche Code-Phänomene in Projekten der digitalen Geisteswissenschaften entstehen und wie diesem Umstand durch gezielte Qualifikation Abhilfe geschaffen werden kann. Dies wird beispielhaft am IT-Teil des Langzeitprojektes „Strukturen und Transformationen des Wortschatzes der ägyptischen Sprache: Text- und Wissenskultur im Alten Ägypten“ umgesetzt.

Methodik

Zu Beginn der Arbeit wird eine Literaturrecherche zur Einarbeitung in die im Verlauf der Arbeit anzuwenden Methodiken durchgeführt. Um der Forschungsfrage nachzugehen, wird die im Projekt „Strukturen und Transformationen des Wortschatzes der ägyptischen Sprache: Text- und Wissenskultur im Alten Ägypten“ verwendete Code-Basis im Hinblick auf problematische Phänomene analysiert (dies können bspw. Funktionen, die sehr groß sind und viele Aufgaben übernehmen, oder Oberklassen sein, die logisch zu Unterklassen gehörendes Verhalten implementieren).

In Zusammenarbeit mit an der Entwicklung der Software beteiligten Personen wird eine Intervention in Form von Pairprogramming-Sessions durchgeführt. Ziel dieser Intervention ist es, ein gründliches Verständnis für die Problematik und richtige Handlungsweisen zu wecken.

Die Pairprogramming-Sessions werden im Hinblick auf den Aspekt des Wissenstransfers hin analysiert. Dabei wird u.a. den Fragen
  • Verstehen die Proband*innen den Lösungsgedanken, widersprechen sie, „nicken“ sie nur ab ohne ich zu verstehen?
  • Welche Denk- und Handlungsmuster treten auf?
  • Warum sehen die Proband*innen das Phänomen als Problem an oder ggf. nicht?
  • Wie schätzen die Proband*innen selber den Handlungsbedarf ein?
nachgegangen.

Risiken

Abgesehen vom allgemeinen Lebensrisiko ist ein kritischer Punkt dieser Arbeit die Abhängigkeit von der Mitarbeit Dritter. Für die Intervention ist die Bereitschaft zur Teilnahme mindestens eines Mitarbeiters der Berlin-Brandenburgischen Akademie der Wissenschaften zwingend notwendig. Zurzeit liegt eine Zusage zur Teilnahme einer an der Programmierung beteiligten Person vor.

Arbeitsschritte und -ergebnisse

(1) Es wird eine Code-Analyse durchgeführt und Phänomene aufgelistet. Eine Liste der Phänomene mit Kurzbeschreibung ihrer Charakteristika liegt als Ergebnis dieses Arbeitsschrittes vor.

(2) Phänomene werden in Kategorien gruppiert und einzelne ausgewählt. Je vorkommender Kategorie (Programmierparadigma/Best-Practice) ist mindestens ein Phänomen ausgewählt.

(3) Pairprogramming-Sessions bzgl. der ausgewählten Phänomene zusammen mit Mitarbeiter(m/w/d). Ergebnis sind Aufzeichnungen der Pairprogramming-Sessions.

(4) Analyse des Wissenstransfers. Die Pairprogramming-Sessions werden in Hinblick auf den Wissenstransfer analysiert. Ergebnis ist eine Liste der Beobachtungen und Antworten der Proband*innen.

(5) Aus den Erkenntnissen aus Schritt (2 – 4) werden Hypothesen gebildet. Das Ergebnis ist eine Auflistung an Hypothesen.

(6) Die in Schritt (5) aufgestellten Hypothesen werden diskutiert und Qualifizierungsempfehlungen für DH-Projekte abgeleitet. Die Diskussion und die Handlungsempfehlungen sind das Ergebnis dieses Schritts.

(7) Die Aussagekraft der Untersuchung wird hinsichtlich ihrer internen und externen Gültigkeit geprüft. Ergebnis ist, ob die Aussagen intern und extern gültig sind.

(8) Abschließend wird das Erarbeitete zu Papier gebracht. Ergebnis ist die (fertige) Masterarbeit.

Gliederung

Die Masterarbeit wird aus formalen und inhaltlichen Abschnitten bestehen.

Titelblatt

Eidesstattliche Erklärung

Zusammenfassung: Die Zusammenfassung gibt einen kurzen Überblick über die Thematik, die angewandte Methodik und das Ergebnis

Inhaltsverzeichnis

Einführung: Die Relevanz des Forschungsvorhabens und die Fragestellung leiten in die Arbeit ein. Es wird deutlich gemacht, was die Ziele der Arbeit sind und was im Rahmen dieser Arbeit geleistet werden soll bzw. nicht.

Definition: Im Rahmen dieser Arbeit verwendete Begriffe werden definiert und gegeneinander abgegrenzt.

Forschungsstand: Bereits zu dieser Thematik erarbeitete Literatur wird dargelegt.

Code-Basis: Es wird in die Architektur der Software, die Business-Objekte und Datenstrukturen eingeführt.

Methodik: Das Vorgehen bei der Code-Analyse, der Intervention (Pairprogramming-Sessions) sowie der Wissenstransferanalyse wird dargelegt.

Ergebnis der Code-Analyse: In diesem Abschnitt wird dargelegt, welche Phänomene identifiziert werden konnten. Eine Gruppierung der Phänomene schließt diesen Teil ab.

Ergebnis der Wissenstransferanalyse: Die aus der Wissenstransferanalyse gewonnenen Erkenntnisse werden aufgeführt.

Diskussion: Aus den Ergebnissen abgeleitete Hypothesen zur Qualifikation von DH-Personal werden diskutiert. Ferner werden Empfehlungen für DH-Projekte abgeleitet.

Gültigkeit: Die Arbeit wird hinsichtlich ihrer internen und externen Validität geprüft.

Fazit & Ausblick: Ein abschließendes kritisches Fazit wird gezogen und Anknüpfungspunkte für weitere Forschungen werden gegebenenfalls aufgezeigt.

Literaturliste

Zusammenfassung und erwartete Ergebnisse

Ziel des Vorhabens ist es der Beantwortung der Frage nachzugehen, welche Code-Phänomene in Projekten der digitalen Geisteswissenschaften entstehen und wie diesem Umstand durch gezielte Qualifikation Abhilfe geschaffen werden kann. Um dies zu erreichen, wird eine Code-Analyse vorgenommen werden. In einem zweiten Schritt werden Pairprogramming-Sessions bzgl. exemplarisch ausgewählter Phänomene durchgeführt. Die Pairprogramming-Sessions werden im Hinblick auf den Aspekt des Wissenstransfers analysiert.

Durch die Auswertung dieses Materials, so wird erwartet, erlangt man einen Einblick in die in der Praxis auftretenden Phänomene und Probleme. Die Ergebnisse werden hinsichtlich einzelner abgeleiteter Hypothesen diskutiert und Vorschläge zur Qualifizierung von IT-Personal in den Projekten der digitalen Geisteswissenschaften gemacht. Abschließend werden diese Vorschläge kurz hinsichtlich ihrer Vor- und Nachteile sowie ihrer Anwendbarkeit in der Praxis diskutiert. Diese Vorschläge sowie Erkenntnisse zu auftretenden Phänomenen stellen das Ergebnis dieser Arbeit dar.