Aus Erfahrung lernen 

Digitalisierte Unternehmen entwickeln ihre Software nicht mehr über Projekte, sondern über Produkte mit festen Produktteams. Diese Teams agieren im Unternehmenskontext möglichst frei und unabhängig. Dadurch zahlen sie in die drei wesentlichen Freiheitsgrade ein, die im digitalisierten Kontext unerlässlich sind: 

  • Fokussiertes und isoliertes Handeln 
  • Elastisches Skalieren beim Entwickeln neuer Use Cases 
  • Schnellstmöglicher Produktivgang neuer Use Cases 

Um aber möglichst unabhängig agieren zu können, müssen die Teams die Software so gestalten, dass sie sie allein und isoliert betreiben können. Microservices sind das Mittel der Wahl, um genau diese Bedingung sicherzustellen.    

Eine der Schattenseiten, mit der man sich über Microservices diese Freiheit erkauft, ist sicherlich die sehr komplexe technische Microservice – Hülle, in der die Implementierung der einzelnen Use Cases lebt.  

So ist es keine Seltenheit, dass der Aufbau dieser Hülle gut und gerne zwei Wochen Entwicklungszeit verschlingt. Wenn diese Zeit von einem erfahrenen Team aufgewendet wird, ist das zumeist eine gute Investition. Denn dadurch wird sichergestellt, dass die Software sicher, robust und elastisch auf die anstehenden Belastungen reagiert.   

Es wird allerdings unternehmerisch unsinnig, wenn diese zwei Wochen jedes Mal aufs Neue investiert werden, sobald ein neuer Microservice oder ein neues Produkt hochgefahren wird. Die gemachte Erfahrung muss also auf jeden Fall im Unternehmenskorpus gespeichert werden.  

Genau dafür haben wir das Konzept der Jump Start Templates entwickelt: 

Abbildung 1: Verkürzte Rüstzeiten durch Jump Start Templates 

Der zweite wesentliche Vorteil ist zudem, dass sich die Produktteams auf der „Technologielandkarte“ der Unternehmens – Makroarchitektur bewegen und durch die Templates nur die Technologien einsetzen, die vom Unternehmen vorgesehen sind. 

Ein Beispiel 

Um die Arbeitsweise mit den Jump Start Templates zu demonstrieren möchte ich hier ein kleines Beispiel geben. 

Stellen wir uns einmal vor, wir arbeiten für einen Online Store mit dem Namen Santorin. Im Unternehmen wurde ein neues Produkt gegründet. Das Produkt heißt „Artikel Suche“ und soll sich um eine möglichst benutzerfreundliche Suche unserer Kunden in unserem Web Shop kümmern. 

Der Product Owner hat bereits folgende Aufgaben erledigt: 

  1. Ein Produkt Team „Artikel Suche“ gegründet 
  2. Die Vision „Unsere Kunden finden immer schnell die Produkte, die zu ihnen passen“ entwickelt 
  3. Die KPI‘s sind definiert 
  4. Die User Stories geschrieben und die ersten drei Sprints geplant 
  5. Ein lokal gehostetes Kubernetes Cluster, Kibana, Grafana, Github und ein MariaDB Server vom Platform Engineering Team (PENG) provisionieren lassen. 
  6. vom PENG Team hat er folgende URL erhalten: https://git.mt-ag.com/artikelsuche 

Nun hat der Product Owner eine Kick Off Party organisiert. Da das Wetter hervorragend ist, hat er einen kleinen Obstgarten gemietet, die Bierbänke sind bereits aufgestellt, der Grill ist vorbereitet und das erste Fass ist dazu bereit, angestochen zu werden. Das ganze Team wartet voller Vorfreude auf den Beginn der Party.  

Bevor das Fest aber beginnen kann, verlangt der Product Owner aber noch, dass eine „Hello World“ Hülle des ersten Microservices heute noch Live geht. Ohne Jump Start Templates wäre die Party damit zu Ende. Mit den Templates dauert es allerdings nicht länger als fünf Minuten, um den Service per CI / CD zu bauen, zu delpoyen, die Datenbank anzusprechen, das Monitoring und Logging zu verwenden. 

Wir haben von den Arbeitsschritten ein kleines Video gemacht, das die Arbeitsschritte demonstriert: 

https://youtu.be/cIGYnGj7pGs

Jetzt teilen auf:

Jetzt kommentieren