In diesem Kapitel stellen wir Qualitätsmodelle vor, die das Thema Sustainability, im Kontext von Green Software, betrachten sowie wissenschaftlich fundiert sind. Weiters beurteilen wir, inwieweit diese Modelle systematische Erweiterungen der ISO/IEC 25010 sind.
Basis für die Analyse der Qualitätsmodelle bildet das ISO/IEC 25010, welches zwei wesentliche Teilmodelle umfasst: das Softwarequalitätsmodell (Product Quality Model, PQ) und das Nutzungsqualitätsmodell (Quality in Use Model, QiU). Das PQ besteht aus den Qualitätsattributen Functional Suitability, Performance Efficiency, Compatibility, Usability, Reliability, Security, Maintainability und Portability. Das QiU wiederum konzentriert sich auf die Qualitätsattribute Effectiveness, Efficiency, Satisfaction, Freedom from risk und Context Coverage.
In den folgenden Absätzen werden die identifizierten grünen Softwarequalitätsmodelle kurz vorgestellt und für jedes Modell geprüft, inwieweit es einen Bezug zum ISO/IEC 25010 herstellt und Nachhaltigkeit berücksichtigt.
Modell 1: Quality Model Green and Sustainable Software von Kern et al. (2013) bzw. Naumann et al. (2015)
Naumann et al. (2011) haben im Jahr 2011 das GREENSOFT Modell präsentiert, welches mittels Betrachtung des gesamten Produktlebenszyklus die Nachhaltigkeitsdimensionen Ökologie, Soziales, Wirtschaft und Menschheit berücksichtigen soll (Naumann et al. 2011, S. 296).
Kern et al. (2013, S. 89) verorten eine Forschungslücke, wenn es darum geht, direkte (sogenannte Effekte erster Ordnung) und indirekte Auswirkungen (sogenannte Effekte zweiter und dritter Ordnung) von Software auf die Umwelt zu erfassen. Aus diesem Grund haben sie (Kern et al. 2013) das GREENSOFT Modell um das Submodell Quality Model for Green and Sustainable Software erweitert. Der Fokus ihres Teilmodells liegt auf der Definition von Kriterien und Metriken, um feststellen zu können, ob das zu analysierende Softwareprodukt dem Feld Green Software und Green Softwareengineering zuzuordnen ist. Es konkretisiert dabei die GREENSOFT-Dimension Sustainability Criteria and Metrics, die sich aus den drei Kategorien Common Quality Criteria and Metrics, Directly Related Criteria and Metrics und Indirectly Related Criteria and Metrics zusammensetzt. Darüber hinaus erlaubt es Effekte erster, zweiter und dritter Ordnung systematisch zu analysieren und bei der Entwicklung von Software zu berücksichtigen. Soziale Aspekte finden ihre Entsprechung in den Directly related Criteria des Quality Model for Green and Sustainable Software (Kern et al. 2013; Naumann et al. 2015). Ökologische Aspekte werden auf allen drei Ebenen des Modells berücksichtigt.
Die Norm ISO/IEC 25010 (2011) berücksichtigen die EntwicklerIn (Kern et al. 2013; Naumann et al. 2015) im Quality Model for Green and Sustainable Software indirekt, und zwar in der Form, dass sie die folgenden Kriterien des PQs in ihre Kategorien Common Criteria und Directly related Criteria aufnehmen:
-
Resource utilization (Subkriterium von Performance Efficiency),
-
Usability, mit Subkriterium Accessibility und
-
Portability, mit Subkriterium Adaptability.
Darüber hinaus erachten Kern et al. (2013) die Kriterien Reusability und Modifiability (Subkriterien des PQ-Kriteriums Maintainablilty) als relevant für Sustainable Development. Einen darüberhinausgehenden Bezug zum ISO/IEC 25010 stellen sie nicht her.
Modell 2: 25010+S von Calero et al. (2015)
Calero et al. (2014a, 2015) sind der Meinung, dass die ökologische Nachhaltigkeitsdimension in jedem Fall bei der Softwareproduktentwicklung berücksichtigt werden sollte, und bezeichnen dies als Green Software oder Software Greenability. Sie begründen dies durch den Ressourcenverbrauch, welcher durch die Produktion und den Betrieb von Software getrieben ist. In (Calero et al. 2015) stellen sie einen direkten Bezug zum ISO/IEC 25010 her, in dem sie zu Beginn untersuchen, ob die Norm Sustainability bereits implizit, in Form von Performance Efficiency, berücksichtigt. Sie kommen zu dem Ergebnis, dass das ISO/IEC 25010 um die Dimension Greenablity erweitert werden muss, um Nachhaltigkeit im Softwareentwicklungsprozess explizit berücksichtigen zu können. Konkret geht es ihnen um die Formulierung von grünen nichtfunktionalen Anforderungen bzw. Greenability-Kriterien. Als Folge haben sie das PQ-Modell und QiU-Modell des Standards um eine neue Dimension Greenability erweitert und hierfür entsprechende Subkriterien festgelegt. Im Kontext von Green Software und Softwareproduktqualität (PQ) erachten sie folgende Kriterien als relevant:
Damit ein Softwareprodukt langlebig ist, braucht es nach Ansicht von Calero et al. (2015, S. 240) das Subkriterium Perdurability, welches von den Subkriterien Modifiability, Adaptability und Reusability abgeleitet ist.
Auch beim QiU-Modell haben Calero et al. überprüft, ob Greenability bereits implizit berücksichtigt ist. Sie beschreiben dies vage als „identifying those characteristics and sub-characteristics that may be related in some way to greenability“ (Calero et al. 2015, S. 243). Eine Aufzählung, welche (Sub‑)Kriterien dies sein könnten fehltFootnote 3. Im Ergebnis erweitern Calero et al. (2015, S. 245) das QiU-Modell des ISO/IEC 25010 wie folgt:
Modell 3: Generic Sustainable Software Star Model (GS3M) von Amri und Bellamine Ben Saoud (1,2,a, b)
Den Forschenden Amri und Bellamine Ben Saoud (2014a) gingen die bisherigen Bestrebungen, wie Nachhaltigkeit im Software Engineering Berücksichtigung finden könnte, nicht weit genug, da AutorInnen wie beispielsweise Kern et al. (2013) oder Calero et al. (2013b, 2014b) lediglich die soziale und/oder die ökologische Nachhaltigkeitsdimension adressiert haben. Amri und Bellamine Ben Saoud (2014a) beziehen sich hierbei auf Penzenstadler und Femmer (2013), welche der Ansicht sind, dass nachhaltiges Software Engineering ökologisch, technisch, sozial, individuellFootnote 4 und ökonomisch nachhaltig sein sollte.
Amri und Bellamine Ben Saoud (1,2,a, b) entwickelten daher das Generic Sustainable Software Star Model (GS3M), bei welchem jede Sternzacke eine der vorgenannten fünf Nachhaltigkeitsdimension adressiert. Im Fokus dieses Modells steht sowohl das Softwareprodukt als auch die zugrundeliegenden Prozesse. Auf die Norm ISO/IEC 25010 (2011) beziehen sich Amri und Bellamine Ben Saoud (1,2,a, b) insoweit, als dass sie ihre generalisierten Attribute durch Qualitätskriterien aus der Norm konkretisieren. Als Beispiel führen sie Accessibility an, welchem sie einen sozialen Mehrwert für AnwenderInnen eines Softwareprodukts attestieren. In Form von Green Software beziehen sie sich auf die ISO-Kriterien Performance Efficiency und indirekt auch auf Resource utilization. Als Voraussetzungen für die Dauerhaftigkeit von Software sehen sie die Kriterien Maintainability, Portability und Usability an.
Modell 4: Green internal/external quality model von Beghoura et al. (2017)
Einen ähnlichen Ansatz, wie jenen von Calero et al. (2015), haben Beghoura et al. (2017) in ihrer Publikation „Green software requirements and measurement: random decision forests-based software energy consumption profiling“ verfolgt. Beghoura et al. (2017) entwickelten einerseits das Green internal/external quality model und präsentierten andererseits ein Profiling-Tool, mit welchem sich die Softwarequalität und Green Efficiency von Software beurteilen lässt. Das Profiling-Tool basiert auf einem multiplen Regressionsmodell und verwendet einen überwachten Lernalgorithmus, um das Energieverbrauchsverhalten verschiedener Geräte, auf denen die Software unter verschiedenen Arbeitslastbedingungen läuft, zu untersuchen. Bezüglich weiterer Details zum Profiling-Tool wird auf (Beghoura et al. 2017, S. 30–39) verwiesen.
Beghoura et al. (2017, S. 29) heben weiters hervor, dass der Energieverbrauch von der Intensität der Ressourcennutzung und den zugrundeliegenden Hardwarekomponenten beeinflusst wird. Sie sind deshalb der Meinung, dass EntwicklerInnen Techniken anwenden sollten, die zur Optimierung des Energiebedarfs beitragen. Um eine differenzierte Betrachtung, je nach Art der zu entwickelten Software und der benötigten Hardwarekomponenten, zu ermöglichen, haben die Autoren (Beghoura et al. 2017, S. 29) die folgenden Kriterien definiert:
-
Green computation efficiency ist dann gegeben, wenn die Software die geforderte Arbeitslast effizient und mit optimalen Energieeinsatz bewältigen kann.
-
Mittels Green data management soll gewährleistet werden, dass die Software auf gespeicherte Daten möglichst effizient und energiesparend zugreifen kann.
-
Bei Green data communication liegt der Fokus auf Energiemanagementstrategien, die einen möglichst energieeffizienten Datenaustausch über das Netzwerk ermöglichen sollen.
-
Eine ganzheitliche Betrachtung des Energieverbrauchs von Software kann mittels Energy consumption awareness erreicht werden. Ziel hierbei ist es, ein Bewusstsein für das Verhalten von Software bei hohem, durchschnittlichen und niedrigem Energieverbrauch zu erlangen.
Bezugnehmend auf das QiU-Modell, des Standards ISO/IEC 25010 (2011, S. 3), kommen Beghoura et al. (2017, S. 29) zu dem Schluss, dass grüne Softwarequalitätsaspekte bereits implizit, in Form des Kriteriums Freedom from risk, berücksichtigt sind. Die Autoren bemängeln jedoch, dass das ISO-Modell für Produktqualität (PQ) (ISO/IEC 25010 2011, S. 4) keine Kriterien für die Entwicklung von Green Software bereitstellt.
Bezugnehmend auf die Dimensionen der SDGs, bieten Beghoura et al. (2017) mit ihrem Modell die Möglichkeit nachhaltige Anforderungen an Software zu definieren und so ökologische Nachhaltigkeit im Softwareentwicklungsprozess zu adressieren.
Modell 5: Integrating Environmental Sustainability in Software Product Quality von Koçak et al. (2015, 2014)
Koçak et al. haben evaluiert (2013, 2014, 2015), wie sich Anforderungen an die Softwarequalität und an die Umweltfreundlichkeit des Produktes wechselseitig beeinflussen. Sie haben zudem ein hierarchisches Rahmenwerk präsentiert (Koçak et al. 2013, 2014), mit welchem Green Software Kriterien priorisiert werden können, um Zielkonflikte auszugleichen bzw. zu minimieren.
In (Koçak et al. 2015, S. 2–3) beziehen sie sich auf die Qualitätsmodelle des ISO/IEC 9126 und des ISO/IEC 25010 und heben hervor, dass Nachhaltigkeit in diesen keine Berücksichtigung findet. Als Modelle, welche Green und Sustainable Software berücksichtigen und die Norm ISO/IEC 25010 referenzieren, wählten Koçak et al. (2015, S. 3) das Softwarequalitätsmodell von Kern et al. (2013) sowie das Modell 25010+S von Calero et al. (2013a, 2015) aus. In diesem Zusammenhang identifizierten sie die Erforschung des Einflusses von Qualität auf Nachhaltigkeitsdimensionen als Forschungslücke. Um diese Forschungslücke zu schließen, überführten Koçak et al. (2015) zunächst die Hierarchiestufen aus (Koçak et al. 2014) in ein Modell. Auf Ebene der Softwarequalität erachten Koçak et al. (2015), die folgenden internen Qualitätskriterien des PQ-Modells (ISO/IEC 25010 2011) als relevant: Functional Suitability, Performance Efficiency, Security, Reliability, Usability und Compatibility. Die anschließende Befragung von 53 IT-ExpertInnen hat ergeben, dass lediglich Performance Efficiency, Usability, Functional Suitability und Reliability als wichtige Kriterien für die Entwicklung von ökologisch nachhaltigen Softwareprodukten angesehen werden (Koçak et al. 2015, S. 7).
Für die Environmental-Dimension haben Koçak et al. Resource usage und Energy impact (aus Koçak et al. 2014) in Resource Efficiency und Energy Efficiency umbenannt. Die Autorinnen (Koçak et al. 2015) begründen ihre Auswahl damit, dass diese Kriterien mit einem direkten Effekt auf Umwelt oder Ressourcen assoziiert werden und daher im Fokus ihrer Untersuchung stehen.
Wenn die benötigten Ressourcen, welche das Softwareprodukt für die Ausführung von Funktionen oder dem Produzieren nützlicher Arbeitslast nutzt, effizient arbeiten, dann sprechen Koçak et al. (2015, S. 4) von Ressource Efficiency. Als Beispiele für datenverarbeitende Ressourcen nennen sie unter anderem Arbeitsspeicher, Netzwerkbandbreite oder Storage (Koçak et al. 2015, S. 4).
Modell 6: IT-oriented Software Quality Models von Gordieiev und Kharchenko (2018)
Gordieiev et al. (2015, 2016) haben in den Jahren 2015 und 2016 bestehende Softwarequalitätsmodelle auf deren Entwicklung im Zusammenhang mit Green Software und Software Reliability untersucht und eine Vorhersage getroffen, wie die zweite Version der Norm ISO/IEC 25010 (PQ- und QiU-Modell) Aspekte von Green Software berücksichtigen könnte. Öffentlich zugängliche Informationen zum Inhalt des überarbeiteten Standards (ISO/IEC CD 25010 o.J.) sind nicht verfügbar.
Darüber hinaus haben sie im Jahr 2018 den Artikel „IT-oriented software quality models and evolution of the prevailing characteristics“ (Gordieiev und Kharchenko 2018) veröffentlicht. Die Autoren haben in diesem wechselseitige Beziehungen zwischen den Kriterien des ISO/IEC 25010 und Informationstechnologien (IT) sowie Paradigmen der Informatik untersucht. Konkret wurde die Korrelation für die Begriffe Internet of Things (IoT), Green IT, Virtual Reality (VR), Augmented Reality (AR), Artificial Intelligence (AI), Cloud Computing, Blockchain und Web betrachtet. Weiters haben sie ein technologieorientiertes Softwarequalitätsmodell skizziert.
Für die Erstellung des IT-orientierten Softwarequalitätsmodells (ITOSQM) haben Gordieiev und Kharchenko (2018, S. 376) zunächst das grobe Konzept erstellt und sich dabei für das ISO/IEC 25010 als Basis entschieden und festgelegt, dass jedes ITOSQM beliebig viele Kriterien aus dem Standard enthalten darf. Die Kriterien selbst können als Typ 1, Typ 2 oder Typ 3 klassifiziert werden. Gordieiev und Kharchenko (2018, S. 376) beschreiben die Kategorien wie folgt:
-
1.
Typ 1: Prioritätsmerkmale, die von der Informationstechnologie beeinflusst werden
-
2.
Typ 2: wichtige Merkmale, die im Zusammenhang mit der Informationstechnologie stehen, aber nicht von höchster Priorität sind
-
3.
Typ 3: Merkmale, die nicht im Zusammenhang mit der Informationstechnologie stehen
Für die Erstellung des Modells haben die Autoren (Gordieiev und Kharchenko 2018) anschließend und mittels Fragebogen erhoben, wie ExpertInnen die PQ-Hauptkriterien des ISO/IEC 25010 (2011) den einzelnen Technologien und Konzepten zuordnen würden. Die ExpertInnen kamen dabei aus der Softwareentwicklung (30 %), dem IT-Sektor (20 %) und aus Forschungs- und Bildungseinrichtungen.
Die von Gordieiev und Kharchenko (2018) durchgeführte Befragung zur Erhebung von Beziehungen zwischen Softwarequalitätskriterien des ISO/IEC 25010 (Hauptkriterien des PQ-Modells) und IT Paradigmen hat ergeben, dass Performance Efficiency als prioritäres Merkmal zu sehen ist, welches von Green IT beeinflusst wird (Typ 1, 7 Zuordnungen). Zudem werden Functional suitability und Reliability (jeweils 4 Zuordnungen) sowie Usability (3 Zuordnungen) von den ExpertInnen als wichtig, aber nicht als vorranging (Typ 2) angesehen. Keine Beziehung zu Green IT (Typ 3) wurde den Kriterien Security und Portability (jeweils 2 Zuordnungen) sowie Compatibility und Maintainability (jeweils 1 Zuordnung) attestiert.
Modell 7: Software Sustainability Model von Condori-Fernandez und Lago (11,12,a, b, 2019)
Einen weiteren und ersten Ansatz, wie Nachhaltigkeit als Qualitätsanforderung im Softwareentwicklungsprozess berücksichtigt werden kann, haben Condori-Fernandez und Lago (2018a) in ihrer Publikation „Characterizing the contribution of quality requirements to software sustainability“ veröffentlicht. Sie haben dabei empirisch untersucht, welche Qualitätsanforderungen des ISO/IEC 25010 in der Lage sind zu ökonomischer, technischer, ökologischer und sozialer Nachhaltigkeit beizutragen. Konkret haben die Autorinnen mittels Fragebogen erhoben, welche Kriterien des ISO/IEC 25010 (Product Quality und Quality in Use, PQ und QiU) als relevant für die einzelnen Dimensionen von Nachhaltigkeit angesehen werden. Auf Basis der in (2018a) gewonnenen Erkenntnisse haben Condori-Fernandez und Lago in (2018b) das Software Sustainability Quality Model entwickelt, welches aus einer tabellarischen Zuordnung der ISO-Qualitätskriterien zu den Dimensionen sozialer, technischer, ökologischer und ökonomischer Nachhaltigkeit besteht. Im Zuge weiterer Publikationen (Condori-Fernandez und Lago 2019; Fernandez et al. 2019; Condori-Fernandez et al. 2020) haben die AutorInnen den Nutzen ihres Modells evaluiert und dieses sukzessive verfeinert.
Software ist per Definition dann Green, wenn sie einen möglichst geringen negativen und im besten Fall positiven Einfluss auf die Nachhaltigkeitsdimensionen hat (vgl. Naumann et al. 2011). Für die Entwicklung von Green und Sustainable Software sind dabei jene Kriterien des Software Sustainability Quality Modells besonders relevant, die mehrere Nachhaltigkeitsdimensionen adressieren. Quintessenz aller vorgenannten Publikationen ist, dass insbesondere die folgenden Kriterien des ISO/IEC 25010 als relevant für die Entwicklung von Green Software angesehen werden:
-
Compatibility: technische, soziale, ökologische und ökonomische Nachhaltigkeit
-
Effectiveness: technische, soziale und ökonomische Nachhaltigkeit
-
Maintainability: technische, soziale und ökonomische Nachhaltigkeit
-
Efficiency: technische, ökologische und ökonomische Nachhaltigkeit
-
Usability: soziale und ökonomische Nachhaltigkeit
-
Trust: technische und soziale Nachhaltigkeit
-
Usefulness: technische und soziale Nachhaltigkeit
-
Recoverability: technische Nachhaltigkeit
Bei den Kriterien Trust, Usefulness und Recoverability herrscht noch Uneinigkeit, ob diese zu ökonomischer Nachhaltigkeit beitragen oder nicht (vgl. Condori-Fernandez und Lago 2019; Fernandez et al. 2019; Condori-Fernandez et al. 2020).
Darüber hinaus haben die AutorInnen (Fernandez et al. 2019; Condori-Fernandez et al. 2020) das ISO/IEC 25010 um die Merkmale Robustness, Data Privacy, Timeliness, Regulation compliance, Scalability und Tailorability erweitert, welche im Zuge von industriellen Projekten als relevant angesehen wurden.