Wie Flip Software entwickelt, testet und veröffentlicht

Wie wir planen und entwickeln

Software Development Life Cycle (SDLC)

Flip hat einen agilen SDLC. Das ist ein flexibler, iterativer Ansatz für die Softwareentwicklung, bei dem Zusammenarbeit, Anpassungsfähigkeit und Kundenzufriedenheit im Vordergrund stehen. Es ist ein strukturierter Prozess für die Bereitstellung von Software, der in zweiwöchige Zyklen, sogenannte Sprints, unterteilt ist.

Wir fördern kontinuierliches Feedback und Verbesserungen, sodass Teams Pläne anpassen und Änderungen während des gesamten Entwicklungsprozesses einarbeiten können. Das Ziel des agilen SDLC von Flip ist es, Projekte in kleinere, überschaubare Sprints aufzuteilen, die sich auf die Bereitstellung einer funktionierenden Version der Software konzentrieren und kontinuierliches Feedback und Verbesserungen ermöglichen.

Entwicklung und IT-Operations (DevOps)

Flips Abteilung R&D (Research & Development) nutzt CI/CD (Continuous Integration/Continuous Delivery). Dabei handelt es sich um eine Softwareentwicklungsmethode, die den Prozess der Erstellung, des Testens und der Bereitstellung von Codeänderungen automatisiert und so die Softwareentwicklung effizienter und zuverlässiger macht. Sie umfasst zwei Hauptphasen: Continuous Integration (CI), in der Codeänderungen häufig zusammengeführt und validiert werden, und Continuous Delivery/Deployment (CD), in der der Code automatisch für die Nutzer freigegeben wird.

  • Continuous Integration (CI): Entwickler führen ihre Codeänderungen so oft wie möglich in einem zentralen Repository zusammen. Anschließend werden automatisierte Builds und Tests durchgeführt, um sicherzustellen, dass die Änderungen kompatibel sind und keine Fehler verursachen. So können Probleme frühzeitig im Entwicklungsprozess erkannt und behoben werden.
  • Continuous Delivery (CD): Sobald der Code erfolgreich integriert und getestet wurde, übernimmt CD. CD automatisiert die Freigabe des validierten Codes für eine Test- oder Staging-Umgebung. Die CD-Pipeline von Flip erfordert eine manuelle Genehmigung, bevor Änderungen in Produktionsumgebungen bereitgestellt werden (siehe „Qualitätssicherung“).

 

Qualitätssicherung und Release-Prozess

Flip setzt auf Shift-Left in DevOps, d. h. wir verlagern Test- und Qualitätssicherungsaktivitäten so früh wie möglich in den Softwareentwicklungszyklus, anstatt bis zum Ende zu warten. Dieser Ansatz zielt darauf ab, Probleme früher zu erkennen und zu beheben, was zu schnelleren Entwicklungszyklen, verbesserter Codequalität und geringeren Kosten führt.

In der Praxis bedeutet dies, dass die Entwickler gemeinsam mit den Produktmanagern und Designern an der Lösungsfindung beteiligt sind und dabei helfen, detaillierte Testpläne zu entwickeln, bevor der Code geschrieben wird. Dies trägt nicht nur dazu bei, Randfälle frühzeitig aufzudecken, sondern auch die Codierung effizienter und erfolgreicher zu gestalten.

Flip verfügt über zwei verschiedene Benutzer-Frontends: eine native mobile App, die in App-Stores veröffentlicht wird, und eine responsive Webapp für Desktop-Benutzer. Für jede dieser Apps gibt es einen leicht unterschiedlichen SDLC-Prozess.

Webapp

Die Webapp wird nicht auf den Geräten der Benutzer installiert, sondern über einen Browser auf dem Gerät des Benutzers aufgerufen. Die Benutzer greifen immer auf die neueste Version zu, die auf den Servern von Flip gehostet wird.

image (3).png

  • Dev Sandbox: Für jede neue Funktion wird ein spezielles Entwicklungs- und Testsystem erstellt, das eine Live-Flip-Umgebung simuliert. In dieser Phase entwickeln wir Unit-Tests und End-to-End-Tests, die eine hohe automatisierte und wiederholbare Testabdeckung gewährleisten.
  • Entwicklungssystem (Master): Nach einer vollständigen Qualitätssicherung werden alle akzeptierten Änderungen in das Master-Entwicklungssystem übernommen. Die Bereitstellungspipelines werden getestet, und alle Fehler werden zurückgemeldet und in der Sandbox überprüft.
  • Staging-System: Einmal pro Woche werden alle Updates für den Master in unsere interne Staging-Umgebung übertragen. Alle Flip-Mitarbeiter nutzen Staging als einziges Tool für die Zusammenarbeit und Kommunikation. So werden nicht nur die Bereitstellungspipelines getestet, sondern wir können Flip auch mit echten Nutzern auf Herz und Nieren prüfen. Alle gefundenen Fehler werden protokolliert und zur Überprüfung an die Sandbox zurückgesendet.
  • Produktionssystem: Nach mindestens einer Woche in der Staging-Umgebung wird wöchentlich eine kontrollierte Freigabe für die Produktion durchgeführt. Dieses Update erfolgt in der Regel montags zwischen 8 und 10 Uhr MEZ und betrifft alle Kunden.
  • Ad-hoc-Updates: Gelegentlich (z. B. wenn ein Fehler in der Produktion gefunden wird) muss ein dringender „Hotfix“ für Flip bereitgestellt werden. In diesem Fall werden die Updates so schnell wie möglich bereitgestellt und folgen nicht dem üblichen wöchentlichen Update-Zyklus.

Mobile App

Die mobile App wird auf den Geräten der Nutzer entweder über MDM oder direkt über die jeweiligen App-Stores für Android und iOS installiert.

image (4).png

  • Dev Sandbox: Für jede neue Funktion wird ein spezielles Entwicklungs- und Testsystem erstellt, das eine Live-Flip-Umgebung simuliert. In dieser Phase entwickeln wir Unit-Tests und End-to-End-Tests, die eine hohe automatisierte und wiederholbare Testabdeckung gewährleisten.
  • Flip-App-Testphase: Nach einer umfassenden Qualitätssicherung werden alle akzeptierten Änderungen in eine Release-Kandidatenversion zusammengeführt (mit TestFlight auf iOS und internen Tests von Google Play auf Android). Diese wird von allen Mitarbeitern in der Forschung und Entwicklung sowie einem Team interner Tester bei Flip verwendet. In dieser Phase können wir manuelle Tests durchführen, bevor die Änderungen in die Produktion übernommen werden. Alle festgestellten Fehler werden protokolliert und zur Überprüfung an die Sandbox zurückgesendet.
  • "Flip App" Produktionsphase: Wenn die Genehmigung durch die gesamte Forschungs- und Entwicklungsabteilung vorliegt, wird die mobile Version in die Produktion übernommen. Dies geschieht in der Regel alle zwei Wochen. In dieser Phase wird die Flip-App sowohl im Android- als auch im iOS-Store aktualisiert. Alle Nutzer der Flip-App erhalten zu diesem Zeitpunkt ein Update, entweder automatisch oder manuell (abhängig von den individuellen Geräteeinstellungen oder davon, ob die Apps über MDM bereitgestellt werden).
  • „Branded-App“ Produktionsphase: Flip bietet optional ein vollständig markenspezifisches App-Erlebnis an (siehe [Branded-App Verteilung]). In diesen Fällen stellt Flip die App und App-Updates automatisch für den Kunden bereit (Managed App Store Distribution). Einige Kunden kümmern sich selbst um die Bereitstellung ihrer App (Own App Store Distribution). In diesem Fall stellt Flip ihnen eine .ipa/.abb-Datei (iOS/Android) zur Verfügung, die sie in den App-Stores bereitstellen können. Die neuesten Marken-Apps werden eine Woche nach der Einführung der Flip-App in die Produktion veröffentlicht. Sobald das Update in den entsprechenden App-Stores verfügbar ist, werden die Nutzer entweder automatisch oder manuell aktualisiert (je nach ihren individuellen Geräteeinstellungen oder je nachdem, ob die Apps über MDM bereitgestellt werden).

Übersicht über den Release-Zyklus

ReleaseCadanceVisual1-DE.png

 

Wie du mitmachen kannst

🧠 Mach mit bei dem, was wir entwickeln

Unsere Prozesse zielen darauf ab, schnelle Iterationen zu schaffen und unsere Nutzer so früh wie möglich einzubeziehen, um das bestmögliche Produkt zu entwickeln. Deshalb freuen wir uns über dein Feedback und beziehen dich gerne in den Prozess mit ein!

Unter [roadmap.getflip.com] kannst du sehen, woran wir gerade arbeiten. Dort findest du auch unsere letzten Releases und kannst die Dinge, die dir gefallen, mit einem Like versehen.

Über das Roadmap-Portal kannst du auch deine Ideen einreichen. Wir nehmen vielleicht nicht jede Idee auf, aber wenn sie priorisiert wird, bist du einer der Ersten, den wir kontaktieren, um sie genauer zu besprechen, Prototypen zu zeigen und Ideen auszutauschen, bis wir das richtige Ergebnis haben.

📰 Informier dich über unsere Releases

Alle Updates werden auf unseren Changelog-Seiten in unserem Helpcenter veröffentlicht:

Mobile: Versionshinweise zur Mobile App

Webapp: Changelog

🚨 Bleib auf dem Laufenden, wenn etwas schiefgeht

So sehr wir auch perfekt sein möchten, manchmal geht etwas schief. Unser Ziel ist es, allen Nutzern jederzeit eine stabile und sichere Plattform zu bieten. Deshalb sind unsere Site Reliability Engineers (SRE) immer auf Abruf bereit, um sicherzustellen, dass bei Problemen vier Dinge geschehen:

  • Du wirst sofort informiert
  • Das Problem wird so schnell wie möglich behoben
  • Du erhältst eine vollständige Beschreibung des Problems
  • Wir verbessern unsere Dienste, damit das Problem nicht wieder auftritt

Unter [status.flipapp.de] kannst du den aktuellen Status der Flip-Dienste einsehen. Dort kannst du auch Updates abonnieren, damit du alle Aktualisierungen sofort erhältst.

War dieser Beitrag hilfreich?

0 von 2 fanden dies hilfreich

Haben Sie Fragen? Anfrage einreichen

Kommentare

0 Kommentare

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.