Viele aktuelle Systeme sind
- schwer zu verändern
- nicht Teamfähig
- kontraproduktiv
- nicht zukunftsfähig
Gilt leider auch für viele aktuelle Systementscheidungen!
Teamfähigkeit
- Verfügbarkeit
- Parallele Nutzbarkeit
- Notwendige Lernkurve
Anpassbarkeit
- Kleine Features
- Refactorings
- Große Richtungswechsel
Testbarkeit
- Automatisierbarkeit
- Reproduzierbarkeit
- Stabilität
- Verfügbarkeit
DevOps
- Verfügbarkeit (z.B. Lizensierung)
- Automatisierbarkeit
- Verfügbarkeit von Werkzeugen
- Stabilität
- Geschwindigkeit
Vorträge und Diskussionen
Beispiel
Lange Deployment-Zeiten
Beispiel: Lange Deployment-Zeiten
Mögliche Auswege:
- Alternative Applikationsserver in der Entwicklung (Aufwand, Komplexität)
- Tools wie jRebel (Kosten) / DCEVM
(Komplexität, Einschränkungen)
Beispiel
Begrenzende Lizenzierung der Entwicklungsumgebung
- Nicht alle Teammitglieder können entwickeln
Beispiel
Begrenzende Lizenzierung der Testwerkzeuge
- Nicht alle Teammitglieder können lokal testen
- Tests erst nach der Integration
- Kein DevOps
Beispiel
Begrenzende Lizenzierung der Laufzeitumgebung für Entwickler-PCs
- Entwicklung auf geteilter Umgebung
- Viele Störungen in der Umgebung
- Kein DevOps
Beispiel
Begrenzende Lizenzierung der Laufzeitumgebung für Test und CI
- Nicht ausreichend Branches im CI für Integrationstests
- Manuelle und automatisierte Tests auf den gleichen Umgebungen
- Komplexere Testfälle
- Zu wenig Umgebungen für manuelle Tests
- Tests erst nach der Integration möglich
- Kein DevOps
Beispiel
Nicht automatisierbare Installation
- „DevOps-Clickathlon“ ➧ Kein DevOps
- Keine Deploymentautomatisierung
- Kein verlässliches Staging
- Seltene Deployments
Beispiel
Antwortverhalten (Latenz, Asynchronität)
- Lange Testausführung
- Zu wenig Integrationstests
- Komplexere Testfälle
- Nightly Builds
Beispiel
Monolithisch
- Viele interne Abhängigkeiten
- Kaum änderbar
- Schwierig testbar
- Komplexes, langsames Buildsystem
Bewertung
- Wie problematisch im Teamalltag
- Wie problematisch im Bezug auf "Continuous Deployment"
- Häufigkeit / Relevanz
Zeitplan
bis 20 Teilnehmer
- 11:00 - 11:15: Einleitung und Vorstellung von Beispielen
- 11:15 - 11:45: Detaillierung und Bestimmung von Favoriten (4 Gruppen)
- 11:45 - 12:05: Vorstellung von 12 - 15 Favoriten (reihum je 1 noch nicht vorgestelltes)
- 12:10 - 12:25: Gemeinsames "Magic Estimation" zur Bestimmung der Top 10
- 12:25 - 12:30: Ergebnisse zusammentragen
Zeitplan 1
ab 20 Teilnehmer
- 11:00 - 11:20: Einleitung und Vorstellung von Beispielen
- 11:20 - 11:40: Detaillierung und Bestimmung von Favoriten (6 Gruppen)
- 11:40 - 12:00: Vorstellung von 12 - 15 Favoriten (reihum je 1 noch nicht vorgestelltes)
- 12:00 - 12:20: "Magic Estimation" zur Bestimmung der Top 10 (Gruppe)
- 12:20 - 12:30: Ergebnisse zusammentragen und gemeinsame Top 10 erstellen
Bestimmung der Favoriten in Gruppenarbeit
Ende 11:40
Vorstellung von 12 - 15 Favoriten
reihum je 1 noch nicht vorgestelltes
Ende 12:00
Gemeinsames "Magic Estimation" zur Bestimmung der Top 10
Ende 12:25
Ergebnisse zusammentragen
Ende 12:30
- Beratung, Coaching und Projektunterstützung
- Java EE
- Buildsysteme gradle und maven/ant-Migration
- Testautomatisierung
- Coach in agilen Projekten
- DevOps