Unser Release Day: Der Prozess hinter den regelmäßigen Updates für autoscan

Let’s take a look behind the scenes of our development: Our Software Lead Bernhard Reuberger explains our structured approach to releases.



Frage: Jeden Dienstag steht im Kalender des autoscan-Teams der „Release Day“. What does that mean?

Bernhard: Das ist der Tag, an dem jede Woche neue Features, Verbesserungen und Fehlerbehebungen für autoscan veröffentlicht werden.

Frage: Und was ist das Besondere an diesem Release Day?

Bernhard: Dazu muss ich etwas ausholen. Wir sind sehr stolz auf den gesamten Entwicklungsprozess hinter autoscan, den wir in den letzten Jahren aufgebaut und ständig verfeinert haben.

Die gesamte Codebasis ist über alle Komponenten hinweg zu einem sehr hohen Prozentsatz vollautomatisiert getestet. Wir folgen damit höchsten Qualitätsstandards. Zusätzlich schafft es kein neuer Code in das Endprodukt der nicht von mindestens einem Kollegen im Rahmen eines Code Reviews überprüft wurde.

Zum Thema Release Day: Wir verwenden ein Kanban Board, auf dem wir den Lebenszyklus von jedem Feature genau im Auge behalten – von der Idee und Konzeption über die Entwicklung bis eben hin zum Release.

Dadurch können wir auch mögliche Optimierungen ableiten. So haben wir im Dezember letzten Jahres erkannt, dass sich immer wieder viele – eigentlich fertige – Arbeitspakete vor einem Release aufstauen. Der Grund dafür war, dass wir für diese letzte Phase noch keinen so klar definierten Prozess hatten.

Frage: Wie lief denn diese letzte Phase damals ab?

Bernhard: Es gab keinen fixen Zeitpunkt, an dem wir Releases machten. Wir entschieden immer ad-hoc, meistens nach größeren Features. Das Problem mit der fehlenden Deadline war, dass vieles bereits zu 95 Prozent fertig war – und die restlichen 5 Prozent zogen sich dann über Wochen bis zum nächsten Release. Somit waren diese Releases dann größer und auch meistens mit Stress verbunden.

Frage: Und der Release Day war die Lösung?

Bernhard: Ja, wir sehen deutliche Verbesserungen, seit wir damit gestartet haben. Wir haben Dienstag als den Tag festgelegt, an dem Releases gemacht werden. Mit diesem Ziel vor Augen bleiben keine Features liegen und wir veröffentlichen in „kleinen Happen“. So vermeiden wir die großen, stressigen Releases.

Der Prozess hat auch dazu geführt, dass wir schneller geworden sind, also die Velocity sich erhöht hat. Und das alles, während wir gleichzeitig weniger geistige Energie darauf verwenden müssen, weil es einfach zur Gewohnheit geworden ist!

Und das alles, während wir gleichzeitig weniger geistige Energie darauf verwenden müssen, weil es einfach zur Gewohnheit geworden ist!


Frage: Wie läuft der Prozess im Detail ab?

Bernhard: Wir setzen uns als Ziel, die Features bereits bis Montag zu erledigen, also einen Tag vor dem Release Day. Das gibt uns noch die Zeit, das Feature manuell zu testen und zu integrieren. Außerdem warten wir das Code Review eines Kollegen ab. Damit ist alles fertig vorbereitet für den Release am Dienstag.

Am Release Day selbst gehen wir nochmal gemeinsam die Features durch. Und wenn wir zufrieden sind, schnüren wir die Release-Pakete für die verschiedenen ERP-Systeme, in die autoscan integriert werden kann.

Frage: Wie funktioniert so ein „Pakete schnüren“?

Bernhard: Komplett automatisch und innerhalb weniger Minuten. Wir arbeiten ständig daran unsere Continuous Integration and Continuous Deployment Prozesse zu verbessern. Diese sind auch die essenziellen Grundlagen für den Release Day: Zum einen wird die Qualität von autoscan laufend mit einer Vielzahl an automatisierten Tests überprüft. Zum anderen können wir dann die Release-Pakete auf Knopfdruck erstellen. Nur so können wir innerhalb eines Tages und mit gutem Gewissen releasen!

Frage: Wie bekommen die Partner von autoscan diese Pakete?

Bernhard: Wir stellen sie ihnen auf den jeweiligen File Share. Somit haben sie jederzeit die neueste autoscan-Version zur Verfügung. Es steht ihnen dann frei, ob sie diese gleich bei ihren Kunden ausrollen. Nicht immer sind die Änderungen im neuesten Release für alle relevant.

Einen interessanten Nebeneffekt der häufigen Releases beobachten wir im Support: Manchmal hat ein Partner nicht das neueste Paket ausgerollt und meldet einen Wunsch oder ein Problem – und alles was wir dann tun müssen, ist auf das Feature oder den Fix im aktuellen Paket hinzuweisen. Kaum gemeldet, ist das Problem damit für den Partner auch schon gelöst!

ÜBER BERNHARD REUBERGER

Bernhard ist unser Software Lead und Architect. Er hat autoscan von Anfang an mitentwickelt. Seine Leidenschaft für hochwertige Softwareentwicklung sorgt dafür, dass autoscan die durchdachteste, benutzerfreundlichste und zukunftssicherste Lösung auf dem Markt ist.