Unter dem Begriff „Softwareevolution“ ist zunächst einmal die Wartung sowie die Weiterentwicklung eines bestehenden Softwaresystems zu verstehen. Solche bewährten Systeme haben für viele Unternehmen einen immensen Wert, müssen aber kontinuierlich geänderten Anforderungen angepasst werden. In diesem Blogbeitrag werden Erfahrungen mit der Modernisierung veralteter Software beleuchtet.

Bei der Modernisierung von Software spielen zwei wesentliche Aspekte eine Rolle: die graphische Überarbeitung der Oberfläche – des User Interfaces (UI) – sowie die Anpassung der verwendeten Technologie an aktuelle Bedingungen.

Das UI benötigt meist ein zeitgemäßes Design. Was vor einigen Jahren noch en vogue war, ist schnell überholt und auch neue Erkenntnisse zur Übersichtlichkeit, Wünsche der Nutzer oder zusätzlich benötigte Funktionen fließen in das neue UI ein. Zu guter Letzt sollte den Nutzern ein einzigartiges Erlebnis geboten werden. Denn das Design soll anregen und Langeweile vermeiden.

Die verwendete Technologie wird dahingehend geprüft, ob aktuelle Anforderungen noch erfüllt werden. Eine über Jahre gewachsene Architektur führt häufig zu Problemen mit der Wartbarkeit, die eine neue Technologie deutlich verbessern kann. Schlussendlich hat die Technologie meist auch messbare Vorteile in Bezug auf Performance und Entwicklungsgeschwindigkeit.

Fallbeispiel Dental-Plattform von Dentsply Sirona

Ein plastisches Beispiel für die Modernisierung einer bewährten Software im Bereich User Interface und Software-Technologie ist die Dental-Plattform „Connect“ für Zahnärzte und Zahntechniklabore der Firma Dentsply Sirona: Das Customer Frontend der Connect-Software dient der Administrierung des eigenen Nutzerkontos, der Erstellung einer Auftragsübersicht und des Verbindens mit externen Partnern. Nicht alle beschriebenen Funktionen standen zum Marktstart der Software zur Verfügung. Ihre Entwicklung lässt sich grob in drei Iterationen unterteilen: Die ersten beiden Versionen waren technologisch auf ASP.NET MVC aufgebaut, die dritte und aktuelle Iteration ist eine Angular-Anwendung.

Der Aufstieg der Online-Plattformen wird von drei transformativen Technologien vorangetrieben: Cloud, Social Networks und Mobile. Die Cloud schafft eine globale Infrastruktur für die Produktion, mit der jedermann Inhalte und Anwendungen für ein globales Publikum erstellen kann. Soziale Netzwerke verbinden Menschen weltweit und repräsentieren ihre Identität in der Online-Welt. Mobile ermöglicht die Verbindung zu dieser globalen Infrastruktur jederzeit und überall. Das Ergebnis ist ein weltweit jederzeit zugängliches Netzwerk von Unternehmern, Arbeitnehmern und Verbrauchern, die Unternehmen gründen, Inhalte beisteuern und Waren und Dienstleistungen erwerben können.

Erste Iteration: „Cerec Connect – Customer Frontend”

Die erste Iteration zum Marktstart 2011 war, wie damals üblich, mit festen Rändern an den Seiten gestaltet, die einen in der Mitte gelagerten Streifen mit der eigentlichen Webseite umfassten. In der folgenden Abbildung wird die Ansicht der Willkommensseite gezeigt, die noch keine weitere Funktion bietet. Die Funktionalität kann nur über die an der linken Seite platzierte Menüstruktur genutzt werden. Weiterhin liefert die Startseite eine Willkommensnachricht ohne tieferen Inhalt. Das Design ist starr und die Breiten sind fest. Es ist nicht für Mobilgeräte (Responsive Design) optimiert.

Zweite Iteration: „Sirona Connect – Customer Fronend”

In der zweiten Iteration aus dem Jahr 2014 wurde an der Technologie nichts geändert. Hier ist weiter ASP.NET MVC die Technologie der Wahl. Um das damals aktuelle CI (Corporate Identity) der Firma Sirona einzubinden, wurde das komplette Design überarbeitet, insbesondere wurde der zuvor recht dunkle und präsente Header durch eine modernere Ansicht in der Farbe Weiß ausgetauscht. Wie Abbildung 2 zeigt, wurden die starren Ränder durch einen variablen Footer ersetzt und den Inhalten generell mehr Platz eingeräumt. Am Beispiel der Startseite und des zugehörigen Menüs lässt sich auch ein erweiterter Funktionsumfang, z.B. die neue Auftragsliste, erkennen.

Durch diese Anpassungen wurde vor allem der Wiedererkennungswert zur Sirona Website erhöht, so dass Benutzer sich leichter zurechtfinden können, wenn sie die Website oder andere Portale von Sirona bereits kennen.

Dritte Iteration: „Connect Case Center – Customer Frontend”

Für die dritte Iteration wurde eine komplette Überarbeitung der Software auf beiden Ebenen – Technologie und Design – durchgeführt. Architektonisch wurde der Schwenk von einer servergerenderten ASP.NET MVC-Anwendung hin zu einer Angular Onepager App mit ASP.NET WebAPI Backend mit GraphQL-Anbindung vollzogen. Diese klare Trennung von Datenbasis und Design folgt aktuellen Technologietrends und führt zu erheblichen Vorteilen bei der Wartbarkeit.

Die vorherige Implementierung als ASP.NET MVC Anwendung war nicht in der Lage, die Trennung von Daten und Ansichten in dem Maße zu leisten und wurde daher immer mehr zum Problemfall bei der Wartung. Diese wurde besonders bei der Fehlerfindung auf den Ebenen der Daten und der Ansichten stark verbessert.

Eine Stärke der neuen Software-Architektur ist eine deutlich verbesserte Performance, da die Ansichten schon angezeigt werden können, während noch Daten geladen werden, was dem Anwender einen positiven Gesamteindruck der Software vermittelt.

Ein weiterer Pluspunkt der neuen Technologie ist der Einsatz von GraphQL, welches als Framework die schnelle und einfache Erweiterung der Schnittstelle zum Datenzugriff ermöglicht. Durch die dynamische Implementierung von GraphQL-Schnittstellen können die Arbeiten an der Datenschicht reduziert und die gewonnene Entwicklungskapazität in die Entwicklung des UI und damit in vom Nutzer sichtbare Bereiche gesteckt werden.

Das Design wurde der neuen CI der inzwischen fusionierten Firma DenstplySirona angepasst (Abbildung 3). Die vorherige Startseite wurde zugunsten eines direkten Sprungs zu den wichtigsten Daten – den Aufträgen – verworfen. Deutlich sind auch die variable Breite und die neue Struktur des Menüs zu erkennen.

Weiterhin wurde die Anwendung mit einer Responsive UI ausgestattet, die auch auf mobilen Geräten optimal dargestellt wird (Abbildung 4). Diese Umsetzung wäre in der alten ASP.MVC-Anwendung aufgrund der gewachsenen Struktur nicht ohne große und somit kostspielige Umbauten möglich gewesen.

Diese letzte Iteration hat wie schon die zweite Iteration den Vorteil, dass die Nutzer das Look and Feel der DentsplySirona-Homepage geboten bekommen und sich dadurch leichter zurechtfinden. Weiterhin wird durch die größeren Darstellungen von Tabellen, Buttons und anderen Steuerelementen sowie das Weglassen überflüssiger Informationen eine höhere Übersichtlichkeit geschaffen. Die technischen Innovationen führten zu verbesserter Performance und neuen Möglichkeiten, wie dem Einbinden des Responsive UI für die Darstellung auf Mobilgeräten. Allgemein führt das dazu, dass die Nutzerakzeptanz deutlich verbessert wird.

DentsplySirona kann durch die neue Software seinen Kunden deutlich mehr Attraktivität und Funktionalität bieten. Neue Features lassen sich einfach und vor allem schnell in die neue Suite einbetten und senken dadurch die Entwicklungskosten.

Fazit

Software, gerade Webanwendungen, unterliegen einem stetigen Wandel. Die Nutzer wünschen sich moderne Designs. Um dem Wettbewerb standzuhalten ist es wichtig, den Trends der Zeit zu folgen und regelmäßig neue Iterationen einer Software hinsichtlich des Designs herauszubringen. Auch die technologischen Aspekte wie Erweiterbarkeit, Wartbarkeit und Performance sollten nicht außer Acht gelassen werden, da sie die Entwicklungszeit und -kosten positiv beeinflussen können. Um neue Anforderungen umzusetzen ist es weiterhin sinnvoll, Design und Technologie global zu beleuchten und zu ergründen, um das Zusammenspiel der beiden Komponenten sinnvoll für die neuen Anforderungen in Einklang zu bringen.

Die zentralen Fragen einer langfristig angelegten Software sind daher:

Wie kann das Nutzererlebnis mittels Softwareevolution radikal verbessert werden?

Und wie kann sichergestellt werden, dass Software über einen langen Zeitraum gut zu warten und zu erweitern ist?