So konnten wir gemeinsam mit unserem Kunden anpacken
Weiterbauen vs. neu entwickeln
Hier kam nun it-agile als Partner ins Spiel. Wir arbeiteten schon seit einigen Jahren mit mobile.de zusammen, denn wir hatten sie bei der Einführung von Scrum und Kanban beraten. Wir vereinbarten ein 14-tägiges App-Assessment, um die Probleme mit der App genauer zu analy- sieren, Vorschläge für die Stabilisierung bzw. den Umbau zu erarbeiten oder Mängel auch einfach schon zu beseitigen. Während des Assessments stießen wir auf Probleme wie Fehler bei der Speicherverwaltung oder falscher Umgang mit Multi-Threading – beides Phänomene, die leider häufig erst nach einiger Zeit oder in bestimmten Konstellationen auftreten. Nach 14 Tagen konnten wir eine erste Version in den App-Store bringen, die zwar immer noch Schwächen aufwies, jedoch stabiler lief, was auch zu deutlich besseren Bewertungen führte. Nach drei weiteren Versionen hatten wir die App stabilisiert und die wichtigsten neuen Zusatz-Features waren ebenfalls implementiert. Außerdem gab es nun eine lokalisierte Version für den französischen und den italienischen Markt. Sowohl die Bewertungen im App-Store als auch das qualitative Feedback der User:innen zeigte, dass sich die Mühen gelohnt hatten. Je erfolgreicher die App war, desto mehr neue Ideen entstanden, um die App weiterzuentwickeln. So stand mobile.de vor der Frage, ob das alles mit dem bestehenden Code umgesetzt werden konnte. Das App-Assessment hatte leider gezeigt, dass die abgelieferte Anwendung nicht so konzipiert war, dass große Änderungen und Erweiterungen möglich waren. Für einen einzigen Wurf einer App, die nicht weiter angepasst wird, mag das ausreichend sein, aber nicht für das, was mobile.de weiterhin mit der App vorhatte. Deshalb entschied sich mobile.de daraufhin, mit uns gemeinsam die App neu zu bauen.
Ein weiteres Anliegen von mobile.de bestand darin, das Produkt nicht ausschließlich durch externe Dienstleister entwickeln zu lassen. Man wollte die Entwicklung zu sich holen und vor Ort mindestens über den Product Owner direkt an der Entwicklung beteiligt sein. Die langfristige Strategie umfasste aber auch, den Mangel an eigenen iOS-Entwickler:innen zu beseitigen und festangestellte Entwickler:innen ins Projekt zu holen. Da wir von it-agile vor Ort mit dem Kunden oder der Kundin zusammen arbeiten, ist beides für uns problemlos möglich. Zusammen mit einem Product Owner von mobile.de haben wir die App neu aufgebaut und dabei auch schon einige Features angepasst, wobei es aber hauptsächlich darum ging, die alte App mit allen Funktionalitäten nachzubauen.
Wir gingen agil vor: Anstatt eine große Version zu entwickeln, wurde in 14-tägigen Sprints gearbeitet, an deren Ende jeweils eine auslieferbare Version stand, zu der der Kunde Feedback geben konnte. Hierfür verwendeten wir automatisierte Beta-Deployments, d.h. Anwender:innen konnten immer die neueste Version auf ihren Geräten installieren und damit auch sofort den aktuellen Stand begutachten. Diese PSPs (potentially shippably product increments) wurden noch nicht in den App-Store gestellt, weil der Kunde entschied, dass die App erst dann live gehen sollte, sobald die bereits bestehende Funktionalität abgedeckt war. Ansonsten schien die Gefahr zu groß, Kund:innen durch plötzlich nicht mehr vorhandene Features zu verprellen. Um den Aufwand für manuelles Testen auf verschiedenen Geräten und Betriebsversionen möglichst gering zu halten, wurden automatisierte Oberflächentests mit dem Framework „Frank“ eingesetzt.
Die neu aufgebaute App befindet sich seit Juni 2011 im App-Store von Apple. Bis Ende 2012 konnte mobile.de schon über 2.000.000 Downloads der App verzeichnen. Die Anwendung gehört regelmäßig zu den TOP 100 der meistgeladenen Apps im deutschen App-Store, befindet sich unter den TOP 10 der kostenlosen Apps im Bereich „Produktivität“ und hat eine durchschnittliche Bewertung von 4,5 Sternen (5 Sterne sind das Maximum).
Unser kleines iOS-Team wurde später in ein neues Team integriert, das sich nun mit der gesamten Entwicklung mobiler Anwendungen beschäftigt: Neben der Neuentwicklung der Web-App, wurde von mobile.de aus auch mit Hochdruck an einer Android-App – und später auch an einer iPad-App – gearbeitet. Die Gründung dieses Teams entsprach der Strategie von mobile.de, die Apps zum zentralen Bestandteil ihres Business zu machen. Ebenfalls ins Team integriert ist nun die Entwicklung am Backend. Denn aufgrund der hohen Benutzerzugriffe und zahlreicher neuer Anforderungen machte es Sinn, für die Mobilgeräte einen neuen Backend-Service zu schaffen. Der vorher genutzte, generische Service hatte alle möglichen Daten geliefert, von denen aber nur ein Bruchteil wirklich genutzt wurde. Für Mobilgeräte ist ja eine möglichst geringe Datenmenge wichtig, was auch dadurch erreicht wurde, dass man nunmehr JSON statt XML verwendet.