Digitale Produktentwicklung für maximal leistungsfähige Anwendungen
Digitale Produktentwicklung
- 04.07.2022

Den zunehmend komplexeren Herausforderungen qualifiziert begegnen

Speziell Unternehmen aus dem Maschinen- und Anlagenbau, dem Bausektor und der produzierenden Industrie arbeiten historisch bedingt häufig nach dem Wasserfallprinzip: Sie sammeln Anforderungen, verfassen ein Lastenheft und arbeiten dieses dann Stück für Stück ab. Eine Vorgehensweise, die sich über Jahrzehnte bewährt hat. Geht es nun darum, ein Softwareprodukt zu entwickeln, wird versucht, eben diese Herangehensweise zu adaptieren. Anforderungen werden gesammelt – meist ohne die späteren Anwenderinnen und Anwender miteinzubeziehen –, formuliert und priorisiert und schließlich an die eigene IT-Abteilung oder einen externen Softwareentwicklungspartner weitergegeben. Speziell bei der digitalen Produktentwicklung kann dieses Vorgehen jedoch nach hinten losgehen. Nicht umsonst hat sich eine agile Projektführung in der Softwareentwicklung als effektiver und effizienter herausgestellt, kommt es doch auf schnelle Reaktionen an, wenn sich Anforderungen, Erwartungen oder Technologien ändern.
Digitale Produktentwicklung als ganzheitlicher Prozess

Beim Erfinden und Erforschen geht es darum, eine Blaupause des Softwareprodukts zu konzipieren. Wichtiger Bestandteil sind dabei die eigentlichen Anforderungen an das Produkt. Die Anforderungsdefinition sollte daher kein vorgelagerter, separater Prozess sein, sondern Teil der digitalen Produktentwicklung. In der Fachsprache nennt man das Vorgehen Requirements Engineering – ein Begriff, der das Prozedere besser greift. Anforderungen sollen nämlich nicht einfach vorgegeben werden, sondern müssen aktiv durch das gesamte Entwicklungsteam erarbeitet und während des Entwicklungsprozesses immer wieder geprüft und validiert werden. Das Team schließt dabei die Anwenderinnen und Anwender mit ein – schließlich sind sie es, die das Softwareprodukt später nutzen werden.
Damit einher geht auch eine weitere Disziplin, die speziell bei der Entwicklung komplexer Enterprise-Lösungen immer wichtiger wird: die Gestaltung der User Experience. Und darunter ist nicht nur zu verstehen, dass die Oberflächen der Softwarelösung später schick aussehen. Vielmehr geht es darum, die Anwenderinnen und Anwender, deren Arbeitsschritte und Prozesse sowie Arbeitsplätze kennen und verstehen zu lernen – sie zu erforschen. Denn nur mit solch einem tiefgreifenden Verständnis können UX-Designer Oberflächen entwerfen, die intuitiv nutzbar sind und das Softwareprodukt damit zum effizienten Werkzeug machen.
Sind alle Anforderungen initial erarbeitet und die wichtigsten Oberflächen und Interaktionskonzepte entworfen worden, starten die Softwareentwicklerinnen und Softwareentwickler ihre Arbeit und programmieren das Produkt. Damit sind Requirements Engineering und UX-Design aber noch lange nicht abgeschlossen. Durch die agile Arbeit entsteht das Softwareprodukt Stück für Stück. Und jedes "Stück" wird hinsichtlich Funktionalität, Performance und Nutzerfreundlichkeit durch das interdisziplinäre Entwicklungsteam in iterativen Zyklen stetig getestet und optimiert. Sind die wichtigsten Features entwickelt und funktionieren wie gewünscht, kann das digitale Produkt schließlich releast und in Beta-Tests von einer breiteren Masse getestet werden.
Beim Erhalten dreht sich alles um den Betrieb des Produkts sowie um Weiterentwicklungen. Denn durch die Digitalisierung aller Lebens- und Arbeitsbereiche unterliegen Unternehmensprozesse einer nie dagewesenen Dynamik. Flexibilität und Weiterentwickelbarkeit sind damit zur Grundvoraussetzung in der digitalen Produktentwicklung geworden. Doch auch diese Fähigkeiten kommen nicht von ungefähr und müssen bereits bei der Entwicklung bedacht werden.
Mit Clean Code Development zu nachhaltigen und langlebigen Softwareprodukten

Am Ende geht es um die Evolvierbarkeit von Quellcode. Der Begriff stammt aus der Evolutionsbiologie und beschreibt die Fähigkeit eines Organismus, sich durch DNA-Veränderungen an neue Umweltbedingungen anpassen zu können. Adaptiert auf ein Softwareprodukt stellt der Quellcode die DNA des Produkts dar. Kommt es nun zu neuen Anforderungen oder werden andere Features gebraucht, muss der Quellcode (die DNA) so konzipiert und geschrieben sein, dass er ohne großen Aufwand verändert werden kann. Nur so kann sich Software effizient an neuen Gegebenheiten anpassen lassen. Und nur dann ist das Softwareprodukt wirtschaftlich und technologisch auch wirklich nachhaltig.