Kontakt

App-Entwicklung: Sie möchten eine App programmieren lassen?

IT'S TIME TO LIGHT UP YOUR IDEA

Lesedauer: 0 Minuten

meeting-room.jpg

Sie planen die Entwicklung einer App und benötigen Unterstützung?

In diesem Beitrag stellen wir Ihnen die wichtigsten Punkte für die erfolgreiche Umsetzung vor, wenn Sie eine App erstellen lassen wollen. Planung, verschiedene Technologien und Kosten, sind lediglich eine kleine Auswahl an Schlagworten, über die Sie bei der App-Entwicklung Bescheid wissen sollten.

1.0 Der Weg zur eigenen App

1.1. Vom Konzept is zur langfristigen Pflege.

Durch eine optimale Planung des Projekts und die Bereitstellung eines ganzheitlichen und individuellen Konzepts wird die Basis für den Entwicklungsprozess geschaffen. In Workshops können sich die am Projekt Beteiligten kennenlernen, die Ansprüche, Wünsche und Vorstellungen des Kunden werden gesammelt und der MVP besprochen.

 

Ein MVP (Minimum Viable Product) lenkt den Fokus auf den möglichst schnellen Launch eines Produkts. Gewählt wird eine dynamische Entwicklung, welche sich in kürzester Zeit an aktuelle Erfordernisse anpassen kann. In einem kurzen Zeitraum wird ein Produkt erstellt, dass gerade die Mindestanforderungen erfüllt, um einen Mehrwert zu stiften. So werden die Kosten und der Zeitaufwand der Entwicklung minimiert und Sie können durch das schnelle Feedback ihrer Nutzer die Weiterentwicklung noch genauer an deren Bedürfnisse ausrichten. Die Gefahr, dass Funktionen am Nutzerbedürfnis vorbeientwickelt werden, wird dadurch minimiert. Voraussetzung hierfür ist immer ein vorab klar definiertes Ziel, nachdem sich die Entwicklung ausrichtet.

DER PROJEKT-KICK-OFF

Mit einem Kick-Off-Meeting wird der Start eines Projekts oder einer Projektphase markiert. Hier findet die Teamverteilung (virtuell oder physisch) statt. Es werden die Ziele, der Nutzen und der Plan des Projekts erläutert und das gesamte Projektteam auf einen gemeinsamen Nenner gebracht. Festgelegt wird hier außerdem die Wahl der Methoden sowie Kommunikationsregeln für den Verlauf des Projekts. Wir arbeiten in unseren Projekten immer anhand der Scrum-Methode. Durch das agile Projektteam erreichen wir höchste Qualität und einen schnellen Projektverlauf.

Agil (“Agiles Projektmanagement”) ist ein Überbegriff für verschiedene Modelle im Vorgehen bei der Software-Entwicklung und definiert sich über den Gegensatz zum planungsorientierten, traditionellen Projektmanagement. Eine geringe Planungs- und Führungsintensität erleichtern die dynamische und flexible Steuerung von Projekten und Prozessen. Das führt zu schnellen Änderungsmöglichkeiten, schnellen Umsetzungen und hoher Anpassungsfähigkeit.

 

Teil der agilen Softwareentwicklung ist die Scrum-Methode. Das klassische Projektmanagement wird in der Hinsicht revolutioniert, dass keine Aufgabenverteilung mehr über eine Projektleitung erfolgt und klassische Projektphasen mit sogenannten “Sprints” ersetzt werden. Ziel dieser ein- bis vierwöchigen Durchläufe bis hin zur Fertigstellung ist ein immer weiter ausgereiftes Produkt.

WIE ERFOLGT DIE AUFGABENVERTEILUNG?

Ein Product Owner (PO) wird entweder vom Kunden oder von uns gestellt. Ein PO übernimmt die Koordination des Teams, stellt die fachlichen Anforderungen an das Projekt und bewertet und priorisiert diese immer wieder neu. Der Scrum Master ist verantwortlich für die Einhaltung des Scrum-Prozesses und verhindert Gefährdungen der Projektumsetzung sowie der Einhaltung der Sprintziele. Das Development Team trägt die Verantwortung für die Umsetzung und Entwicklung. Die Aufgaben werden anhand der individuellen Stärken gewählt und jeder übernimmt volle und gleichwertige Verantwortung.

Mit dem Product Backlog wird vom Product Owner eine Liste von klar formulierten Anforderungen gepflegt, welche in den einzelnen Sprints umgesetzt werden. Diese werden in Meetings besprochen und auch während der Umsetzung regelmäßig innerhalb des Teams kommuniziert. Durch Reflexive Prozesse wird am Ende eines Sprints geprüft, ob das Projekt der gemeinsam erarbeiteten Definition von vollendet entspricht. Um sich auf den folgenden Sprint vorzubereiten findet eine Retrospektive statt. In diesem Meeting werden auftretende Probleme sowie Erfolge besprochen, um die Zusammenarbeit zu optimieren.

1.2. Warum wir als Agentur der richtige Partner sind, eine App entwickeln zu lassen.

WHY CHOOSING US?

Durch die Schnelllebigkeit der Technologien sind Agenturen häufig die qualitativ besseren Partner für die Entwicklung Ihrer App. Wir als Digitalisierungspartner bieten Ihnen die nötige fachliche Expertise, wenn Sie eine App programmieren lassen möchten. Wir setzen uns täglich mit neuen Technologien auseinander, um so state of the art zu bleiben. Ebenso haben wir ein eingespieltes Experten-Team, welches je nach Anforderungen zusammengestellt wird und alle Aspekte Ihres Digitalisierungswunsches abdeckt. Es existieren bereits effiziente Prozesse und Abläufe und es besteht die Möglichkeit Komponenten aus anderen Projekten wieder zu verwenden. Essentiell ist die Überwachung des Projekts durch einen Product Owner, sowie der ständige Austausch zwischen den Programierer:innen. Dies sind strukturelle Grundvoraussetzungen in einer Agentur, welche sowohl die Qualität des Entwicklungsprozesses sowie die der fertigen App fördern. Der ständige Austausch innerhalb des Teams verleiht dem Projekt eine Übersichtlichkeit, die auch für Sie als Auftraggebenden die notwendige Transparenz verschafft.

2.0 Auswahl der richtigen Technologie zur Entwicklung der App.

Für die Auswahl der richtigen Technologie, wenn Sie eine App entwickeln lassen wollen, haben wir ein spezielles Anforderungsmanagement entwickelt, welches wir gemeinsam mit Ihnen bearbeiten. Dieser Schritt spielt eine entscheidende Rolle im Konzeptions- und Planungsprozess, um eine fundierte Analyse Ihrer Anforderungen zu erstellen und so unliebsame Überraschungen und damit einhergehende Kosten bei der App-Entwicklung zu vermeiden.

SIE INTERESSIEREN SICH BEREITS IM VORFELD FÜR DIE INHALTE UNSERES REQUIREMENTS-ENGINEERING PROZESSES?

HIER KÖNNEN SIE UNSEREN LEITFADEN HERUNTERLADEN.

WICHTIGE GRUNDLAGEN FÜR DIE ENTWICKLUNG EINER APP.

Alles, was nicht sichtbar für die Nutzer:innen einer Website oder einer Software ist, fällt unter den Begriff Backend. Hierzu zählen beispielsweise Schnittstellen um auf Daten zugreifen zu können, Businesslogik oder komplexere Berechnungen, Datenbanken zum Speichern der vom Nutzenden eingegebenen Daten oder Inhalte einer Website.
Unter dem Frontend versteht man die Präsentationsebene der Anwendung, somit den sichtbaren Teil einer Software-Lösung. Die im Backend gespeicherten Daten werden dargestellt und durch eine Schnittstelle den User:innen zur Verfügung gestellt.

Die organisierte Sammlung von strukturierten oder auch unstrukturierten Informationen und Daten, nennt sich Datenbank. In der Regel ist sie gesteuert von einem Datenbanksystem.

Funktionierende Datenbanken sind essentiell für die Vollständigkeit, Richtigkeit und Verfügbarkeit von Daten.

Am weitesten verbreitet sind sogenannte relationale Datenbanken. Sie basieren auf Tabellen (Relationen), in denen die einzelnen Datensätze abgelegt werden. Durch das DBMS wird Management und Abruf der Daten übernommen. Die Datenbanksprache SQL (Structure Query Language), die je nach Datenbank-Hersteller oftmals einen eigenen “SQL-Dialekt” entwickelt hat.

Die vergleichsweise junge Technologie der No-SQL-Datenbanken ermöglicht eine unstrukturierte Speicherung der Daten, was gerade im Hinblick auf Szenarien mit großen Datenmengen aus heterogenen Quellen (Big Data) bedeutsam ist.

Ein Server (to serve – bedienen) ist im ursprünglichen Sinne ein Computer. Dieser kann über das Internet zu erreichen sein oder in einem geschlossenen (Unternehmens-) Netzwerk arbeiten. Über den Server werden im Netzwerk oder Internet Anfragen von “Clients” angenommen, weitergeleitet und beantwortet. Dafür wird entsprechend leistungsstarke Hardware benötigt.

Es gibt verschiedene Arten von Servern mit verschiedenen Aufgabenbereichen: Webserver, auf denen Websites gespeichert werden und auf Abruf verfügbar sind. Datei-Server zum Speichern von Dateien, Drucker-Server, Mail-Server, Datenbank-Server auf denen Datenbanken gehostet werden, VPN-Server oder Proxyserver zur Verschleierung der Mail-Adresse. Auch Privatanwender können eigene Server nutzen.

Um die Daten und Dienste eines Servers für die Endverbraucher zur Verfügung zu stellen wird ein Software-Client benötigt. Der Software-Client kann auf einem PC, Smartphone, Tablet oder anderen Computersystemen laufen.

 

Neben der Hardware ist das Betriebssystem ein weiterer Bestandteil von z.B. Smartphones, über das man telefonieren, mobil surfen, navigieren und mobile Dienste nutzen kann. Wichtig ist dabei auch das Ökosystem aus bezahlbaren und einfach zu installierenden Apps und digitalen Inhalten. Die vorherrschenden Betriebssysteme wie iOS (Apple) und Android (Google) machen es durch ein Abhängigkeitsverhältnis des Nutzers schwer, zu wechseln oder gar andere, wenig benutzte Betriebssysteme zu verwenden. Diese sind daher weitgehend irrelevant für die meisten App-Entwickler.

3.0 Welche Arten von Apps gibt es?

Es gibt verschiedene Ansätze, wenn Sie eine App entwickeln lassen möchten. Welche Frontend-Technologie für Ihr Projekt am meisten Sinn macht ist abhängig von Faktoren wie Budget, Zielplattformen, Zeit, etc.

3.1. Native App

Plattformen wie z.B. iOS oder Android werden von Konzernen entwickelt und bauen auf unterschiedlichen Sets von Technologien, Werkzeugen und Programmiersprachen auf. Native Apps werden speziell für eine Plattform entwickelt und weisen daher maßgeschneiderte Anwendungen aufbauend auf der zur Verfügung stehenden Werkzeuge und Programmiersprachen der Plattform auf. Somit müssen mehrere Apps programmiert werden, wenn diese für verschiedene Plattformen zur Verfügung stehen soll.

check.svg
PRO
  • Durch die Verwendung der spezifischen Programmiersprachen und Technologien ist eine herausragende Performance garantiert

  • User:innen interagieren intuitiv mit bekannten und plattformspezifischen Elementen (Design-Richtlinien etc.).

  • Die App hat die Möglichkeit zur Interaktion mit der Hardware des Smartphones. Beispielsweise können Kamera, das Mikrofon oder GPS gesteuert und deren Daten ausgewertet werden.

cross.svg
CONTRA
  • Bei Einsatz mehrerer Plattformen ist die Entwicklungszeit sehr hoch. Grund dafür sind die unterschiedlichen Programmiersprachen und Werkzeuge die dafür erforderlich sind
  • Hohe Kosten durch aufwändige und doppelte Entwicklung - auch bei Weiterentwicklung

  • Hohe Anforderungen an das Entwicklerteam (oft auch separate Teams für z.B. iOS und Android)

3.2. Hybride App

Hybride Apps besitzen eine gemeinsame Code-Basis für mehrere Plattformen. Dadurch muss beispielsweise für iOS und Android nur eine App entwickelt werden. Das ist durch den Aufbau auf Webtechnologien, die auf jedem Gerät laufen, möglich. Die Programmiersprache ist nicht plattformspezifisch, sondern geschrieben wie eine Website. Über Plugins wird die “Website” in einem nativen Container (“Webview”) als App verpackt. Webview dient zur Darstellung der “Website” und ist vergleichbar mit einem spezialisierten Browser. Zugriff auf die Gerätehardware ist trotzdem möglich (wenn auch teilweise eingeschränkt), sowie der Zugriff über die App-Stores.

Durch ihre kurzen Entwicklungszeiten und niedrigeren Kosten bieten die Hybride Apps einen Gegenentwurf zu Native Apps.

check.svg
PRO
  • Aufwand, Kosten und Entwicklungszeit sind geringer, da nur eine App entwickelt werden muss.

  • Die Entwicklung mit Webtechnologien ist weniger aufwändig als plattformspezifische Apps.

  • Geringere Anforderungen an das Entwicklerteam

cross.svg
CONTRA
  • Unnatürliches Nutzungsgefühl durch schlechteres Einfügen in das Betriebssystem. Somit schlechtere Performance durch fehlende Anpassung und Optimierung auf die individuelle Plattform.

  • Hardwarezugriff und Kontrolle eingeschränkt

⇾ Je besser die App an eine Plattform angepasst wird (z.B. optisch), desto mehr entfernt sie sich von den Anderen.

3.3. Cross-Platform App

Cross-Platform Apps bilden eine Art Kompromiss aus Native und Hybride Apps. Sie besitzen eine große geteilte Code-Basis, oftmals aber kombiniert mit plattformspezifischen Codes. Die Programmiersprache basiert also auf dem gewählten Framework.

Der Code von Cross-Platform-Apps wird zu großen Teilen in native Codes und UI-Elemente übersetzt. Die genaue Herangehensweise hängt vom Framework ab.

check.svg
PRO
  • Durch die geteilte Code-Basis muss der Großteil der App nur einmal entwickelt werden

  • Time to Market relativ gering, Zeitersparnis auch bei der Weiterentwicklung

  • Niedrige Kosten durch schnelle Entwicklung und Wartung

  • Gute Performance durch den Großteil an nativen Komponenten

  • Hohe Reichweite durch Verfügbarkeit auf den unterschiedlichsten Plattformen

cross.svg
CONTRA
  • Anpassung auf die Plattformen nötig, da der Code nicht vollständig geteilt ist

  • Kompromisse im UX notwendig, vor allem bei einem hohen Anteil der geteilten Code-Basis, somit gehen Optimierungen in diesem Bereich mit hohen Kosten einher

3.4. Wie findet man die beste Lösung?

Die optimale Lösung hängt stark von Ihrem Projekt ab. Es muss ein Kompromiss hinsichtlich Zeit, Qualität und Kosten getroffen werden. Mehr Hilfestellungen dazu finden Sie in dem von uns zu Projektbeginn zur Verfügung gestellten Fragenkatalog.

4.0 Was kostet es, eine App programmieren zu lassen?

Eine App programmieren zu lassen sollte von vornherein gut geplant sein, da einige preisbestimmende Faktoren bereits im Vorfeld festgelegt werden können. Eine genaue und seriöse Angabe der Kosten ist im Anfangsstadium nicht möglich, da diese extrem von den individuellen Anforderungen des Kunden abhängen. Um die beste Lösung für Sie herauszuarbeiten, setzen wir auf detaillierte Vorab-Gespräche, um alle Faktoren abstecken zu können. Der Preis ist natürlich stark abhängig von der Komplexität Ihrer Idee und dem Ausmaß an geforderten Funktionen. Außerdem können Sie die Kosten durch eine von Anfang an ausgereifte Idee senken.

Die Faktoren, die den Preis am meisten beeinflussen sind also Planung (Konzeption und Workshop), Design (UI und UX Design) und Programmierung (z.B. Hybride Entwicklung, Schnittstellenentwicklung, Anpassung und Testing, Weiterentwicklung und Support).

4.1. Planung (Konzeption und Workshop)

Das Abschätzen einer ungefähren Größenordnung findet meist in ersten Beratungsgesprächen statt. Der gemeinsame Workshop zur Entwicklung eines detaillierten Konzepts bringt letztendlich Aufschluss über die zu erwartenden Kosten in der Entwicklung Ihrer App. Dieser variiert je nach Länge sowie Vor- und Nachbereitung.

In der Regel kann man in dieser Phase mit zwischen 1 und 3 Projekttagen Aufwand rechnen.

4.2. Design (UX und UI Design)

Die günstigste Option ist das Verwenden von vorgefertigten App-Designs, die jedoch häufig Anpassungen benötigen. Je nach Individualität und erfordertem Aufwand des Designs variieren die Kosten. Das hängt hauptsächlich davon ab, wie intensiv in der Vorabkonzeption Prototypes und Wireframes eingesetzt werden und später in der Testphase sogar mit Click Dummys gearbeitet wird. Sie sollten sich also im Vorhinein bewusst machen, wie wichtig ein ausgefallenes Design für Ihre App ist. Festzulegen, wie das Design aussehen soll ist wichtig für die Planung der Programmierung. Hierbei sollte auch bereits definiert sein, ob man eine Native-App oder eine Alternative erstellen lassen möchte.

Das Design selbst spielt natürlich eine große Rolle für die Nutzungsintensität und –dauer durch den Kunden. Auch für den App Content, bestehend aus Beschreibungen, Informationen, AGBs, etc. fallen in diesem Schritt Kosten an.

Für ein individuell gestaltetes App Design liegt der Aufwand in der Regel zwischen 5 bis 20 Projekttagen.

4.3. Programmierung

4.3.1 Native- oder Hybride Entwicklung

Der kostenintensivste Teil des App-Entwicklungs-Prozesses ist im Normalfall das Programmieren durch das Entwicklerteam.

Der Preis richtet sich hierbei nach der Komplexität, dem Umfang und der Innovativität Ihrer App. Je nachdem, ob Sie sich für eine Native-App (und hier für nur ein Betriebssystem oder beispielsweise für zwei), eine Hybride-App oder eine Cross-Platform-App entscheiden.

Um zu schätzen, was eine App Entwicklung kostet, gilt es viele Faktoren zu betrachten. Der Aufwand ist sehr individuell, weswegen hier keine konkrete Angabe gemacht werden kann.

 

4.3.2 Schnittstellenentwicklung

Aufbau einer Web Plattform: Zu jeder App-Entwicklung gehört auch die Möglichkeit, diese zu verwalten! Dazu bieten wir auch immer eine Plattform an. Dabei entwickeln wir häufig eine einfache Software, die alles verwalten kann. Ein CMS (Content Management System) für Mobile-Apps. Mit diesem CMS, gibt es für Sie die Möglichkeit Content zu verwalten (Inhalte wie Grafiken und Texte) und Funktionen zu aktivieren bzw. deaktivieren, User hinzuzufügen, zu löschen, sperren uvm. Der Aufwand dieser Programmierung ist ebenfalls höchst individuell und kann daher erst in den konkreten Beratungsgesprächen mit Ihnen konkretisiert werden.

 

4.3.3 Anpassungen und Testing

In Form eines Workshops werden die Funktionen der App getestet. Die Testdurchläufe erfolgen durch verschiedene Personen, um alle Einzelheiten genauestens zu überprüfen. Der Fokus liegt hierbei auf der Funktion, der Benutzerfreundlichkeit, der Kompatibilität mit der Soft- und Hardware der Endgeräte sowie dem Verbrauch der Systemressourcen bei intensiver Nutzung.

4.4. Wie können bei der Programmierung Kosten vermieden werden?

Im Hinblick auf die Funktionen Ihrer Applikation sollten Sie sich im Klaren sein, welche Features notwendig sind um Kunden zu gewinnen. Wägen Sie ab, welche Funktionen und Schnittstellen langfristig von Bedeutung sind und auf welche man eventuell verzichten könnte. Je vorbereiteter Sie auf eine Agentur zugehen, desto detaillierter können Sie Ihre Anforderungen und Vorstellungen unterbreiten.

Mit dem richtigen Vorgehen beim Projekt gelingt es auch, die Kosten zu reduzieren: durch von Anfang an gut geplante Aufgabenverteilung, die Entwicklung eines MVPs und eine stetige Verfügbarkeit im Verlauf des Projekts werden überflüssige Ausgaben gespart.

Prüfen Sie außerdem, ob Sie eine individuell entwickelte App benötigen. In manchen Fällen, wie standardisierbaren Shopping-Apps mit geringerem Budget gibt es die Lösung, sich an Vorlagen zu halten. Egal, für welche Form der App Sie sich entscheiden, achten Sie unbedingt auf die Wahl von zukunftsorientierten und –sicheren Technologien um aufkommende Kosten in der Zukunft zu vermeiden.

5.0 Unser Fazit

YOUR PLAN FOR BRILLIANT RESULTS.
  • Die Kosten, eine App programmieren zu lassen können stark variieren.
  • Um sie möglichst genau festzulegen, sollten Sie sich im Vorfeld möglichst eingehende Gedanken über die kostenbeeinflussenden Faktoren machen.
  • Das hängt, wie oben erläutert, vor allem von der Planung des Entwicklungsprozesses, vom Design, von der Art der App und von der Technologie ab.
  • Des Weiteren sollten auch die laufenden Kosten einer App berücksichtigt werden.
  • Nach Go-Live entstehen Kosten für den Betrieb, Support, Weiterentwicklungen und Anpassungen an neue Release.

 

Je genauer all diese Faktoren zu Beginn definiert und einbezogen werden, desto besser können Sie kalkulieren, wie viel Budget aufgewendet werden muss und desto genauer können wir Ihnen ein Angebot unterbreiten. Bei Fragen werfen Sie gerne einen Blick in unseren Fragenkatalog oder nehmen Kontakt mit unseren Experten auf.

DER WEG ZUR EIGENEN APP.

WIR SETZEN IHRE VISIONEN UM.

SIE WOLLEN IHR APP-PROJEKT UMSETZEN LASSEN?

UNSERE EXPERT:INNEN BERATEN SIE GERNE.
Michael AugerDigital Business Consultant