Bild 1: Autor André Krämer

Bild 1: Autor André Krämer

Als ich vor etwas mehr als 10 Jahren eine Stelle bei einem Softwarehaus annahm, das Standardsoftware herstellte, lernte ich die Relevanz der Release Planung kennen. Im Rahmen des Change Managements sammelten und bewerteten wir neue Anforderungen, die schließlich implementiert und  im Rahmen eines neuen Release ausgeliefert wurden. Es gab ca. vier solcher Release Versionen pro Jahr. Nicht alle Kunden setzten jedes neue Release ein. Schließlich war der Update-Vorgang sehr zeitaufwändig und riskant. Zeitaufwändig, weil es sich um eine klassische Desktop Anwendung handelte, die je nach Installationsart und -größe auf Hunderten von PCs aktualisiert werden musste. Riskant, weil es sich um eine unternehmenskritische Anwendung handelte. Ein Fehler in der neuen Softwareversion hätte im schlimmsten Fall das Kerngeschäft unserer Kunden zeitweise blockieren und somit immensen finanziellen Schaden verursachen können.Deshalb war es natürlich oberste Priorität, neue Release-Stände intensiv zu testen – und zwar nicht nur durch uns, sondern auch durch den update-willigen Kunden.

Die Jahre, die ich für dieses Unternehmen gearbeitet habe, haben meine Arbeitsweise nachhaltig geprägt. Ich lege seitdem sehr viel Wert darauf, dass ein neues Software-Release stets ein Erfolg wird. Dazu gehört unter anderem, dass ich intensiv recherchiere und plane, welche Features für das nächste Release relevant sind. Außerdem stecke ich in der Regel viel Energie in umfangreiche Tests der Software, um somit die Qualität, die meine Kunden erwarten können, sicher zu stellen.

So sinnvoll dieser Ansatz für eine Desktop Standardsoftware auch ist, so falsch hat er sich jedoch für die Entwicklung von Apps für Windows 8 herausgestellt – zumindest für mich.

Meine ersten Schritte in der Windows 8 App Entwicklung habe ich im März 2012, also noch zur Beta Phase von Windows 8, gemacht. Obwohl ich sehr frühzeitig mit der Technologie vertraut war und auch mehr als eine Handvoll vielversprechender App Ideen hatte, hatte ich bis Ende März 2013 genau Null eigene Apps im Windows Store.

Einige dieser App Ideen fanden zwar ihren Weg in ein schriftliches Konzept oder eine erste Implementierung, allerdings wurde keine einzige fertig. Dass dies so ist, lag nun aber nicht daran, dass ich zuwenig Zeit in die Projekte investiert hätte, sondern eher daran, dass ich zuviel Zeit investiert habe.

Dadurch, dass ich dieselben Maßstäbe an eine App angesetzt habe, die ich sonst an eine unternehmenskritische Desktop- oder Webanwendung ansetze, kam ich einfach nicht zu einem Ende. Als ich die Ursache für die vielen App-Leichen auf der Festplatte reflektierte, wurde mir schnell klar, dass es falsch und unnötig ist, an die Entwicklung einer App genauso heran zu gehen wie an die einer Standardsoftware.

Warum man an die Entwicklung von Windows 8 Apps anders herangehen muss:

  1. Ich habe sehr viel Zeit damit verbracht zu überlegen, welche Features meine App haben sollte, damit das Release den Erwartungen meiner Kunden entspricht.
    Dies war aus zwei Gründen falsch. Apps sind im Gegensatz zu klassischen Anwendungen viel aufgabenorientierter. Eine App sollte also nicht zu viele Features haben. Stattdessen sollte sie in genau einer Sache wirklich gut sein. Um dieses Thema herum sollten sich dann einige wenige Anwendungsfälle gruppieren. Diese kann man auf einer halben DIN A4 Seite auflisten. Eine langwierige Planung ist häufig gar nicht notwendig und kann darum entfallen.
    Außerdem hat eine App einen viel breiteren Kreis potentieller Anwender, nämlich alle Windows 8-Nutzer weltweit. Die Chance, dass man durch gute Planung alle Wünsche sämtlicher Anwender in einem Release abdecken kann, geht gegen Null. Daher sollte man besser mit wenigen Funktionen starten und darauf lauschen, worüber sich in den Reviews am häufigsten beklagt wird.
  2. Die Qualität und Stabilität hat einen (zu) hohen Stellenwert eingenommen.
    Auch hier gibt es wieder zwei Gründe, die dagegen sprechen. Zum einen sind die meisten Apps, die frei über den Store verteilt werden, keine unternehmenskritischen Anwendungen. Wenn die App also mal nicht 100%ig funktioniert, laufen die Geschäfte der Kunden in der Regel weiter.
    Leider sind hohe Qualität und Stabilität auch keine Garantie für gute Benutzerbewertungen der App im Windows Store. Egal wie gut Ihre App ist: Sobald Sie halbwegs populär ist, wird sie schlechte Reviews erhalten. Häufig sogar für Dinge, die gar nicht in Ihrem Einflussbereich liegen. Für eine App die ich gemeinsam mit einem Partner geschrieben habe, haben wir zum Beispiel einige schlechte Reviews erhalten, weil einige Anwender die „Einstellungen“ nicht gefunden haben. Diese lagen aber Windows 8-konform in der Charmsbar. Es gab noch viele weitere solcher Beispiele. Sie sehen also: Sie können schlechte Reviews nicht verhindern.

Sollte man also auf Softwarequalität bei der Entwicklung von Windows Store Apps keinen Wert legen?

Natürlich möchte ich Sie mit meinem Beitrag nun nicht dazu anregen, den Windows Store mit lieblos zusammen gezimmerten, fehlerhaften Apps zu überfluten. Ich möchte Sie vielmehr dazu anregen, auf das richtige Maß an Qualität zu achten. Eine App die ein paar Rezepte oder das aktuelle Wetter anzeigt, muss nicht mit denselben Qualitätsmaßstäben entwickelt werden, wie die Steuerungssoftware einer Rakete.

Außerdem möchte ich Ihnen empfehlen, lieber zu wenige Features in Ihre App zu packen als zu viele. Vertrauen Sie mir: wenn Ihren Anwendern wichtige Features fehlen, werden sie ein entsprechendes Review im Store verfassen oder Ihnen direkt schreiben. Auch lohnt es sich, eine Analysesoftware wie Markedup in Ihrer App einzusetzen. Mit Markedup können Sie sehen, wie oft bestimmte Seiten / Features Ihrer App tatsächlich aufgerufen werden. Somit sehen Sie sehr schnell, welches Feature Sie weiter ausbauen sollten und welches Sie sogar wieder aus Ihrer App herausnehmen können.

Da Windows 8 Apps über einen zentralen Store verteilt und auch mit Updates versorgt werden, ist es übrigens gar kein Problem, Features nach und nach zu implementieren. Schließlich ist der Updatevorgang für den Endanwender weder riskant noch zeitaufwändig. Wir haben tatsächlich schon sehr gute Erfahrungen damit gemacht, Features nach und nach zu implementieren. Einige Benutzer schrieben nämlich sehr gute Reviews für unsere App, in denen sie uns für die häufigen Updates lobten.

Machen Sie also nicht denselben Fehler wie ich und verlieren sich in Details bei der App Entwicklung. Schreiben Sie lieber eine kleine App, die Sie kurzfristig in den Store stellen können. Wenn sie erfolgreich ist, können Sie immer noch Updates nachlegen.

Genauso sind wir übrigens bei der Entwicklung unserer gmail calendar Windows 8 App, die den Google Kalender wieder in Windows 8 integriert, vorgegangen. Die erste Version der App haben wir innerhalb eines halben Tages entwickelt und damit in kürzester Zeit über 20.000 User erreicht. Natürlich haben wir in der ersten Version noch Fehler gehabt und viele Features noch nicht implementiert. Durch die Reviews im Windows Store wussten wir aber sehr schnell, mit welcher Priorität wir welche Features entwickeln sollten. Durch diese Vorgehensweise konnten wir nicht nur unseren Aufwand minimieren, sondern den Anwendern auch sehr schnell die Software liefern, die sie wirklich wollen.

Screenshot der Windows 8 GMail Calender App des Autors

Bild 2: Screenshot der Windows 8 GMail Calender App des Autors

Demnächst erscheinen die beiden Bücher Windows Store Apps entwickeln mit JavaScript und HTML5 sowie Windows Store Apps entwickeln mit C# und XAML von André Krämer.