
App Entwicklung Schritt für Schritt – Intro
Heute beginnt die neue Blog-Reihe im AlwisSoft Blog: “App Entwicklung Schritt für Schritt“.
Warum schreibe ich diese Blog-Beiträge?
Im Laufe der letzten Jahre habe ich viel mit Kunden gearbeitet die keine Erfahrung mit Software-Entwicklung und keinen technischen Hintergrund hatten.
Für diese Kunden war das Thema komplett “Neuland” und sie hatten keine Ahnung was auf sie zukommt und worauf sie sich eingelassen haben.
Dies ist auch genau die Zielgruppe für diese Blog-Reihe.
Es geht also weniger um die technischen Aspekte der Entwicklung, sondern um die Gliederung, das Projektmanagement, den “Business-Teil”.
Hier werden wir Ihnen alle Grundlagen vermitteln damit Sie gut informiert in das Abenteuer App-Entwicklung starten können.
(Auch wenn ich hier immer von App-Entwicklung rede gilt das natürlich alles auch für alle sonstigen Software-Projekte)
Ich unterteile die Entwicklung in 5 Abschnitte: Produktgestaltung, Konzeption & Design, Implementierung, Tests und Launch & Co.
Die meisten der Abschnitte werden mehr als einen Blogbeitrag füllen, neben den wichtigsten Fragen, die Sie sich in dem Abschnitt stellen zeige ich Ihnen auch hilfreiche Tools, Software und Webseiten.
Hier zunächst ein kurzer Abriss worum es in den einzelnen Themengebieten geht.
(Sollten irgendwelche technischen Begriffe oder Abkürzungen vorkommen die Ihnen unbekannt sind, werden diese in den Posts zu den einzelnen Abschnitten ausführlich erklärt)
1. Produktgestaltung
Die meisten Produkte beginnen mit einer Idee. “Könnte man nicht …?“, “Wie wär’s mit …?“, “Warum gibt es … noch nicht?” sind Fragen die häufig am Anfang stehen.
Im ersten Schritt geht es darum aus der Idee ein Produkt zu machen. Also feiner zu spezifizieren was Ihre App genau machen soll.
Wichtige Fragen die hier zu beantworten sind:
- Was ist meine Zielgruppe?
- Gibt es ähnliche / vergleichbare Produkte?
- Wenn ja, wie erfolgreich sind diese und wie heben wir uns davon ab?
- Was sind unsere USPs ( unique selling points / Alleinstellungsmerkmale)?
- Sind alle technischen Voraussetzungen für die App gegeben?
- Erlauben die App-Stores die Art von App?
- Wie sind die rechtlichen Voraussetzungen?
- Wie wollen wir mit der App Geld verdienen?
2. Konzeption und Design
Basierend auf den Erkenntnissen der Produktgestaltung machen wir uns an die Konzeption und das Design.
Diese Phase gliedert sich in zwei Abschnitte.
Technische-Konzeption
Die Technische-Konzeption betrachtet alle technischen Anforderungen genau, übersetzt sie in eine Software-Architektur und legt die Grundlagen für die App-Entwicklung fest.
Wichtige Fragen:
- Welche Infrastruktur wird benötigt (Server, Hosting, CDN, …)?
- Gibt es mehrere Komponenten und wenn ja wie kommunizieren diese miteinander?
- Wo und wie werden Daten gespeichert?
- Wird die App nativ, hybrid oder als Web-App entwickelt?
- Welche externen Dienste und Dienstleister benötigen wir für die Umsetzung, bzw. können uns Zeit/Geld bei der Implementierung sparen?
- Wie werden Fehler, die im realen Betrieb auftreten, erfasst und dokumentiert?
- Wollen wir die App-Nutzung durch die Benutzer protokollieren und auswerten? Mit welchen Tools?
User-Interface und App-Design
Neben der technischen Seite muss natürlich auch die Benutzeroberfläche gestaltet werden. Gerade bei Apps ist es enorm wichtig dass sie nicht nur gut bedienbar sind, sondern auch dass das Design und Aussehen zeitgemäß, modern und durchdacht ist.
Es ist wichtig sich an Bekanntem zu orientieren, damit der Benutzer seine gewohnten Vorgehensmuster beibehalten kann, sich aber auch genug von den anderen Apps abzuheben um einen eigenen “Charakter” zu haben.
Wichtige Fragen:
- Welche Bildschirmseiten benötigen wir und wie sind diese aufgebaut?
- Wie präsentieren wir dem Benutzer bestimmte Informationen?
- Wie erfolgt die Navigation zwischen verschiedenen App-Bildschirmen?
- Welche Farben soll die App haben, welche Farben schliessen wir aus?
3. Implementierung
Dieser Schritt wird in der Regel einen Großteil der Zeit und des Budgets (vom Marketing abgesehen) in Anspruch nehmen.
Alle benötigten Komponenten müssen entwickelt, und im Rahmen der Entwicklung auch getestet, werden, dabei ist es wichtig sich an bestehenden Standards und Konventionen zu orientieren und von diesen nur sehr bewusst und aus wichtigen Gründen abzuweichen.
Wichtige Fragen:
- Welches Entwicklungsmodell passt am besten zu den Anforderungen und dem Team?
- Welche Projektmanagement-Werkzeuge werden eingesetzt?
- Welche Entwicklungswerkzeuge und unterstützenden Tools werden eingesetzt?
- Wie kommuniziert das Team intern und mit dem Projektmanager und Auftraggeber?
- In welchen Zyklen werden Test-Versionen und Ergebnisse veröffentlicht?
- Wie werden Testversionen verteilt und Fehler / Änderungswünsche kommuniziert und dokumentiert?
- Wie wird sichergestellt dass qualitativ hochwertige Ergebnisse erzielt werden?
- Vor allem wenn mehrere Teams an dem Produkt arbeiten, deren Komponenten miteinander interagieren müssen oder aufeinander aufbauen: Wie wird sichergestellt dass die einzelnen Komponenten auch im Zusammenspiel miteinander, während der Entwicklungszeit immer gut funktionieren?
4. Tests
Die Entwicklung ist abgeschlossen, alle Komponenten sind fertig und arbeiten gut zusammen.
Bevor die App veröffentlich wird ist es jetzt wichtig sie noch mal intensiv zu testen, nicht nur um zu überprüfen ob alles richtig funktioniert, sondern auch um sicher zu stellen dass die App sich so verhält wie ein “Durchschnitts-Nutzer” es erwartet.
Entsprechend ist es wichtig dass in dieser Phase Tester zum Einsatz kommen die nichts mit der Entwicklung der App zu tun hatten. Sehr gerne auch Tester die überhaupt nichts mit Software-Entwicklung zu tun haben. Im Idealfall orientiert sich die Auswahl der Tester an der gewünschten Zielgruppe.
In der Realität wird diese Phase leider gerne übersprungen oder sehr kurz gehalten um Zeit und Geld zu sparen. Dies hat allerdings sehr häufig negative Auswirkungen auf die Qualität der App und die Akzeptanz am Markt.
Wichtige Fragen:
- Wer soll die App testen?
- Wie finden wir geeignete Tester?
- Wie werden die Tests durchgeführt und protokolliert?
- Wie werden Testversionen und -updates verteilt?
Es bietet sich an, das Testen und die Entwicklung, wo möglich, parallel zu betreiben. Zum einen spart dies Zeit, die App kommt schneller auf den Markt.
Zum anderen können aus dem Feedback der Tester, unter Umständen schon früh, wichtige Probleme identifiziert werden, woraus sich Änderungen ergeben, die direkt bei der Weiterentwicklung berücksichtigt werden können.
5. Launch & Co
Die App ist fertig entwickelt und (hoffentlich ausgiebig) getestet. Die Webseite steht. Die App kann veröffentlich werden!
Was ist dafür (und danach) alles zu tun?
App-Store-Eintrag
Für Apps, die über die klassischen Stores verteilt werden ist ein gut strukturierter, informativer und professionell gestalteter App-Store-Eintrag extrem wichtig.
Bevor der Benutzer die App installiert kommt er zwangsläufig auf die Seite im App-Store, häufig ist dies auch der erste Berührungspunkt mit der App.
Gut gestaltete und wohlgewählte Screenshots, unter Umständen ein kurzes Video dass die App präsentiert, und ein gut formulierter Text der die Funktion der App beschreibt sollen den Nutzer davon überzeugen dass es sich für ihn lohnt die App zu installieren und ggf. auch dafür Geld auszugeben. Versteht der User nicht warum er die App brauchen sollte oder kommt ihm etwas “spanisch” vor ist es sehr unwahrscheinlich dass er die Webseite aufruft um sich weiter zu informieren.
Ebenso wichtig sind gut gewählte “Keywords”, die dazu führen dass der Benutzer die App über die App-Store-Suche findet.
Marketing
Nach der Veröffentlichung der App wollen wir natürlich Nutzer gewinnen und sie davon überzeugen die App zu installieren und regelmäßig zu nutzen.
Hierfür ist es sehr wichtig die Zielgruppe gut zu kennen um gezielt an den richtigen Plätzen “Werbung” zu machen. Dies muss nich zwangsläufig die klassische Banner- oder Video-Werbung sein. Gerade bei einer jungen Zielgruppe sind alternative Werbe-Methoden deutlich erfolgreicher.
Betrieb und Hosting
In den meisten Fällen ist mit der Veröffentlichung der App die Arbeit noch nicht getan.
Trotz intensiver Tests ist es äußerst unwahrscheinlich dass keine Fehler/Bugs in der App sind. Wichtig ist es einen Feedback-Kanal zu haben, um vom Endnutzer informiert zu werden wenn, etwas nicht wie geplant funktioniert um darauf reagieren und die Fehler beheben zu können.
Die Betriebssysteme entwickeln sich weiter. Sowohl bei iOS als auch bei Android kommen regelmäßig neue Versionen heraus, was unter Umständen auch Einfluss auf die App hat. Anforderungen können sich ändern. Möglicherweise ändern sich auch bestimmte Verhaltensmuster, woraufhin die App angepasst werden muss um sich wieder so zu verhalten wie der Benutzer es erwartet.
Häufig benötigt die App eine Server-Komponente/Backend zum Speichern und Austauschen von Daten und eine Webseite. Diese müssen Betrieben und gewartet werden, vor allem um die Sicherheit der Daten zu gewährleisten.
User-Feedback und Verbesserungen
Basierend auf dem Feedback der tatsächlichen Nutzer können Änderungswünsche entstehen. Ein Nutzer wünscht sich vielleicht zusätzliche Funktionalität. Durch die Protokollierung der Nutzung stellen wir fest dass die Nutzer die App anders verwenden als wir es uns vorgestellt haben.
Dies, und natürlich auch unsere eigenen Ideen, führen zu weiteren Veränderungen und Verbesserungen der App um die Nutzer langfristig zu binden und neue Nutzer zu gewinnen.