Software-Entwicklung: Umbau oder Neubau?

Bevor ein Software-Gebilde abgerissen und neu aufgebaut wird, sollte jeweils die Tragfähigkeit der vorhandenen Lösung beurteilt werden. Oft ist eine sanfte Renovation sinnvoller. Hier den richtigen Entscheid zu treffen, ist allerdings nicht trivial.

» Von Peter Gassmann & Beat Fluri, 01.06.2015 09:00.

weitere Artikel

Weitere Informationen


AdNovum Informatik
Röntgenstrasse 22
8005 Zürich
Tel. +41 44 272 61 11

www.adnovum.ch

Applikationen sind immer ein Kind ihrer Zeit. Dies zeigt sich bei diversen Aspekten von der Performance und der Verfügbarkeit bis zu den unterstützten Endgeräten. Die Strategien und Geschäftsabläufe der Unternehmen ändern sich jedoch in immer kürzeren Zeitabständen. Mit der Einführung neuer Technologien und der zunehmenden Computerisierung des Privaten verändern sich zudem die Erwartungen der Benutzer bezüglich User Experience. Auch vonseiten des Betriebs können neue Anforderungen kommen, zum Beispiel, wenn eine Betriebsplattform aktualisiert oder ausgetauscht werden soll.

In diesem dynamischen Umfeld haben CIOs die komplexe Aufgabe, geschäftskritische Systeme und Applikationen am Laufen zu halten und kontinuierlich anzupassen. Applikationsverantwortliche ihrerseits müssen immer wieder Entscheide bezüglich der Umsetzung von Änderungsanfragen herbeiführen. Doch auf welcher Basis können solche Entscheidungen überhaupt gefällt werden?

Entscheidungskriterien festmachen

Beschlüsse werden letztlich auf der Basis von Nutzen und Kosten bzw. Chancen und Risiken getroffen. Bei den Kosten muss primär das Verhältnis zum Nutzen betrachtet werden. Sie sind abhängig von der Komplexität der Anforderung und vom aktuellen Zustand des Systems. Die Applikationsarchitektur kann durch eine unfle­xible Struktur gewisse Veränderungen verunmöglichen. Die Ausgaben für den Betrieb einer Lösung, aber auch die Opportunitätskosten – wenn zum Beispiel wegen einer schlechten Benutzeroberfläche Kunden abwandern – sind oft schwieriger festzustellen und werden daher selten berücksichtigt.

Bezüglich der Risiken sind ebenfalls verschiedene Aspekte zu betrachten. Ein tiefer Eingriff in ein laufendes System ist riskant, vor allem, wenn eine zuverlässige Teststrategie und -infra­struktur fehlen. Es kann aber auch riskant sein, nichts zu tun, etwa vom jeweiligen Hersteller empfohlene Upgrades nicht durchzuführen.
Der Zustand der Applikation beeinflusst somit sowohl die Kosten als auch die Risiken: Eine gut unterhaltene Software kann einfacher und schneller angepasst werden.

Wie setzt Software Rost an?

Wertschützende Software-Entwicklung ist mehr als die einmalige Produktion funktionierenden Codes. Software braucht angemessene Pflege. Im Idealfall wird sie gesund in den produktiven Betrieb aufgenommen. Zu diesem Zeitpunkt verwendet sie aktuelle Technologien und passt in die IT-Landschaft des Unternehmens. Danach sollten regelmässig Wartungsarbeiten durch­geführt werden, um Technologien zu erneuern und die Software an Änderungen der IT-Landschaft oder an neue Anforderungen anzupassen. Dabei ist auch die Modularisierung der Software immer wieder neu zu beurteilen. Denn bei intelligenter Modularisierung können z. B. unterschiedliche Release-Zyklen für die ein­zelnen Komponenten die rasche Umsetzung vereinfachen. Wegen fehlender Zeit, ändernder Priorisierung oder mangelndem Budget werden die Wartungsarbeiten jedoch häufig vernach­lässigt. Damit setzt die Software Rost an.

Symptome für Evolutionsbedarf

Mangelnde Pflege wirkt sich hauptsächlich im Betrieb und im Business aus. Die eingerosteten Lösungen können Upgrade- oder Migrationsvorhaben blockieren, Teilauslagerungen von Komponenten für Outsourcing von Prozessschritten verunmöglichen oder Know-how und Ressourcen für alte Hardware und Betriebssysteme binden. Dies führt zu hohen Betriebskosten, die durch eine stetige Modernisierung der Technologie vermieden werden könnten.

Auch aus geschäftlicher Sicht sind die möglichen Auswirkungen substanziell: massive Herausforderungen bei einem anstehenden Wechsel zu einer integrierten Kunden- oder Produktsicht, erhöhte Time to Market, hohe Kosten für die Realisierung neuer funk-tionaler oder regulatorischer Anforderungen, zunehmende Fehlerhäufigkeit sowie ein für die Kunden nicht nachvollziehbarer erhöhter Zeitbedarf, bis ein Fehler analysiert, behoben und der Fix in die Produktion eingespielt ist. Solche Probleme können dazu führen, dass Kunden abwandern und die Wettbewerbsfähigkeit beeinträchtigt ist. Die Pflege der Software ist somit aus geschäftlicher wie betrieblicher Sicht vital.

Lesen Sie auf der nächsten Seite: Vorgehen zur Entscheidungsfindung

KOMMENTARE

Keine Kommentare

KOMMENTAR SCHREIBEN

*
*
*
*

Alles Pflichfelder, E-Mail-Adresse wird nicht angezeigt.

Die Redaktion hält sich vor, unangebrachte, rassistische oder ehrverletzende Kommentare zu löschen.
Die Verfasser von Leserkommentaren gewähren der NMGZ AG das unentgeltliche, zeitlich und räumlich unbegrenzte Recht, ihre Leserkommentare ganz oder teilweise auf dem Portal zu verwenden. Eingeschlossen ist zusätzlich das Recht, die Texte in andere Publikationsorgane, Medien oder Bücher zu übernehmen und zur Archivierung abzuspeichern.