Was kostet eine App?

Diese Frage stellen sich viele unserer Kunden. Und sie stellen sie natürlich auch uns. Und wie vieles beantworte ich diese Frage sehr gerne mit: „Kommt drauf an“ 😉 Man kann die Kosten für eine App Entwicklung gut mit dem Kauf eines Hauses vergleichen. Da gibt es Preise, die von relativ kleinen Budgets bis ins scheinbar Unendliche reichen. So kann auch eine App bei einigen tausend Euro starten und bis in die hunderttausende Euro gehen. Woraus setzt sich also der Preis einer App zusammen und was beeinflusst ihn am meisten?

software-architecture

Das Fundament

Bei einem Haus ist es ganz klar: es braucht gewisse Dinge, damit es überhaupt ein Haus ist. Ein Fundament, vier Wände, ein Dach, Fenster, Türen – solche Dinge eben. Und das hat natürlich einen gewissen Grundpreis (wenn wir jetzt einmal von einem Neubau ausgehen). So ist es auch bei einer App – es braucht einen gewissen Programmieraufwand, damit es überhaupt eine App ist und auch so funktioniert. Grob gesagt.

Dieses Grundgerüst ist bei einer App natürlich nicht, wie bei einem Haus, sofort sichtbar, dafür aber genauso wichtig. Deshalb sollte zuerst einmal unterschieden werden, ob es eine native App oder eine Cross-Plattform Entwicklung sein soll. Native Apps werden quasi für das jeweilige Betriebssystem konzipiert und programmiert.

Das bedeutet (achtung, es wird kurz technisch), dass eine iOS App die auf verschiedenen iPhones und iPads verfügbar sein soll mit Objective-C, bzw. Swift programmiert wird. Für Android Geräte entwickelt man mit Java. Es werden also für verschiedene Plattformen und Betriebssysteme auch unterschiedliche Programmiersprachen verwendet. Deshalb verursachen diese zwei vollständig voneinander getrennten Entwicklungen, einmal für Android, einmal für iOS, auch meistens den doppelten Aufwand.

Im Gegensatz zur nativen Entwicklung gibt es auch viele Web-Apps und andere Cross-Plattform Apps auf dem Markt. Der Unterschied zu den nativen Apps besteht hier darin, dass die App nur einmal entwickelt und dann auf verschiedenen Plattformen verwendet wird.

Warum (nicht) Cross-Plattform?

Jetzt kommt natürlich die Frage auf, warum nicht alle Apps Cross-Plattform entwickelt werden, wenn das den Aufwand reduziert. Und diese Frage ist prinzipiell berechtigt. Allerdings bekomme ich bei einer gemeinsamen Entwicklung für mehrere verschiedene Betriebssysteme und Plattformen auch nur den kleinsten gemeinsamen Nenner zwischen den verschiedenen Welten. Das heißt konkret, dass grafische Elemente, Screens, Buttons, etc. auf Android und iOS gleich aussehen, was allerdings oftmals zu Verwirrung der User führt. Als iPhone User ist man beispielsweise eine gewisse Interaktionslogik in allen Apps gewohnt. Beispielsweise das wechseln in den vorigen Screen über einen Button links oben am Display. Das gleiche Verhalten funktioniert auf Android mit dem „zurück“ Button links unten. Lange Rede, kurzer Sinn: sowohl Android als auch iOS liegen verschiedene Konzepte und Design Guidelines zu Grunde, an die man sich wesentlich leichter halten kann, wenn man native programmiert.

Um dieses Problem zu umgehen, gibt es auch bei Cross-Plattform Entwicklungen die Möglichkeit, plattformspezifischen Code zu schreiben. Allerdings kann das schnell unübersichtlich werden, bzw. sollte man sich vor der Entwicklung überlegen, wieviel auf beiden Plattform gleich oder eben unterschiedlich funktionieren soll. Für einfachere Info-Apps sind oft die Web-App Varianten geeigneter, für sehr komplexe Apps, die z.B. viele Animationen verwenden kann es Sinn machen hier die plattformspezifischen Boardmittel von Apple bzw. Google in einer native App zu verwenden, da sich dadurch das Look-and-Feel der App drastischer erhöhen kann.

Wenn die App darüber hinaus sehr rechenintensive Aufgaben erfüllen oder viele individuelle Funktionen enthalten soll, ist man mit einer nativen App oft nach wie vor besser beraten. Wir entwickeln daher zum Beispiel in den meisten Augmented Reality Projekten, die sehr viel Grafik- und Rechenleistung benötigen, individuelle Versionen der App für die verschiedenen Betriebssysteme.

Wenn wir bei der Metapher mit unserem Haus bleiben, können wir die Cross-Plattform Entwicklung in etwa mit einem Fertigteilhaus vergleichen. Gegen Fertigteilhäuser ist nichts einzuwenden und sie können den Anforderungen vieler Käufer problemlos gerecht werden. Wenn ich aber in vielen Bereichen vom vorgegebenen Plan abweichen möchte, ist es vielleicht doch besser, einen Architekten zu beauftragen und ein Haus bauen zu lassen, das genau meinen Wünschen entspricht.

Durch richtiges Planen Kosten reduzieren

Architekt ist da das richtige Stichwort – schließlich heißt es nicht umsonst ‚Softwarearchitektur‘. All diese Überlegungen haben einen deutlichen Einfluss auf die endgültigen Kosten der App und sollten auf jeden Fall schon im Vorfeld mit überlegt werden. Wenn ich beim Hausbau schon weiß, dass ich in zwei Jahren einen Zubau brauchen werde, ist es sicher von Vorteil, diese Möglichkeit schon jetzt zu berücksichtigen, zumal gewisse bauliche Entscheidungen bestimmt davon abhängen. Bei einer App ist es ähnlich – wenn sie später einmal ausgebaut oder erweitert werden soll, muss ich das unter Umständen jetzt schon bedenken. Meistens ist das (kostentechnisch gesehen) nicht viel Extraaufwand, kann aber die Kosten der späteren Erweiterung erheblich senken.

Wir sind aus diesem Grund dazu übergegangen, im Vorfeld eines Projekts sogenannte Technologieworkshops gemeinsam mit unseren Kunden abzuhalten. Diese Workshops haben mehrere wichtige Funktionen. Wir lernen unseren Kunden, seine Branche und seine internen Prozesse vor dem Projektstart besser kennen. Wir sehen schon vor Angebotserstellung, was ihm/ihr besonders wichtig ist, bzw. worauf er oder sie Wert legt. Umgekehrt bekommen wir dadurch die Möglichkeit, unseren Kunden vor Angebotslegung und Projektstart die möglichen Technologien etwas näher zu bringen und ihnen eine bessere Entscheidungsgrundlage zu geben. Schließlich würde niemand einen Architekten mit diesen Worten beauftragen: „Ich hätte gerne ein Haus. Sie wissen ja sicher wie so etwas aussieht, fangen Sie an zu bauen.“

Meiner Meinung nach können wesentlich mehr Kosten im jeweiligen Projekt gespart werden, wenn man sich zu Beginn, also schon bei der Auswahl der passenden Technologie, ein paar Stunden mehr Zeit nimmt. Denn auch die Erweiterungs- und Wartungskosten einer App sollten schon vor der initialen Beauftragung mitberücksichtigt werden.

Die Innenausstattung

Wenn unser Haus dann steht, ist die Sache damit natürlich noch nicht erledigt, denn jetzt müssen noch Böden verlegt und Wände gestrichen werden – von der passenden Einrichtung ganz zu schweigen. Und dafür kann man, je nach Budget, auch nochmal beliebig viel Geld ausgeben.

app-design

App Design – wie fancy soll es sein?

Eine weitere Frage, die also auch einen großen Einfluss auf den Aufwand einer App hat, ist der Content der in einer App dargestellt werden soll. Dieser Content kann aus Texten, Bildern, Videos, 3D Modellen, etc. bestehen. Neben der Frage nach der Contenterstellung (wird dieser vom Kunden geliefert, von uns erstellt oder von einer Drittfirma geliefert?) ist auch dessen Einbindung in die App ein wichtiges Thema.

Ändert sich der Content während des Lebenszyklus einer App sehr oft, macht es Sinn über eine Backendanbindung nachzudenken. D.h. konkret, dass beliebige Texte, Bilder, etc. nicht fix in die App eingebaut, sondern dynamisch von einem Server nachgeladen werden. Diese Flexibilität ist natürlich mit einem Sprung im Aufwand verbunden, da die Serverkomponente programmiert oder konfiguriert und die Schnittstellen zu den Apps entwickelt werden müssen.

Eine App, die zusätzlich in die bestehenden Systeme und die IT Infrastruktur des Kunden integriert werden soll, kann natürlich auch wesentlich aufwändiger werden als eine App mit Backend als Stand-Alone Variante. Und je umfangreicher die App ist, je mehr Anbindungen an externe Systeme sie besitzt und je individueller das Design ist, desto höher ist auch der Kostenaufwand. Logisch.

Was kostet also eine App?

Als groben Richtwert kann ich aus unserer Erfahrung sagen, dass sich die meisten einfacheren Apps irgendwo zwischen zehn- und zwanzigtausend Euro bewegen. Wenn das Ganze etwas komplexer wird (inkl. Backend-Anbindung bzw. System-Integration beim Kunden) geht der Wert eher Richtung zwanzig- bis fünfzigtausend Euro. Aber zusammenfassend kann man wohl sagen, dass man die Frage: „Was kostet eine App?“ weiterhin mit: „Das kommt drauf an“ beantworten muss 😉 Zumindest solange die einzelnen Details und Anwendungsfälle noch nicht geklärt sind.