Wie läuft das Release von List & Label ab?

List & Label befindet sich auf der Zielgeraden Richtung RTM. Wir bloggen schon seit einiger Zeit über den Fortschritt und die kommenden neuen Funktionen. Dieses Mal möchte ich jedoch einige Einblicke in die Prozesse geben, bevor wir das Release erreichen.

Erste Phase – Alpha-Version

Die erste Phase unseres Veröffentlichungszyklus ist immer die Veröffentlichung unserer Alpha-Version, die von einigen wichtigen Partnern und Kunden verwendet wird, um ihre Ergänzungen an List & Label anzupassen. Die Alpha bietet eine erste Metrik für die Stabilität der kommenden Version. Dieser Meilenstein wurde Ende Juli erreicht. Basierend auf dem Alpha-Feedback konnten wir einige der Funktionen optimieren und Anfang September in das öffentliche Beta-Programm aufnehmen.

Zu diesem Zeitpunkt hatten wir bereits rund 500 Tickets im Redmine-Ticketingsystem bearbeitet, das wir als Bug-Management-Tool verwenden. Übrigens: Wenn Sie auch Redmine verwenden, sollten Sie sich die kostenlose Berichtslösung für Redmine ansehen, die wir vor einigen Jahren an die Community gespendet haben. So sieht unser aktueller Fortschritt in den letzten 60 Tagen aus:

Redmine Open/Close Tickets

Wie Sie sehen können, ist mein Wille, die Anzahl der offenen Tickets bei unter 100 zu halten, etwas pathologisch. Dies ist eine Tatsache, die dem gesamten Team bekannt ist und bei der jeder entsprechend handelt. Wir fangen jetzt an, die Tickets schnell abzuarbeiten, um rechtzeitig mit dem Ende der Beta-Phase die Null-Ticket-Anzahl zu erreichen.

Beta-Phase – Code freeze

In der zweiten Phase wird die Beta-Version für alle unsere Enterprise-Abonnenten freigegeben. Dies bietet reichlich Gelegenheit zu sehen, ob unsere neuesten Module in Ihrer eigenen Anwendung noch gut funktionieren. Über diesen Kanal erhalten wir viele nützliche Rückmeldungen und erhalten sogar die Möglichkeit, den letzten Schliff für neu hinzugefügte Funktionen durchzuführen.

Während der Beta-Phase haben wir auch die UI-Ressourcen eingefroren. Die Übersetzung dauert einige Zeit, denn wir veröffentlichen List & Label in einer Reihe von Sprachen (Englisch, Deutsch, Französisch, Italienisch, Spanisch und Chinesisch). Diese „Kernsprachen“ werden von einer professionellen Übersetzungsagentur übersetzt. Andere Sprachen werden von ausgewählten Partnern und Kunden bereitgestellt und sind dann erst kurz nach der Veröffentlichung verfügbar.

Das eigentliche Einfrieren des Programmcodes erfolgt kurz nach dem Ende der Beta-Phase. Wir beheben nach diesem Meilenstein nur noch absolute Showstopper-Bugs und auch das nur auf Peer-Peer-Review-Basis.

Natürlich führen wir zusätzlich zu unserem externen Beta-Programm einen intensiven und gründlichen internen Beta-Test durch. Dieser interne Prozess wird für jeden Sprint in unserem agilen Planungsprozess wiederholt, um inkrementelle Releases in jeder Phase zu ermöglichen.

Automatisierte Builds und Tests

Neben manuellen Tests werden die Benutzeroberfläche sowie die Reporting Engine nach den nächtlichen Builds automatisierten Tests unterzogen. Sowohl die Builds als auch die Tests laufen alle automatisiert über unseren CI-Server. Zu diesem Zweck verwenden wir TeamCity. Des Weiteren verwenden wir sowohl kommerzielle Tools als auch Validierungs-Tools, die wir nur für diesen Zweck erstellt haben. Die Haupttests der Reporting Engine bestehen aus mehreren hundert Berichten, die von der Engine ausgeführt und anhand von Referenzen validiert werden. Jede Abweichung von den Referenzdateien wird automatisch gemeldet und wirft ein weiteres Ticket in Redmine auf. Der QS-Prozess umfasst auch Leistungstests, um sicherzustellen, dass keine versehentlich verursachten Latenzen auftreten. Auf diese Weise konnten wir qualitativ hochwertige Releases mit den neuesten Versionen bereitstellen.

Dies ist eine Live-Ansicht unseres TeamCity-Projekts:

TeamCity Projekt List & Label

Wie Sie sehen können, ist der letzte List & Label 26 Core-Build fehlgeschlagen. Der Grund dafür war ein fehlgeschlagener Regressionstest, der anhand der Artefakte des Builds leicht überprüft werden kann:

TeamCity Test List & Label
 

Die Datei selbst ist ein „Vorher/Nachher“ -Vergleich der Ausgabe des letzten Builds mit der gespeicherten Referenz. Um einen Eindruck von der Anzahl der Tests zu erhalten sehen Sie hier einen animierten Überblick über die Ergebnisse eines typischen Builds:

Regression Test List & Label
 

Zusammenfassung

So nähern wir uns also bereits unserer 26. Version. Trotz der Pandemie und der Tatsache, dass fast alle combits immer noch im Homeoffice arbeiten, konnten wir uns an unsere üblichen Prozesse halten, obwohl unsere Stand-ups jetzt ein anderes Erscheinungsbild haben:

combit Dev Team

Wir haben seit der ersten Veröffentlichung von List & Label im Jahr 1992 einen langen Weg zurückgelegt. Damals wurde das Tool aus der Notwendigkeit heraus entwickelt, eine professionelle Berichtskomponente für die CRM-Anwendungen von combit zu verwenden. Unser großartiges Team ist im Laufe der Jahre gewachsen und bietet Dienstleistungen in der Professionalität, die Sie von uns erwarten dürfen. Ich möchte diese Gelegenheit nutzen, um allen Beteiligten im Haus sowie allen treuen Kunden zu danken. Es war mir eine Freude, mit Ihnen die letzten 25 Versionen zusammenzuarbeiten (nun gut, ich bin erst seit Version 5 an Bord :)), und ich freue mich auf das Release einer weiteren, wie ich finde sehr gelungen Version in Kürze.

Wie laufen Releases bei Ihnen im Unternehmen ab? Wir freuen uns über Ihre Kommentare. 

Empfohlene Artikel

Schreibe einen Kommentar