Designing Digital Future

Welche Fragen du dir vor der App Entwicklung stellen solltest

Als Entwickler habe ich im Laufe der Jahre verschiedenste grosse und kleine Mobile-App Projekte begleitet, die alle ganz unterschiedlich waren. Doch ein Punkt taucht bei so ziemlich allen Projekten auf: Der Aufwand für die Softwareentwicklung der App wird immer unterschätzt – und ich meine immer. Im Folgenden gebe ich einige Tipps, welche Gedanken sich Projektmanager zu Softwareanforderungen machen sollten, bevor sie eine App entwickeln lassen.

Das Risiko zu optimistischer Aufwandsschätzung ist, dass die Kosten schnell aus dem Ruder laufen, wenn die Entwicklung statt der geplanten 3 Monate plötzlich 6 dauert. Die Entwicklungszyklen sind so auch schlechter planbar.

Mit dem richtigen Vorgehen lässt sich jedoch der Aufwand für Software-Projekte besser abschätzen, um die benötigten Ressourcen zu evaluieren. Dieser Grundsatz gilt für Mobile-Apps genauso wie für Desktop- und Web-Anwendungen. Im Detail betrachtet gibt es hierbei jedoch einige Punkte, die Smartphone- und Tablet-Applikationen von anderen Programmen unterscheiden. Diese Unterschiede zu kennen ist auch in agilen Projekten wichtig, denn nur so kann bereits beim Projektstart der zukünftige Aufwand möglichst exakt geschätzt werden.

 

Kernfragen für die Programmierung einer Mobile App

Die zwei wichtigsten Fragen, welche sich jedes Unternehmen stellen sollte, bevor es die App Entwicklung in Auftrag gibt, sind:

  • Brauche ich überhaupt eine mobile Lösung?
  • Was ist die Kernfunktion der App?

Die erste Frage wird häufig mit einem “Ja, klar!” beantwortet. Jedoch sollten Unternehmen sich stets Gedanken darüber machen, ob die Neuentwicklung einer Mobile-App auch tatsächlich einen Mehrwert für die Kunden darstellt. Manchmal ist es sinnvoller, eine bereits existierende Web-Anwendung für mobile Geräte zu optimieren. Sogenannte Progressive-Web-Apps stellen eine Symbiose aus Web- und Mobile-Lösungen dar und bieten gegenüber nativen Programmen den Vorteil, dass sie nicht an einen App-Store gebunden sind und direkt im Browser ausgeführt werden können. Durch die einheitliche Codebasis spart man zudem Kosten.

Hat sich ein Unternehmen schliesslich für die Entwicklung einer mobilen Anwendung entschieden, ist es wichtig zu wissen, was die App unbedingt können muss. Also welche Grundfunktionen muss sie haben, damit sie für den Nutzer einen Mehrwert bietet. Projektmanager sollten sich stets die Frage stellen: Braucht es diese Funktion wirklich oder geht es auch ohne? Das Risiko von überbordenden Kosten kann deutlich minimiert werden, wenn zuerst ein MVP (Minimal Valuable Product) mit den Kernfunktionen erstellt und anschliessend am Markt getestet wird. Diese Vorgehensweise bietet zudem den Vorteil, dass sich die Entwicklungskosten eines MVP im Gegensatz zu einer «fully-featured» Lösung deutlich besser abschätzen lassen. Das Resultat beinhaltet dabei ausschliesslich Code, der für die Implementierung der Kernfunktionalität nötig ist. Wichtig: Ein MVP ist eine funktionierende Lösung und kein Prototyp! Es ist komplett marktfähig und ermöglicht das Testen der allerwichtigsten Funktionen. Schnell zeigt sich, ob der gewünschte Business Case auf mobilen Plattformen erfolgsversprechend ist oder nicht.

 

Technische Aspekte von Mobile Apps, die man nicht vergessen sollte

Besteht Einigkeit über die Kernfunktionalität der zu entwickelnden App ist es hilfreich, sich Gedanken über einige spezifische technische Aspekte zu machen:

  • Welche Bildschirmgrösse soll die App vorrangig unterstützen (Smartwatch, Smartphone, Tablet)?
  • Für welches Betriebssystem soll zuerst entwickelt werden (Apple, Android)?
  • Welche Funktionen müssen auch im Offline-Modus gewährleistet sein?
  • Sind Features wie Sprach- und Gestensteuerung, Foto- und Videofunktionen usw. wirklich für die Umsetzung der Kernfunktionalität notwendig oder können diese zu einem späteren Zeitpunkt hinzugefügt werden?
  • Was sind die wichtigsten Schnittstellen zu anderen Programmen? Soll beispielsweise die Anmeldung mit einem Google- oder Facebook-Konto möglich sein?
  • Wo sollen die Daten gespeichert werden? Wie kritisch ist es, wenn Daten beispielsweise im Falle einer fehlenden Internetverbindung vorläufig auf dem Gerät selbst gespeichert werden?
  • Welche ähnlichen Apps gibt es bereits, wie sieht dort die Benutzerführung aus?
  • Wie lässt sich die Kernfunktion der App testen? Lassen sich diese Tests automatisieren?

Zur Klärung dieser Fragen ist eine enge Zusammenarbeit zwischen Business Developer/-in und Software-Engineer/-in unumgänglich. Vorgelagert zur Softwareentwicklung steht zudem das Design, welches sich mit Fragen zur Zielgruppe, User Experience, Usability und so weiter auseinandersetzt. Auch hier gibt es eine Reihe von Fragen, die es zu klären gilt – doch diese behandeln wir in einem nachfolgenden Blogpost.

 

Interdisziplinäre Zusammenarbeit für eine erfolgreiche App

Auch in agilen Projekten ist es wichtig, sich bereits zu Beginn intensiv Gedanken über die Notwendigkeit und Kernfunktionalität einer mobilen Anwendung zu machen. Besteht diesbezüglich Klarheit, sollte ein MVP entwickelt und am Markt getestet werden. Dabei ist es erforderlich, dass bereits von Anfang an Personen aus den Bereichen Business Development, Design, Software Engineering und Testing eng miteinander zusammenarbeiten. Erst nach erfolgreichem Testen des MVPs macht es Sinn, weiter ins Detail zu gehen und zusätzliche Features zu implementieren. Dieses Vorgehen ermöglicht einen reibungslosen Projektablauf und hält Kosten und Risiken in einem überschaubaren Rahmen.