Nachhaltigkeit in der Frontend Entwicklung
In der Frontend Entwicklung ist es wichtig die einzelnen Lebenszyklusphasen eines Softwareprodukts zu analysieren und dabei die Aspekte der Nachhaltigkeit in den Entwicklungsprozess zu integrieren. Mehr dazu könnt ihr im nachfolgenden Beitrag lesen.
Grundproblematik:
Die Digitalisierung bringt einige Veränderungen mit sich, vor allem in Bezug auf unsere Umwelt und die Nachhaltigkeit.
Im Bereich der Information Technology (ICT) ist es sehr schwierig zu sagen, ob diese Veränderung eher eine positive oder negative ist.
Ein positiver Aspekt ist, dass durch ICT der Material‑Flow d.h. der Einsatz von Materialien optimiert werden kann, was wiederum den Energieverbrauch reduziert und sich somit positiv auf die Umwelt auswirkt.
Gleichzeitig verbraucht die Benutzung von ICT selbst mehr und mehr Energie, was sich natürlich wiederum negativ auf die Umwelt auswirkt.
Durch diese unterschiedlichen Aspekte ist es sehr schwer abzuwägen, ob nun die Energieeinsparung durch neuere und bessere Entwicklungen oder der Energieverbrauch, der für die neuen Entwicklungen benötigt wird, größer ist.
Was man aber eindeutig sagen kann: Es ist extrem wichtig, auf nachhaltige Software und Softwareentwicklung zu achten!
Umsetzung:
Wie schafft man es aber, nachhaltige Software zu entwickeln?
Eine berühmte Herangehensweise ist das Lifecycle Model. Dieses beschäftigt sich mit jeder einzelnen Lebensphase des Softwareprodukts von der Beschaffung des Rohmaterials, über die Produktion und Benutzung bis hin zur Entsorgung.
Im Nachfolgenden haben wir uns hauptsächlich auf die Use Phase fokussiert.
1. Die Entwicklung
Bei der Entwicklung ist es maßgeblich die nachhaltige Perspektive miteinzubeziehen. Das heißt immer wieder überprüfen und testen: “Wie nachhaltig ist das, was ich gerade entwickle?”
2. Use Phase
In der Use Phase kann es helfen verschiedene Kriterien und Kategorien einzubeziehen. Diese kann man dann in einzelnen Schritten überprüfen und anpassen.
Kategorie 1: Ressourcen Effizienz
Zum einen kann die Hardware Effizienz betrachtet werden. D.h. man prüft, welche Kapazitäten man braucht, um das Softwareprodukt in Betrieb zu nehmen und zu benutzen.
Zum Anderen kann die Energie Effizienz geprüft werden. → Wie viel Elektrizität braucht die Hardware, während die Software benutzt wird?
Zusätzlich kann das Ressourcen Management überprüft werden. → Hat die Software ein Energiemanagement Feature und wie effektiv ist es?
Kategorie 2: Hardware Benutzung
In der Kategorie der potenziellen Hardware Benutzung untersucht man zum einen die “Backward compatibility”.→ Ist es sicher, dass das Softwareprodukt auch in x Jahren den aktuellen Release noch ausführen kann?
Zum anderen kann die Unabhängigkeit und Übertragbarkeit der Plattform geprüft werden. → Kann das Softwareprodukt in unterschiedlichen Systemumwelten ausgeführt werden?
Zuletzt wird die Hardware Zulänglichkeit getestet. → Bleibt die Hardware Kapazität konstant, auch wenn sich die Software weiterentwickelt?
Kategorie 3: User Autonomy
Bei der User Autonomy dreht sich alles, wie der Name schon sagt, um den Nutzer. Hier sind Transparenz und Bedienfreundlichkeit sehr wichtig. Die Fragen, die hier geprüft werden sollten, sind zum Beispiel: Hat der Nutzer alle relevanten Informationen, um die Ressourcen nachzuvollziehen? Kann die Software deinstalliert werden? Kann der Nutzer selbst die Software deinstallieren?
3. Abbau Phase
Hier steht vor allem die Entsorgung des Produkts im Vordergrund. Es wird analysiert, welche Auswirkungen die Entsorgung des Produkts auf die Umwelt hat.