Noch vor einiger Zeit war der Aufwand für das Releasen unseres Kernprodukts so um-fangreich, dass wir es nicht geschafft haben mehr als eine Version pro Jahr zu veröffen-tlichen. Wir hatten mit Dingen zu kämpfen wie komplexen Abhängigkeiten, großen ma-nuellen Aufwänden und Silos innerhalb der Firma. Um diese Probleme zu lösen waren technische und nicht-technische Schritte erforderlich. Technische Schritte waren unter anderem der Einsatz von Docker, wodurch das Deployment vieler Komponenten vereinfachen werden konnten. Durch die Aufteilung des anfänglichen Monolithen in kleine Microservices haben wir Abhängigkeiten reduziert und durch die Automatisierung vieler Prozesse den manuellen Zeitaufwand minimiert. Zum Beispiel hat sich der Aufwand für das Testen der Releaseartefakte durch Automatisierung von 3 Wochen auf wenige Minuten reduziert. Nicht-technische Schritte waren beispielsweise das Aufbrechen von festgefahrenen Firmenstrukturen, das Hinterfragen und Aufarbeiten von langwierigen Veröffentlichungs- und Kommunikationsprozessen, die Förderung und das Leben des DevOps Gedankens in der Firma und das Aufbrechen von Abteilungs-Silos. Zum Beispiel wurde ein neues Team aus Entwicklern geschaffen und die Schreibtische im selben Raum wie die der Infrastruktur- und Hosting-Verantwortlichen platziert. Durch das bloße Zusammensitzen in einem Büroraum wurde ein hoher Grad an Zusammenarbeit und Wissenstransfer erreicht. Durch den Einsatz dieser und anderer Maßnahmen konnten Aufwände derart reduziert wurden, dass mittlerweile anstatt von einem Release pro Jahr mehrere Releases pro Monat möglich sind und wir gleichzeitig Aufwände eingespart haben, deren Zeitaufwand in der Summe der Arbeitszeit einer Vollzeitstelle entspricht. In dem Vortrag werden die wichtigsten Schritte und Maßnahmen dargelegt, die wir unternommen haben um eine derartige Verbesserung unserer Release Prozesse herbeizuführen.