Sie wollen für Ihre Kunden oder zur internen Verwendung eine eigene App entwickeln, welche mit Smartphones und Tablets genutzt werden kann? Hier finden Sie Tipps zur Umsetzung.

Vorgangsweise

Das Entwickeln der App sollten Sie als Projekt durchführen und zu Beginn einen Projektauftrag mit Zielen und Rahmenbedingungen (Budget, Termine usw.) definieren.

Ebenso sollten Sie bereits zu Beginn eine Person benennen, welche für die App über den ganzen Lebenszyklus verantwortlich ist (der Applikationsverantwortliche bzw. der Product Owner in Scrum).

Die Entwicklung erfolgt typischerweise in mehreren Zyklen mit der Veröffentlichung einer neuen App-Version (App-Release) am Ende eines jeden Zyklus. In jedem Entwicklungszyklus werden die Phasen Design, Entwicklung und Rollout durchlaufen, wobei im ersten Zyklus die Basis geschaffen wird. In den folgenden Entwicklungszyklen wird das vorhandene hinterfragt, verbessert und erweitert.

Sobald die App den Anwendern zu Verfügung gestellt wird, muss auch der sichere IT-Betrieb für die App sichergestellt sein.

Was Sie zu Beginn bedenken sollten

Anwender

Wenn Sie die App nur zur internen Verwendung entwickeln möchten, dann können Sie mit möglichst wenig Funktionen starten und eine kontinuierliche Weiterentwicklung anstreben. Durch den frühen Einsatz der App bekommen Sie rasch Feedback von den Anwendern, was die Effektivität der Entwicklung erhöht. Definieren Sie dennoch die Mindest-Qualitätskriterien für die interne Veröffentlichung der App, denn ggf. verursacht ein unreife App mehr Schaden als Nutzen.

Wird die App für Kunden entwickelt, dann sind die Anforderungen an Funktionalität, Design, Stabilität, Geschwindigkeit und Support von Anfang an hoch. Orientieren Sie sich an bereits verfügbaren, ähnlichen Apps, denn auch ihre Kunden werden Ihre App damit vergleichen.

Soll die App sowohl intern als auch von Kunden genutzt werden, dann sollten Sie die App erst nur zur internen Verwendung entwickeln. Mit weiteren Entwicklungszyklen bringen Sie die App dann zur Marktreife für die Kunden. Diese Vorgangsweise ist ideal, da die Kinderkrankheiten bei der Veröffentlichung der App für die Kunden hoffentlich schon ausgemerzt sind.

Verfügbarkeit und Betriebssystem-Support

Sie sollten sich bereits am Beginn entscheiden, auf welchen Geräten/Betriebssystemen (Android, iOS, Webbrowser, Windows, Linux etc.) die App verfügbar sein soll. Die Verwendung einer Betriebssystem-unabhängigen Entwicklungsumgebungen (cross-platform) ist für eine breite Verfügbarkeit vorzuziehen, da Geschwindigkeitsnachteile und höhere Ressourcenbelastung in der Praxis mittlerweile vernachlässigbar sind. Dennoch bleiben Einschränkungen, womit Sie die Entwicklungsumgebung gemeinsam mit dem Entwicklungspartner sorgfältig auswählen sollten.

Definieren Sie auch, ob die App in den öffentlichen App-Stores (Google, Apple, Microsoft etc.) verfügbar sein muss. Falls ja, dann sollten Sie die Anforderungen der App-Stores von Anfang an in der Entwicklung berücksichtigen. Für eine App zur internen Nutzung ist das meist nicht notwendig, da Ihre IT diese auf die firmeneigenen Geräte verteilen/installieren kann.

Individuelle Software, Entwicklungsmethode

Eine selbst entwickelte App ist individuelle Software, was Vor- und Nachteile mit sich bringt (siehe Software entwickeln, Customizing).

Für die App-Entwicklung empfiehlt sich eine agile Vorgangsweise (z.B. mit der Methode Scrum):

  • Die Entwicklung erfolgt zyklisch in kleinen Schritten (Sprints), wobei die Anforderungen am Beginn eines jeden Zyklus angepasst werden können.
  • Ein Sprint sollte nur 1 bis 4 Wochen dauern, womit für eine App-Release typischerweise mehrere Sprints notwendig sind.
  • Scrum fordert am Ende eines jeden Zyklus ein brauchbares Produkt zu haben, womit die Qualitätssicherung eine Aufgabe für jeden Sprint ist.
  • Das Entwicklungsprojekt (zumindest theoretisch) nach jedem Zyklus gestoppt bzw. pausiert werden.

Weiter Informationen zu agilen Projekten finden Sie Beitrag zu Projekt-Management.

Budget

Die Kosten für die App-Entwicklung sind natürlich stark von den Anforderungen abhängig, aber auch Faktoren wie Team-Fähigkeiten, Neuartigkeit der Anwendung, Umgang mit neuen Anforderungen usw. haben einen starken Einfluss. Das Ergebnis ist, dass sich die Entwicklungskosten nur schwer voraussagen lassen und initiale Kostenschätzungen werden oft massiv überschritten.

Um die Kosten unter Kontrolle zu behalten, sollten Sie:

  • Mit einem Minimalprodukt (MVP) starten: Definieren Sie für das erste App-Release nur die unbedingt notwendigen Anforderungen.
  • Führen Sie eine neue Kostenschätzung für jeden folgenden Entwicklungszyklus (jedes App-Release) durch.
  • Nutzen Sie die Erfahrungen ihres Entwicklungspartners bei der Aufwandsschätzung.
  • Verlassen Sie sich nicht auf Fixpreisangebote des Entwicklungspartners. Da sich die Anforderungen sich im Laufe des Projekts meistens ändern, werden die Paketpreise obsolet.

Um die Kosten für Ihr Unternehmen zu reduzieren, können Sie Kooperationen suchen: Geschäftspartner, Kunden oder auch der Entwicklungspartner wollen sich ggf. an der Entwicklung beteiligen. Allerdings fordern die Kooperationspartner meistens auch ein Mitspracherecht, womit die Entwicklungsphase komplexer und teurer wird.

Laufende Betreuung, Betrieb

Auch eine „fertig“ entwickelte App braucht laufende Betreuung und der reguläre IT-Betrieb muss sichergestellt werden (siehe Betrieb weiter unten).

Definieren Sie daher bereits zu Beginn, wer die laufende Betreuung der App und den Betrieb übernehmen soll (Entwicklungspartner, eigene IT, anderer IT-Partner usw.).

Programmierer finden

„No-Code“ Tools zur App-Entwicklung

Die Programmierung/Erstellung einer App zur internen Verwendung könnte mit einem No-Code-Tool wie z.B. Microsoft PowerApps (Teil von Microsoft365/Office365) erfolgen. Diese Tools werben damit, dass keine Programmierkenntnisse benötigt werden und ein solches Tool ist zumindest für einen ersten Prototypen gut brauchbar. Ev. möchte sich einer Ihrer Mitarbeiter damit gerne beschäftigen und Sie können die Aufgabe ihm übertragen.

Für Kunden-Apps eignen sich No-Code-Plattformen zumindest derzeit noch nicht, da zu viele Einschränkungen beim Design und in der Funktionalität existieren. Damit können Sie die hohen Anforderungen in der Praxis nicht erfüllen.

Entwicklungspartner finden

Wenn Sie kein Programmierteam im Haus haben, benötigen Sie für die Erstellung der App einen Entwicklungspartner. Für KMU empfiehlt sich die Zusammenarbeit mit kleineren Softwareunternehmen, wobei bei einem Ein-Mann-Unternehmen das Ausfallrisiko berücksichtigt werden muss.

Um den richtigen Entwicklungspartner zu finden, sollten Sie erst einen Anforderungskatalog definieren (siehe auch Lastenheft – Anforderungskatalog):

  1. (Grobe) Anforderungen an die App wie z.B.
    • Funktionale Anforderungen
    • Metriken
    • Daten-Anforderungen
    • Schnittstellen (Datensysteme, Geräte)
    • IT-Security und Datenschutz
    • App-Verfügbarkeit (Betriebssysteme, Geräte, Stores)
  2. Definition der Liefergegenstände wie z.B.
    • Mitarbeit beim App-Design (nach Aufwand / Pauschale)
    • Entwicklungsarbeiten (nach Aufwand / Pauschalen)
    • Einrichtung bzw. Zurverfügungstellung der IT-Umgebung (Entwicklung / Test / Betrieb)
    • Projekt-Management
    • Testmanagement, Testvorbereitung, Testdurchführung
    • Schulung und Dokumentation
    • Unterstützung beim Roll-out
    • Betrieb, Wartung und Support-Leistungen
  3. Eigentumsrechte und Lizenzierung
    • Rechte zur Verwendung des Sourcecodes, Verkauf und Weitergabe an Dritte
    • Bestimmungen zur Nutzung (Lizenzierung)
  4. Anforderungen an den Entwicklungspartner
    • Anzahl Mitarbeiter im Unternehmen und wie viele für das Projekt benötigt werden
    • Qualifikation der Mitarbeiter im Projekt
    • Referenzen für ähnliche Projekte
    • Gewünschte Form der Zusammenarbeit, Sprache und Verfügbarkeit für vor Ort Termine
    • Anforderungen an die Organisation für IT-Betriebsleistungen
    • Anforderungen zur kontinuierliche Wartung und Weiterentwicklung der App
    • Geforderte Zertifizierungen

Mithilfe dieses Anforderungskatalogs können Sie dann eine Marktrecherche durchführen, Angebote einholen und mit den potenziellen Kandidaten verhandeln (siehe auch Angebote einholen, Auftrag vergeben).

Entwicklungszyklus, erste App-Release

Im ersten Entwicklungszyklus sollten Sie die wesentlichen Vorgaben für die App definieren (Themen weiter oben).

Danach definieren Sie in der Design-Phase den Funktionsumfang, die User-Interaktion, Aussehen und weitere Details für das geplante App-Release.

Die detaillierte Projektplanung erfolgt sinnvollerweise erst nach der Design-Phase, da nun die Anforderungen für die App-Release konkretisiert wurden. Für eine ggf. gewünschte Wirtschaftlichkeitsrechnung können Sie nun auch einen Business Case erstellen.

Sofern Sie noch keinen Entwicklungspartner haben, müssen Sie als Nächstes einen solchen finden (Tipps siehe oben). Überprüfen Sie nach dem Vertragsabschluss nochmals Ihre Projektplanung, denn ggf. hat sich in der Verhandlungsphase etwas Wesentliches verändert.

Nun folgt die eigentliche Entwicklungsphase, wobei die App auf Basis der vorher definierten Anforderungen entwickelt wird. In agilen Projekten ist Testen immer ein integraler Bestandteil der Entwicklungsphase und muss damit parallel zur Entwicklung passieren. Werden häufig neue (inoffizielle) App-Versionen erstellt (mit CI/CD ist das üblich), dann sollten Sie die Automatisierung von Tests überlegen.

Die Entwicklungsphase wird mit einem Abnahmetest abgeschlossen:

  • Wurden die Key-User in der Entwicklungsphase eingebunden und haben bereits getestet, dann ist die Abnahme meist nur eine formelle Prüfung.
  • Wenn die Key-User die neue App-Version noch nicht getestet haben, dann muss nun der Test durchgeführt werden. Nicht akzeptable Mängel müssen korrigiert und ggf. der Test wiederholt werden, bevor die Abnahme positiv abgeschlossen wird.

Als Nächstes wird für die nun fertige App-Version das Rollout vorbereitet und durchgeführt (siehe auch Go-Live, Produktivnahme):

  1. Produktivnahme planen
  2. Produktionsumgebung bereitstellen
  3. Anwender schulen
  4. IT-Betrieb sicherstellen und Support organisieren
  5. App veröffentlichen

Schlussendlich sollte am Ende eines jeden Entwicklungszyklus ein Lessons-learned Workshop mit allen Beteiligten stattfinden (siehe Projektabschluss). Die Erkenntnisse helfen Ihnen den nächsten Entwicklungszyklus besser zu gestalten.

Betrieb

Die App braucht laufende Betreuung, auch wenn diese fertig ist (d.h. keine neuen Funktionen geplant sind):

  • Fehlerbehebungen
  • Notwendige Anpassungen, welche sich aus dem Umfeld ergeben
  • IT-Sicherheit: Prüfungen, Anpassungen, Korrekturen
  • Regelmäßige Updates in den App-Stores, damit die App dort verfügbar bleibt

Weitere Betriebsaufgaben sind (siehe auch IT-Betrieb):

  • Anwender-Support
  • Data Management
  • Bereitstellung von Backend-Services für die App (sofern benötigt)