lupe-inspektion

Maintenance in der Softwareentwicklung – warum sie schmerzhaft ist und wie man sie verbessern kann

Maintenance gehört sicher nicht zu den Lieblingsthemen unter Softwareentwickler*innen. Dabei ist die Wartung und Verbesserung von Software extrem wichtig, damit Programme userfreundlich bleiben und ihren Zweck perfekt erfüllen.

Maintenance in der Softwareentwicklung: Was ist damit gemeint?

Alina Krüger

Alina Krüger

Online Marketing

Bei der Maintenance in der Softwareentwicklung kommen aber oft Probleme auf, die sowohl Entwickler*innen als auch Unternehmen zur Weißglut treiben können. Wir zeigen Ihnen die größten Herausforderungen bei der Softwarewartung und wie Sie sie mit kluger Planung und geschickter Umsetzung meistern.

Unter Maintenance versteht man im Bereich der Softwareentwicklung die Wartung, Verbesserung und Anpassung digitaler Programme entsprechend der Kundenwünsche bzw. zugunsten der Funktionalität.

Maintenance bedeutet also nichts anderes, als das regelmäßige Überprüfen von Software, ggf. das Ausbessern von Fehlern oder das Nachbessern von bestimmten Features, weil neue Anforderungen hinzugekommen sind.

Da Software ein dynamisches Produkt ist, gehört die Maintenance zum ganz normalen Entwicklungsprozess dazu. Eine Software, die einmal auf dem Markt nie wieder geändert wird, gibt es schlichtweg nicht – es sei denn, sie hat keinen Erfolg. Trotzdem sind die Prozesse rund ums Warten und Verbessern von Software bei Entwickler*innen und Unternehmen eher unbeliebt. Dabei spielt es keine Rolle, um welche der vier Arten von Software-Maintenance es sich handelt:

  1. Korrektive Softwarewartung
    Die wichtigste und klassische Form der Wartung von Software ist die korrektive Softwarewartung. Dabei werden etwaige Störungen und Fehler identifiziert und behoben. Korrektive Maintenance muss regelmäßig erfolgen, damit Software reibungslos laufen kann.
  2. Präventive Softwarewartung
    Hierbei handelt es sich um die Form der Softwarewartung, die Fehlern vorbeugt und langfristig beste Funktionalität ermöglicht. Dazu gehören Updates, Upgrades und vorausschauende Erweiterungen.
  3. Perfektionierende Softwarewartung
    Hier geht es um alle Änderungen, die nicht unbedingt nötig sind, um die Funktionalität zu sichern, aber die Software um wünschenswerte Features erweitern. Das ist zum Beispiel dann empfehlenswert, wenn sich der Markt in eine Richtung entwickelt hat, der die jetzige Version der Software noch nicht gerecht wird. Software kann und sollte also entsprechend erweitert werden, um für Nutzer*innen attraktiv zu bleiben.
  4. Adaptive Softwarewartung
    Eine adaptive Softwarewartung ist immer dann nötig, wenn sich technische oder gesetzliche Bedingungen ändern. Wird ein neues Datenschutzgesetz erlassen, muss Software oft dementsprechend angepasst werden. Dasselbe gilt für Änderungen an der Hardware. Adaptive Softwarewartung sorgt also dafür, dass eine Software sich mit den Anforderungen entwickelt, die sie umgeben.
agile-icon

Der klassische Prozess bei der Software-Maintenance

Unabhängig davon, um welche Form der Softwarewartung es sich handelt, folgt die Maintenance immer einer Struktur. Diese sieht im Groben aus wie folgt:

  • Identifikation des Bedarfs
    Ein Fehler taucht auf? Ein neues Feature wird benötigt? Eine Anwendung ist nicht userfreundlich? Der erste Schritt der Software-Maintenance besteht darin, solche Mängel genau zu identifizieren.
  • Wartungsanalyse
    Nachdem klar ist, dass es einen Fehler gibt, muss entschieden werden, ob und auf welche Art dieser behoben werden soll. Dafür muss eine Analyse her, die umfasst, welche Schritte für die Änderung nötig sind, was User und Unternehmen davon haben und ob sich die Änderung finanziell rentiert.
    Natürlich gibt es auch kleinere Bugs, die nicht unbedingt behoben werden müssen. Manchmal überwiegen die Kosten dabei den Nutzen. Oft sind Änderungen aber notwendig, um die Funktionalität zu gewährleisten – auch wenn das hohe Kosten bedeutet. Eine Kosten-Nutzen-Analyse ist deshalb in diesem Schritt unbedingt erforderlich.
  • Definition der Anforderungen
    Wie in jedem Softwareentwicklungsprozess werden auch bei der Maintenance zunächst genaue Anforderungen definiert. Diese bestehen aus Wünschen an Design und Funktionalität und werden in der Regel im Logbuch festgehalten.
  • Agile Umsetzung
    Die Änderungen werden gemäß der Anforderungen umgesetzt und die Fehler behoben bzw. Features hinzugefügt. Dabei können sich natürlich auch im Wartungsprozess Anforderungen ändern und müssen entsprechend angepasst werden.
  • Durchführung von Systemtests
    Wie immer gilt auch hier: Bevor eine Software auf den Markt kommt, muss sie sorfältig getestet werden. Bei Änderungen im Rahmen der Maintenance gilt das sowohl für die Funktionalität des geänderten Features als auch für das Zusammenspiel des Features mit den unveränderten Bestandteilen. Anders gesagt: Jetzt müssen Sie checken, ob der Fehler behoben ist und ob die Software nach der Änderung als Ganzes wie gewünscht funktioniert.
  • Durchführung von Akzeptantests durch die User
    Wenn technisch alles einwandfrei funktioniert, müssen nach der Software-Maintenance auch die User von der neuen Version überzeugt werden. Dabei steht an erster Stelle der Akzeptanztest: Ist die Usability der Software groß genug? Dies muss von Usern selbst getestet werden, bevor die Software "repariert" bzw. verbessert auf den Markt kommen kann.
  • Bereitstellung der neuen Software-Version
    Hat die neue Version der Software alle o. g. Punkte durchlaufen, kann sie installiert und genutzt werden.

Geht es auch ohne regelmäßige Softwarewartung?

Die Antwort ist ganz einfach: nein. Jede Software muss laufend angepasst werden, wenn sie auf dem Markt Bestand haben will. Und ja, das ist ein nicht zu vernachlässigender Kostenpunkt.

Aber um Aufwand und Kosten für die Maintenance so gering wie möglich zu halten, gibt es einige Dinge, die Sie beachten können. Hier ist es sinnvoll, zunächst einmal auf die aufwändigsten Schritte und größten Probleme bei der Maintenance zu schauen. Diese finden Sie im nächsten Kapitel. Und natürlich haben wir Ihnen auch die Lösungen nicht vorenthalten!

Die 5 größten Probleme bei Maintenance in der Softwareentwicklung

Unternehmen scheuen das Thema Maintenance oft genauso wie Entwickler*innen. Denn jede Fehlerbehebung ist ihrer Natur nach mit Ärger verbunden. Aber dieser kann minimiert werden! Hier kommen die 5 größten Probleme bei der Maintenance von Software – aber auch passende Lösungen:

  1. Wirtschaftliche Rahmenbedingungen

    Problem:
    Die Softwarewartung gehört zu den kostenintensivsten Dingen überhaupt in der Entwicklung. Kein Wunder, dass diese einen Schmerzpunkt für Unternehmen darstellt. Eine ordnungsgemäße Ausführung von Maintenance-Maßnahmen ist aber nur mit entsprechendem Budget möglich.

    Lösung:
    Schon bei der Entwicklung einer neuen Software muss die Wartung unbedingt miteinkalkuliert werden. Je umfangreicher eine Anwendung ist, desto aufwändiger ist auch die Maintenance. Als Unternehmen sollten Sie Ihre Agentur bitten, diesen Punkt bei der Kostenaufstellung mit zu berücksichtigen. Manchmal empfiehlt es sich auch, mit einer schmalen Anwendung zu starten und weitere Features im Hinterkopf zu behalten und diese bei Bedarf hinzuzufügen. Diese Erweiterung gehört ebenfalls in den Bereich Maintenance. So starten Sie mit einer kleineren Anfangsinvestition und heben sich einen Teil des Budgets für Featurs auf, die voraussichtlich erst später benötigt werden. Grundsätzlich gilt: Je sauberer die Originalanwendung programmiert ist, desto einfacher ist die Software-Maintenance. Womit wir beim nächsten Punkt wären ...
  2. Qualität der Original-Software

    Problem:
    Die Wartung wird dann besonders schwer, wenn der Original-Code unsauber und fehlerbehaftet ist. Oft dauert es dann sehr lange, bis der Fehler im Backend überhaupt gefunden wird.

    Lösung:
    Das lässt sich ganz einfach vermeiden, indem von Anfang an auf Qualität gesetzt wird. Manche Unternehmen wollen bei der Entwicklung sparen und vertrauen ihre Software-Projekte Entwickler*innen an, die sich im geforderten Bereich vielleicht gar nicht richtig auskennen. Dadurch zahlen sie anfangs weniger, was sich aber schon bald als Trugschluss erweist: Software zu Dumpingpreisen oder von Nicht-Expert*innen ist in der Regel einfach nicht hochwertig. Und das bedeutet, dass Sie auf jeden Fall schon bald nach dem Release nachbessern müssen. Am einfachsten ist es hier, wenn Sie Ihre Software von einer spezialisierten Agentur anfertigen lassen. Wenn diese dann noch die Wartung übernimmt, ist das der effizienteste Weg, Probleme zu vermeiden bzw. zu beheben.
  3. Ständig neue Bedingungen auf dem Software-Markt

    Problem:
    Hardware ändert sich laufend, und mit ihr die Anforderungen für Software auf dem Markt. Hinzu kommt, dass andere Software-Anbieter ihr Angebot immer schneller an Userwünsche anpassen und der Konkurrenzdruck groß ist. Als kleines oder mittelständisches Unternehmen haben Sie aber nicht die Kapazitäten, da mitzuhalten.

    Lösung:
    Nicht jeder Fehler muss behoben werden. Und nicht jede Änderung, die der Markt etabliert, muss von jedem mitgemacht werden. Auf der anderen Seite gibt es natürlich Bugs, die die Funktionalität gefährden. Und einige Änderungen auf dem Markt sind so bedeutend, dass Sie mitmachen müssen, um erfolgreich zu bleiben. Hier lautet die Lösung: clevere Planung. Dazu gehört, dass Sie wissen, was Ihre Kund*innen wirklich brauchen und was eventuell vernachlässigt werden kann. Hier gilt es, Prioritäten zu setzen. Und auch in diesem Bereich ist das Fachwissen einer kompetenten Agentur Gold wert.
  4. Zeitdruck bei wichtigen Änderungen

    Problem:
    Maintenance ist vor allem so wichtig bei der Softwareentwicklung, weil sie meist schnell passieren muss. Gibt es in einem Code gravierende Fehler, muss das sofort behoben werden, um die Funktionilität laufend zu sichern. Deshalb stehen Unternehmen und Entwickler*innen oft unter immensem Zeitdruck, wenn es um die Wartung geht. Nicht immer gibt es aber genügend Entwickler*innen-Ressourcen oder genügend Zeit, um sauber zu arbeiten.

    Lösung:
    Wenn Sie von Anfang an regelmäßige Software-Checks durchführen lassen, können Sie Fehler sofort entdecken und schneller ausbessern. So ist auch eine vorausschauende Ressourcenplanung seitens der Entwickler*innen möglich. Anders gesagt: Wenn Sie die Software-Maintenance als festen Bestandteil in Ihre Arbeit bzw. die Arbeit Ihrer Agentur integrieren, können Engpässe vermieden werden.
  5. Geringe Akzeptanz der Änderungen seitens der User

    Problem:
    Maintenance impliziert ja nicht nur das Beheben von Fehlern, sondern auch Updates zur Verbesserung der Software. Oft ist es aber so, dass User die Änderungen nicht sofort verstehen und das Handling deshalb schwieriger für sie wird. Die Usability soll aber durch Maintenance-Maßnahmen nicht erschwert, sondern im Gegenteil verbessert werden. Ein neues Feature, das eigentlich für User Vorteile bringen soll, wird dann ggf. nicht als solches angenommen. Oft liegt das einfach an einer fehlenden oder mangelhaften Kommunikation über die Neuerungen.

    Lösung:
    Wie auch bei der Etablierung neuer Software müssen nach einem Maintenance-Update mit merklichen Änderungen Nutzer*innen informiert und eingebunden werden. Das heißt: Wenn ein neues Feature oder eine veränderte Nutzeroberfläche eingeführt wird, muss das so niedrigschwellig wie möglich kommuniziert werden. Eine Anleitung ist da oft hilfreich. Handelt es sich um eine Software, die komplexer oder besonders wichtig im Alltag eines Unternehmens ist, bietet sich auch ein E-Learning dazu an. Damit können Sie den Usern zeigen, wie die Software nach der Änderung funktioniert, und erhöhen die Akzeptanz.
motor-öl

"In der Softwareentwicklung ist Wartung nicht nur eine Notwendigkeit, sondern eine Kunst. Sie erfordert Geduld, Weitsicht und den Mut, ständig zu lernen und sich anzupassen. Wer Wartung meistert, beherrscht die zukünftige Welt der Technologie."

Was kostet Maintenance in der Softwareentwicklung?

Diese Frage ist pauschal (Überraschung!) nicht zu beantworten. Wenn Sie eine schlanke Applikation verwenden, ist die Fehleranfälligkeit selbstverständlich geringer als bei einem kompliziert gebauten Online-Shop mit zahlreichen interaktiven Features.
Die Frage, wie up-to-date Ihre Software sein muss, also wie schnell sich der Markt in dem Bereich ändert, spielt beim Kostenpunkt auch eine Rolle. Digitale Spiele zum Beispieln müssen sich normalerweise schneller wandeln als Büroanwendungen. Und eine umfassende Erneuerung der Hardware in einem Unternehmen kann natürlich auch mehr Software-Updates erfordern, als wenn sich technisch nichts ändert.
Die Kosten Ihrer Maintenance-Maßnahmen sind also höchstindividuell zu berechnen.

Trotzdem gilt: Je hochwertiger Ihre Ausgangssoftware, desto weniger Wartungskosten haben Sie. Außerdem können Sie bei der Maintenance garantiert sparen, wenn Entwicklung und Maintenance von derselben (kompetenten) Software-Agentur ausgeführt werden. Der Vorteil ist hier einfach, dass die Menschen, die die Software produziert haben, diese in- und auswendig kennen und sich nicht erst lange in den Code einarbeiten müssen, um etwaige Fehlerquellen zu identifizieren. Wenn Sie sich für eine Agentur entschieden haben, sprechen Sie unbedingt die laufenden Wartungskosten mit dieser ab. Expert*innen können Ihnen eine fundierte Einschätzung dazu geben, damit Ihr Budget im Rahmen bleibt.

Software-Maintenance bei Ambient: Qualität von der ersten Ziffer an

Wir bei Ambient verstehen uns vor allem als schöpfende Kraft in der Software-Entwicklung. Wir lassen digitale Welten entstehen, die unsere Kund*innen in Qualität, Usability und Nachhaltigkeit überzeugen. Das heißt aber auch, dass die Maintenance für uns eine große Bedeutung hat. Wir arbeiten laufend an Software-Verbesserungen und effizienten Fehlerlösungen für unsere Kund*innen. Denn nur Software, die möglichst einfach angepasst und verbessert werden kann, kann nachhaltig bestehen.

Brauchen Sie Unterstützung bei der Erstellung oder Wartung Ihrer Software? Dann lassen Sie uns miteinander reden. Wir beraten Sie professionell, ehrlich und auf Augenhöhe zu den besten Möglichkeiten für Ihr Unternehmen. Der erste Kontakt ist selbstverständlich kostenlos.
Das gilt auch, wenn Sie ein konkretes Problem haben und sich eine erste Einschätzung für eine Lösung wünschen. Wir geben Ihnen einen Überblick darüber, was machbar ist, was Sie aus unserer Sicht auf jeden Fall benötigen und wo Sie zugunsten Ihres Budgets womöglich verzichten können. Dabei nutzen wir unsere jahrelange Erfahrung in der Software-Herstellung und Software-Wartung für verschiedenste B2B-Unternehmen und teilen unser Wissen gerne mit Ihnen.

Klingt gut? Dann freuen wir uns auf ein unverbindliches Beratungsgespräch mit Ihnen!

cookie button png