Wartung einer App – Vorausschauende Instandhaltung

Der ISEO Blog

In diesem Blogartikel wollen wir einen Überblick darüber verschaffen, was es bedeutet eine App zu warten und was Wartung in diesem Zusammenhang überhaupt bedeutet. Zu diesem Zwecke werden wir den Begriff App Wartung zunächst definieren und beschreiben, welche Arbeiten die Softwarewartung umfasst und worin die Ziele liegen.

Was bedeutet es, eine App zu warten?

Zunächst sollten wir den Begriff der „Wartung“ in Bezug auf Software und Apps genauer definieren.

Die Softwaretechnik beschreibt Softwarewartung als „die Veränderung eines Softwareprodukts nach dessen Auslieferung, um Fehler zu beheben, Performanz oder andere Attribute zu verbessern oder Anpassungen an die veränderte Umgebung vorzunehmen (IEEE Standard Computer Dictionary. IEEE Std. 610., Institute of Electrical and Electronics Engineers, 1990).“

Von dieser Definition abweichend ist Softwarewartung in Deutschland gesetzlich folgendermaßen geregelt: „Die Aufgabe der Wartung umfasst sämtliche Maßnahmen zur Erhaltung der Funktionsfähigkeit der eingesetzten IT-Verfahren und Software. Hierzu gehören auch erforderliche fachliche und technische Anpassungen der IT-Infrastruktur (KONSENS-Gesetz §6 Absatz 2).“

Gesetzlich gesehen wird von der Wartung also lediglich gefordert, dass sie den „Status Quo“ der Software oder App erhält, sodass diese auch in der Zukunft unverändert weiterverwendet werden kann. Es wird also rein gesetzlich nicht gefordert, dass beispielsweise Arbeiten zur Steigerung der Performance im Rahmen von Softwarewartung durchgeführt werden. Je nach Vereinbarung können solche Tätigkeiten aber selbstverständlich auch unter dem Begriff verstanden werden.

Woraus besteht eine App Wartung?

In der Softwarewartung wird zwischen korrektiver, perfektionierender, adaptiver (The dimensions of maintenance, Burt E. Swanson, 1976, S. 492-497; ISO/IEC 12207) sowie präventiver (ISO/IEC 14764) Wartung unterschieden:

  • Korrektive Wartung, welche die Behebung von Fehlern umfasst, die beim User aufgetreten sind.
  • Präventive Wartung, die sich mit der Beseitigung von Fehlern befasst, die zwar bekannt, aber bisher nicht bei Nutzern aufgetreten sind.
  • Perfektionierende Wartung zur Verbesserung der Performance und der Wartbarkeit. Dies beinhaltet unter anderem Refactoring zur Herstellung einer besseren Lesbarkeit des Codes, da diese zum Beispiel durch nachträgliche Änderungen gelitten haben könnte.
  • Adaptive Wartung zur Anpassung der Software. Hierunter fallen beispielsweise Änderungen an den verwendeten Frameworks oder Bibliotheken, die eine Adaption der App erfordern.

Dies klingt erst einmal alles relativ trocken, doch wissen wir nun, welche Leistungen grundsätzlich im Rahmen von Softwarewartung möglich sind. Die Wartung einer App in der Praxis sieht bei einem festen Kontingent und darauf basierend regelmäßig geplanten Wartungszeiten also eine Abarbeitung der genannten Punkte vor. Je nach Dringlichkeit können diese unterschiedlich priorisiert werden. Ist die App in der aktiven Weiterentwicklung, so ist beispielsweise Refactoring von größerer Wichtigkeit, als bei einer App, die nur den Istzustand erhalten soll. Dies liegt ganz einfach darin begründet, dass bei einer App, die stetig weiterentwickelt wird, schnell die Übersichtlichkeit sowie die Lesbarkeit des Codes leidet und somit eine Weiterentwicklung erschwert. Nichtsdestotrotz sollte die Behebung von Fehler aber natürlich immer erfolgen, ob korrektiv oder präventiv ist dabei nicht entscheidend.

App Wartung

Wie häufig sollte man eine App warten?

Wie so häufig ist hier eine allgemeingültige Antwort schwierig zu finden. Es kommt eben darauf an, wie man so schön sagt. Jede App ist anders, hat andere Anforderungen und Verwendungszwecke. Je nach der verwendeten Technologie und ihrer Lifecycle ist hier also eine individuelle Entscheidung nötig, wie oft und in welchem Umfang eine regelmäßige Wartung stattfinden sollte. Nutzt man beispielsweise ein Framework oder Bibliotheken, die häufige Updates erfahren, so ist es eher ratsam häufiger eine Wartung durchzuführen. Ebenso ist dies der Fall, wenn die App relativ komplex und möglicherweise auch über die Zeit immer weitergewachsen ist, Stichwort Reengineering.

Warum laufen Apps nicht auf jedem Betriebssystem?

In Bezug auf mobile Apps sprechen wir heutzutage über die Betriebssysteme Android von Google und iOS von Apple. Da es sich um verschiedene Betriebssysteme handelt, ist es nur verständlich, dass eine App, die beispielsweise für Android geschrieben wurde, nicht unter iOS läuft. Nun, das ist nur die halbe Wahrheit. In der Mobile-App-Entwicklung wird nämlich zwischen nativen, hybriden und Web Apps unterschieden.

Eine native Android-App wird üblicherweise unter Verwendung des Android Software Development Kit (SDK) mit den Programmiersprachen Kotlin, Java sowie C und C++ geschrieben (Application Fundamentals; Android NDK). Für iOS wird üblicherweise Xcode genutzt und die Programmiersprachen Swift und Objective-C verwendet (Developing for Android vs developing for iOS – in 5 rounds, Adam Sinicki, 2016). Diese auf die beschriebene Weise programmierten nativen Apps laufen dann tatsächlich nur auf dem jeweiligen Betriebssystem. Des Weiteren ist es aber auch möglich mithilfe bestimmter Frameworks eine plattformübergreifende Codebase zu schaffen und nur falls nötig plattformspezifischen Code zu nutzen. Generell gelten native Apps als ressourcensparender und performanter als hybride oder gar Web Apps, da diese ausschließlich unter Verwendung von Frameworks entwickelt werden können, aber im Gegensatz zu nativen Implementierungen den Einschränkungen des verwendeten Frameworks unterliegen.

Ist eine Android und iOS Wartung dasselbe?

Das generelle Vorgehen ist natürlich immer gleich. Auch hier kommen wieder die genannten Punkte korrektive, perfektionierende, adaptive und präventive Wartung zum Tragen. Dennoch ist die Wartung eines Android-Projekts natürlich etwas anderes als die Wartung eines iOS-Projekts, da beide in verschiedenen Ökosystemen stattfinden. Man spricht beispielsweise vom „Apple ecosystem“ und meint damit das gesamte Produkt-Ökosystem von Apple. So wird zum Bauen einer iOS-App immer zwingend ein Apple Gerät benötigt und ein Android-Entwickler, der bisher unter Windows entwickelt hat, könnte also auf einige Probleme stoßen. Insofern ist die Wartung einer iOS-App in der Praxis nicht ganz dasselbe wie die Wartung einer Android-App, die Bestandteile der Wartung sind jedoch gleich.

Kostenlose Erstberatung bei ISEO – Professionelle Wartung von Apps

Als Digitalagentur mit langjähriger Erfahrung, beraten wir unsere Kunden rund um das Thema App. Wir bieten das optimale Zusammenspiel aus App Beratung, App Entwicklung und Betrieb und Wartung. Bei ISEO ein kostenloses Erstgespräch vereinbaren und so die Funktionsfähigkeit Ihrer App erhalten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.