Unterschiede in automatisch gemessener und durch EntwicklerInnen wahrgenommene Softwarequalität

Hintergrund

Das Re-Design existierender Softwaresysteme gehört zu den klassischen Prozessen und Aufgaben der Softwaretechnik. Wesentlicher Teil entsprechender Umstrukturierungsmaßnahmen ist die qualitative Beobachtung und Bewertung des entsprechenden Systems vor, während und nach dem Re-Design-Prozess. Die systematische Analyse der Softwarequalität anhand definierter Metriken, sei es über au-tomatisierte Prozesse oder manuelle Analysen, kann dazu beitragen, konkrete Handlungsempfehlungen für den Transformationsprozess zu entwickeln und dessen Ergebnisse kritisch zu bewerten. Bei der ini-tialen Bewertung des Systems können Unterschiede hinsichtlich der subjektiven empfundenen Einschät-zung durch die EntwicklerInnen und der objektiv durch den Einsatz wohl definierte Softwaremetriken gemessenen Qualität auftreten. Dieses Spannungsfeld kann und sollte in entsprechende Transformati-onsprozessen analysiert und berücksichtig werden. Vor dem Hintergrund eines anstehenden Prozessop-timierungsprojekts in der Software-Agentur Webstollen, untersucht diese Arbeit die angesprochenen Unterschiede im Kontext eines realen Beispiels. Als zertifizierter Servicepartner von JTL-Software ist das Unternehmen spezialisiert auf Webentwicklung im E-Commerce Bereich und bietet hauptsächlich Plugins, Templates und weiteres für JTL Shops an. Hierbei kommen gängige Systemen der Webentwick-lung zum Einsatz, Programmiersprachen wie PHP und JavaScript, Versionsverwaltung mit Git, sowie die Template Engine Smarty. Unter anderem ein voraussichtlich dieses Jahr erscheinendes großen Updates des JTL-Shopsystems, welches auch auf Entwicklerseite einige Änderungen mit sich bringen wird, war bei Webstollen der Anstoß, einen firmeninternen Transformationsprozess zur weiteren Optimierung der Arbeitsabläufe in der Entwicklung durchzuführen. Dieser geplante Prozess dient als Grundlage für die hier durchgeführte Abschlussarbeit.

Zielsetzung der Arbeit

Die Arbeit untersucht, in wie weit sich die automatisiert messbare Softwarequalität der aktuell einge-setzten Systemlandschaft von den Problemen und Qualitätslücken unterscheidet, die durch die be-troffenen EntwicklerInnen wahrgenommen und als kritisch empfunden werden. Die Qualitätsprobleme, aus Softwaretechnik-Sicht, der aktuellen Systemlandschaft werden dabei, unabhängig voneinander, durch den Einsatz etablierter Analysemethoden und -metriken auf der einen Seite und einer qualitativen Studie unter den EntwicklerInnen erhoben. Die so gewonnenen Erkenntnisse werden hinsichtlich ihrer Übereinstimmung und möglichen Unterschieden untersucht und diskutiert.

Konkrete Aufgaben

Auswahl und Aufbereitung passender Projekte für die Qualitätsanalyse

Auswahl passender Metriken und automatisieren Analyseverfahren

Entwerfen eines Studiendesigns für die automatisierte und manuelle Datenerhebung

Durchführung der Analysen, Gegenüberstellung und Aufbereitung der Daten

Erwartete Vorkenntnisse

Gute Kenntnisse der Softwaretechnik und des Softwareentwicklungsprozesses

Erfahrung in der Planung qualitative und quantitativer Studien

Kenntnisse im Bereich der Softwaremetriken sind wünschenswert

Weiterführende Quellen

Nach Absprache mit dem Betreuer