Augenärztin beim Vermessen der Sehkraft.
Vision Care

ZEISS VisuScreen

Strukturierte Softwareevolution einer Bestandssoftware

Ziel des Projekts war es, eine Bestandssoftware im Rahmen strukturierter Softwareevolution weiterzuentwickeln und im Zuge dessen, die Wartbarkeit und Erweiterbarkeit des Systems zu erhöhen. Darauf aufbauend sollte die Funktionalität wichtiger Kernkomponenten erweitert werden.

Darstellung Softwareevolutionsprozess
Abbildung: Vorgehen bei strukturierter Softwareevolution nach dem Hufeisen-Modell (Quelle: Tom Mens & Serge Demeyer, Software Evolution. Berlin Heidelberg: Springer Science & Business Media, 2008)

Vorgehensweise

Zu Beginn erfolgte eine Bewertung der Architektur, im Rahmen einer mehrtägigen Strukturanalyse. Darauf aufbauend konnten kritische Systembestandteile identifiziert werden, für welche eine Restrukturierung und Optimierung unter Berücksichtigung der Zielstellung als rentabel einzuschätzen waren. Um die Stabilität der Software nicht zu gefährden, wurde vor der eigentlichen Restrukturierung die Codeabdeckung durch automatisierte Tests erhöht. Anschließend wurden einzelne Systembestandteile in zwei Teilprojekten überarbeitet. Im Zuge des ersten Teilprojekts war es erforderlich, den Funktionsumfang verschiedener Produktversionen zusammenzuführen, um eine konfigurierbare Produktplattform zu entwickeln. Dies machte die Umgestaltung wichtiger Kernkomponenten notwendig. Im zweiten Teilprojekt wurde ein Modul auf eine neue technologische Basis migriert, damit zukünftige Erweiterungen des Moduls möglich sind und effizienter gestaltet werden können.


Besondere Herausforderungen

Die technische Herausforderung des Projekts bestand darin, dass die Qualitätsmerkmale der Software verbessert werden sollten, ohne die Funktionalität negativ zu beeinflussen. Insbesondere galt es, den Charakter der Software zu erhalten, damit die Nutzer ihre Arbeitsabläufe und Gewohnheiten nicht an das veränderte System anpassen mussten. Obwohl ein solches Migrationsszenario immer mit Risiken verbunden ist, sollten das geplante Budget und der veranschlagte Zeitrahmen nicht überschritten werden. Im Hinblick auf das Projektmanagement galt es deshalb, die Vorteile agiler Entwicklung mit einem traditionell geprägten und stark regulierten Marktumfeld zu kombinieren. Dazu gehörten u. a. eine dynamische Anpassung des Scopes und die Möglichkeit kurzer Feedbackzyklen.

Die organisatorische Herausforderung ergab sich aus der Verteilung des Teams. Dieses bestand aus Entwicklern der ZEISS Digital Innovation sowie der ZEISS Vision Care, welche räumlich voneinander getrennt arbeiteten. Dieser Herausforderung wurde mit einer intensiven Nutzung von Werkzeugen zur verteilten Arbeit wie bspw. Screensharing begegnet. Außerdem diente ein tägliches Abstimmungsmeeting als Ausgangsbasis für weiteren Kommunikationsbedarf.


Technisches Umfeld

.NET, ASP.MVC, C#, F#, JavaScript, IIS, Knockout.JS

Artikel teilen

Profitieren Sie von unserem Know-how.

Lesen Sie Fachbeiträge zu aktuellen Themen auf unserem Blog.

Starten Sie mit uns.

Sie sind auf der Suche nach einem erfahrenen Partner für Ihre Projekte?
Wir helfen Ihnen gern weiter.