Der Schlüssel zu nachhaltigen Softwarelösungen

Der Schlüssel zu nachhaltigen Softwarelösungen

Wenn wir von Nachhaltigkeit sprechen, denken wir nicht an Softwareprojekte, sondern an nachhaltig produzierte Kleidung oder umweltfreundliche Verkehrsmittel. Dennoch spielt dieses Thema in der Softwareentwicklung seit jeher eine entscheidende Rolle.
Auch wenn die Softwarebranche schnelllebig ist, will man schließlich nicht alle zwei bis drei Jahre eine neue Software für dasselbe Problem entwickeln und einführen - ganz im Gegenteil. Wer besonderes Augenmerk auf nachhaltig entwickelte Softwarelösungen setzt, profitiert von wirtschaftlichen Vorteilen und geringeren Aufwänden für Wartung und Weiterentwicklung, wie wir nahezu täglich feststellen.

Wir beobachten häufig, dass der wesentlichste Aspekt für langfristig eingesetzte Software in ausreichender Planung und einer geeigneten Vorprojektphase liegt. Durch die umfangreiche Beleuchtung der Anforderungen sowie des Projektumfelds (Unternehmensdomäne, Anwender:innen, Arbeitsweisen, etc.) kann die Software an die speziellen Bedürfnisse angepasst werden, sodass nicht nur eine neue Software eingeführt wird, sondern auch eine echte Arbeitserleichterung oder Modernisierung von Abläufen stattfindet.

Durch „Chemistry Meetings“, Anforderungsworkshops sowie eine UI/UX Designphase können hierbei beeindrucke Ergebnisse erzielt werden. Auf die traditionelle Herangehensweise, nämlich die aufwändige Erstellung eines Spezifikationsdokumentes, verzichten wir zunehmend und denken, dass die Zeit anders besser investiert ist. Anstatt unzählige Seiten mit schwer verständlichen Funktionsbeschreibungen zu produzieren, sprechen wir lieber ausführlich über die Anforderungen und tauchen tiefer in die Anwendungsdomäne ein, um danach die bestmögliche Lösung zu finden.

Ein Blick in die Glaskugel

Am Beginn von Softwareprojekten steht oft die Frage nach den erwarteten Kosten – und das völlig zurecht. Schließlich kaufen wir im täglichen Leben auch Waren, deren Preis wir im Vorfeld kennen oder vereinbart haben. Leider lässt sich dieser Gedanke nicht 1:1 für Softwareprojekte umlegen. Moderne Softwaresysteme und deren Anforderungen sind oft so komplex, dass eine exakte Schätzung vorab sehr viel Zeit in Anspruch nehmen würde. Neben der Frage, wer die Kosten dafür trägt, müssen wir uns auch fragen, ob diese Zeit wirklich gut investiert ist. Schließlich können sich Anforderungen auch während des Softwareprojekts ändern. Insbesondere wenn auch ein Forschungsanteil vorhanden ist, kann der benötigte Aufwand noch schwerer eingeschätzt werden.

Gerade aufgrund dieser Rahmenbedingungen profitieren wir in der Durchführung vom agilen Vorgehensmodell, welches uns erlaubt auch während der Umsetzung neue Wünsche aufzunehmen oder auf Ideen zu reagieren. Gleichzeitig nehmen wir jedoch in Kauf, dass die Software fast nie vollständig spezifiziert und durchgeplant ist, weshalb sich dies erst während der Umsetzung ergibt. Spätestens jetzt wird klar, dass deshalb eine genaue Abschätzung der Kosten in frühen Phasen nur ein sehr grober Indikator sein kann (siehe auch „Cone of Uncertainty“ in Projekten).

Deshalb investieren wir unsere Zeit zu Beginn eines Softwareprojekts lieber in „Chemistry Meetings“. Dabei lernen wir uns gegenseitig kennen, hören uns die Wünsche sowie Aufgabenstellung an, stellen viele Fragen und tauchen sukzessive tiefer in das Themengebiet des Projekts sowie das Projektumfeld ein. So erhalten beide Parteien schon sehr frühzeitig einen umfangreichen Eindruck vom Gegenüber, um etwaige Hindernisse zu erkennen und zu beseitigen. Ziel ist es gegenseitiges Verständnis und Vertrauen aufzubauen, damit einer erfolgreichen Vorprojektphase nichts im Weg steht.

A graphic of an electronic voting system

Erfolgsfaktor Vorprojektphase

Auch wenn die genaue Vorhersage der Kosten für die Umsetzung in frühen Phasen schwer ist, kann durch eine effiziente Vorprojektphase ein wertvoller Know-How-Aufbau stattfinden, wodurch in weiterer Folge eine genauere Abschätzung der Kosten möglich ist. Aus unserer Sicht ist die Vorprojektphase, bestehend aus Anforderungsworkshops und der Erstellung eines visuellen Prototyps, der Garant für die korrekte Ausrichtung des Softwareprojekts.

Die Zusammenarbeit von Design und Entwicklung während dieser Phase ist besonders wichtig, da so die entwickelten Designideen nicht nur seitens des Projektpartners, sondern auch durch unser Entwicklungsteam begutachtet und diskutiert werden können. So stellen wir sicher, dass wichtige Fragen für die Umsetzung schon vor Entwicklungsstart geklärt werden. Die Erstellung von Pflichtenheften oder Spezifikationen gehört immer seltener zu unseren Vorprojektphasen, zumal sich die Anforderungen während der Umsetzung ohnehin verändern und sich der Aufwand für die Erstellung nur selten rechnet.

Skizze

Einen besonderen Mehrwert für das Projekt stellt die Entwicklung eines UI/UX Designs bzw. eines visuellen Klick-Prototypen dar. Fast immer wird die zu entwickelnde Software durch frühe UI-Sketches erstmalig „greifbar“ und vermittelt einen realistischen Eindruck vom Endprodukt. Aus diesem Grund entstehen zu diesem Zeitpunkt auch die meisten neuen Ideen und Wünsche – und das ist auch gut so!

Da jetzt noch keine Zeile Quellcode getippt wurde, sind Änderungen und Erweiterungen der Anwendung vergleichsweise günstig (im Vergleich zur Entwicklung). Insbesondere wenn die Software über viele Jahre im Einsatz sein soll, ist die Entwicklung eines UI/UX Designs unerlässlich, sodass sich auch spätere Erweiterungen nahtlos in die Benutzeroberfläche einfügen können.

Kurz gesagt:
UI (User Interface) ist das Aussehen, UX (User Experience) ist das Gefühl!

Immer wenn jemand mit einem (digitalen) Produkt interagiert, entsteht ein Nutzererlebnis. Es geht also darum, wie sich das Produkt anfühlt, denn die UX umfasst alle Wahrnehmungen und Emotionen während der Nutzung. Dazu gehören auch Aspekte wie User Research, die Erstellung von Wireframes und Workflows.
Die UI beschreibt dagegen, wie das Produkt aussieht. Das betrifft das visuelle und ästhetische Design, also Dinge wie Farben, Typographie, Grafiken und weitere visuelle Elemente.

Der Weg zur nachhaltigen Software

Wir denken, dass der Schlüssel für nachhaltige Softwarelösungen in einer auf das jeweilige Projekt ausgerichteten Vorprojektphase liegt. Auch wenn hier anfängliche Aufwände anfallen, bevor es mit der Umsetzung losgeht, rentiert sich diese Investition spätestens ab Inbetriebnahme oder der ersten Erweiterung der Software. Vielmehr müssen wir für eine realistische Einschätzung also den „Total Cost of Ownership“ über die gesamte Lebensdauer betrachten.

Unsere Praxiserfahrung bestätigt, dass Lösungen, die unter diesen Gesichtspunkten entwickelt wurden, langfristig nicht nur kostengünstiger sind, sondern aufgrund der Designphase auch besser von den Anwendern angenommen und gerne genutzt werden. Durch den Einsatz moderner Technologien und geeigneter Softwarearchitekturen steht einer nachhaltig eingesetzten Softwarelösung somit nichts mehr im Wege.