Spring GDS 25. Jubiläum
Ein Logistikunternehmen, das in 190 Länder versendet, hat etwas gebaut, um an sich selbst zu liefern.
Versioning ist die Praxis, den aufeinanderfolgenden Zuständen eines Softwareprodukts, einer Datei oder eines Datensatzes eindeutige Kennungen zuzuweisen. Diese Kennungen, meist Zahlen oder eine Mischung aus Zahlen und Buchstaben, lassen Teams Änderungen über die Zeit verfolgen, kommunizieren, was jedes Update tatsächlich bewirkt, und zu einem früheren Zustand zurückkehren, wenn etwas schiefgeht.
In Software meint es meist zwei verwandte Dinge. Quellcode-Versioning, von Werkzeugen wie Git verwaltet, erfasst jede Änderung an einer Codebasis auf der Ebene einzelner Commits. Release-Versioning setzt strukturierte Etiketten auf die Versionen, die ein Produkt öffentlich veröffentlicht, meist nach Semantic Versioning, kurz SemVer, im Format MAJOR.MINOR.PATCH. Unter SemVer sind die Regeln knapp und nützlich: ein Major-Sprung signalisiert inkompatible Änderungen, ein Minor-Sprung fügt abwärtskompatible Features hinzu, ein Patch-Sprung behebt Fehler. Springt eine Bibliothek von 2.4.1 auf 3.0.0, weiß jeder, der von ihr abhängt, dass er vor dem Upgrade das Changelog lesen sollte, denn etwas, worauf er sich verließ, könnte sich verschoben haben.
Machen Sie es richtig, werden Zusammenarbeit, Release-Management und Abhängigkeitsauflösung leichter. Machen Sie es falsch, wird ein langlebiges System nach und nach unmöglich zu durchschauen.
Wir versionieren alles, was wir veröffentlichen, und behandeln die Versionsnummer als Versprechen an jeden, der von ihr abhängt. Wenn wir eine API oder ein geteiltes Paket für einen Kunden pflegen, bekommt eine inkompatible Änderung einen Major-Sprung und eine klare Notiz, nie eine stille Änderung, die jemandem den Montag ruiniert. Diese Disziplin ist ein Grund, warum die Systeme, die wir bauen, beim Wachsen weiterlaufen.
Klares Versioning hält auch eine Partnerschaft ehrlich. Jeder sieht, was sich wann und warum geändert hat, was Release-Management ruhig macht statt zum Ratespiel. Wir verbringen lieber eine Minute mit einem guten Changelog als einen Nachmittag damit, zu entwirren, warum die Produktion vom Staging abgedriftet ist.
Werden die Releases chaotisch und niemand weiß, was in der Produktion läuft? Bringen wir den Prozess in Ordnung.
Ein Logistikunternehmen, das in 190 Länder versendet, hat etwas gebaut, um an sich selbst zu liefern.
Eine Marke in ein funktionierendes Geschäft verwandeln.
Eine halbe Million Menschen. Eine App. Null Chaos.















