jeden tag ein release - mythos oder realität - vortrag auf der gearconf 09
DESCRIPTION
Jeden Tag ein Release - Mythos oder Realität? Eine ganzheitliche Betrachtung Die Erfahrungswerte aus unterschiedlichsten Projekten zeigen, dass die Implementierung des Release-Prozesses in Projekten inhaltlich und zeitlich oft unterschätzt wird. Der Release-Prozess sollte als ganzheitliches Produkt aller Projektbeteiligten verstanden werden und bereits in einer frühen Projektphase möglichst vollständig integriert werden. Der Vortrag beleuchtet das Thema aus den Blickwinkeln der Projektbeteiligten und soll Anregungen sowie eine initiale Checkliste liefern, um das Vorhaben „Release Everyday“ auch in eigenen Projekten umsetzen zu können.TRANSCRIPT
Release a Day...Mythos oder Realität
Mittwoch, 7. Oktober 2009
Markus GuskeMichael Kloss
Mittwoch, 7. Oktober 2009
Ein (nahezu) realistischer
Fall...
Mittwoch, 7. Oktober 2009
Ein (nahezu) realistischer Fall... der DialogFachabteilung: "Hi Micha, ich habe in 1 1/2 Wochen einen Termin in den Staaten, wo ich unsere Software präsentieren kann! Dazu brauche ich aber unbedingt noch die Funktionalität für X und Y..."
Projektleiter: "Hmm, klingt ja gut, aber ich kann dir so schnell nicht sagen, ob wir das noch alles hinbekommen..."
Fachabteilung: "Naja, an dem Termin hängt auch dein Budget..."
Projektleiter: "Ich rede mal mit den Leuten, mal sehen, was wir machen können."
Szenenwechsel: Projektleiter zu den Entwicklern
Projektleiter: "Unsere Fachabteilung hat in 1 1/2 Wochen einen Termin in den Staaten, brauchen aber Xund Y. Bekommt Ihr das hin?"
Entwickler: "Im Prinzip ja, werden vielleicht ein paar Tests weniger machen könne, da müsste dieTestabteilung einspringen..."
Projektleiter: "Gut, das sollten die hinbekommen..."
Szenenwechsel: Projektleiter zu den Testern
Projektleiter: "Unsere FA hat in 1 1/2 Wochen einen Termin in den Staaten, brauchen aber X und Y.Die Entwickler würden bis dahin die Funktionalität stemmen, aber etwas weniger Tests vorab schreiben können. Könnt Ihr das Testen bis dahin testen?"
Tester: "Nein!"
Projektleiter: "Naja, das ist schon wichtig...! (bettel)"
Tester: "Also, wenn überhaupt dann nur, wenn wir nur X und Y testen & der Rest weiter funktioniert"
Szenenwechsel: 1 Woche später
Projektleiter: "Könnt Ihr bitte die Software auf das Testsystem spielen & bei Freigabe übermorgen auf die Produktion?"
Betrieb: "Du bist ja sehr lustig..., wir haben hier gerade eine Patchwelle für die Betriebssysteme, in dieser Woche hat hier gar keiner Zeit!" ...
Mittwoch, 7. Oktober 2009
"Die fertige und veröffentlichte Version einer Software wird als Release bezeichnet. Damit geht ein Hochzählen der Versionsnummer einher. [...]"
"Das Release Management ist ein Prozess, [...], welcher die Bündelung von Konfigurations-Änderungen zu einem Release oder Versionspaket und deren ordnungsgemäße Eingliederung in der Infrastruktur sicherstellt. Release Management bedeutet die Planung und Durchführung der Veröffentlichung, von der Idee bzw. den ersten Anforderung bis zum Erreichen des Endbenutzers. Es interagiert somit zwischen Change- und Konfigurationsmanagement."
Quelle Wikipedia
Mittwoch, 7. Oktober 2009
Mittwoch, 7. Oktober 2009
Interessen?
Mittwoch, 7. Oktober 2009
Fachabteilung / Kunde
Mittwoch, 7. Oktober 2009
Projektleiter
Mittwoch, 7. Oktober 2009
Entwickler
Mittwoch, 7. Oktober 2009
Tester
Mittwoch, 7. Oktober 2009
Betrieb
Mittwoch, 7. Oktober 2009
Wie kann man dem genügen?
Mittwoch, 7. Oktober 2009
Jeden Tag ein Build!
Mittwoch, 7. Oktober 2009
Mehr als checkout & compile...
Mittwoch, 7. Oktober 2009
Dev-Build
Mittwoch, 7. Oktober 2009
Checkout
Mittwoch, 7. Oktober 2009
Code Conventions
Mittwoch, 7. Oktober 2009
Compile
Mittwoch, 7. Oktober 2009
Unit Tests
Mittwoch, 7. Oktober 2009
Coverage
Mittwoch, 7. Oktober 2009
Metriken
Mittwoch, 7. Oktober 2009
Dev-Build != Release-Build
Mittwoch, 7. Oktober 2009
Release Build
Mittwoch, 7. Oktober 2009
Clean
Mittwoch, 7. Oktober 2009
Change Log
Mittwoch, 7. Oktober 2009
Version
Mittwoch, 7. Oktober 2009
Tagging
Mittwoch, 7. Oktober 2009
Dev-Build
Mittwoch, 7. Oktober 2009
Integrations-Tests
Mittwoch, 7. Oktober 2009
Publish der Artefakte
Mittwoch, 7. Oktober 2009
"3rd Party-Tools"z.B. Deploytool
Mittwoch, 7. Oktober 2009
Automatisieren!
Mittwoch, 7. Oktober 2009
Morgens getestet!
Mittwoch, 7. Oktober 2009
Automatisieren!
Mittwoch, 7. Oktober 2009
Ganzheitlich...Mittwoch, 7. Oktober 2009
...kein Ganzes
Viele Teile...
Mittwoch, 7. Oktober 2009
Das Ziel!Mittwoch, 7. Oktober 2009
Checklisten
Mittwoch, 7. Oktober 2009
Datum Aufgabe Anmerkungen
Datum Aufgabe Anmerkungen
Vorher Deployment Termin abgestimmt schriftlich und insbesondere auf Betriebsführungsseite (DBA, AppServer,....) abgestimmt und auch Telefonnummern und Verfügbarkeit eingeholt
Vorher Deployment Information geliefert Mail an alle, die es betrifft verteilt: Projektleitung, Fachabteilung, Deployment Manager, Betriebsführung, Testmanager
Vorher Entwicklungsteam: Codefree-Termin gesetzt
Vorher Der Verantwortliche prüft die Voraussetzungen für automatisches Changelog
Stimmen alle Einträge (Versionsnummer, Issue-Solution), vereinfacht über Filter möglich/notwendig!
D-Day Software paketiert / Auslieferungsformat Der Verantwortliche im Entwicklungsteam prüft, ob das Release den Freigabekriterien genügt
D-Day Final build und Entwicklungstest Der Verantwortliche im Entwicklungsteam prüft, ob das Release den Freigabekriterien genügt
D-Day Versionsnummer korrekt hinterlegt
D-Day Version im SCM markiert
D-Day Änderungen dokumentiert (Change Log)
D-Day Installationanweisung erstellt / aktualisiert
D-Day Installations- / Deinstallationsskript
D-Day Abnahme erfolgreich
D-Day externe Konfiguration dokumentiert / aktualisiert
D-Day Information über das Release verteilt
Zeitpunkt Prozess Aufgabe Anmerkungen
Vorher ✓ Release Termin abgestimmt
Schriftlich und insbesondere auf Betriebsführungsseite (DBA, AppServer,....) abgestimmt und auch Telefonnummern und Verfügbarkeit eingeholt
Vorher ✓ Release Abstimmungsergebnis verteilenInformation an alle, die es betrifft: Projektleitung, Fachabteilung, Deployment Manager, Betriebsführung, Testmanager
Vorher ✓ Entwicklungsteam: Codefreeze-Termin gesetzt
Vorher ✓ Inhaltliche Abstimmung über Releaseinhalte
Stimmen alle Rahmendaten (Versionsnummer, Issue-Solution), Abstimmung mit Entwicklungsteam wg. möglicher branches, Test-Manager (Stand der Qualität), ....
D-Day Versionsnummer korrekt hinterlegt
D-Day Version im SCM markiert
D-Day Änderungen dokumentiert (Change Log)
D-DayInstallations- und Deinstallationsanweisungen erstellt / aktualisiert
ggf. auch Datenbankänderungen usw.
D-Dayexterne Konfiguration dokumentiert / aktualisiert Konfiguration Anbindung externer Systeme
D-Day Finaler Release-Build und Release-TestDer Verantwortliche im Entwicklungsteam prüft, ob das Release den Freigabekriterien genügt, Testprotokoll beilegen
D-Day Software paketiert / Auslieferungsformat
D-Day ✓ Software-Release übergeben
Nachher ✓ Abnahme erfolgreich Abnahmeprotokoll dokumentieren
Nachher ✓ Information über Abnahme verteilen Information an das Gesamte Team.
Mittwoch, 7. Oktober 2009
Mittwoch, 7. Oktober 2009
Datum Aufgabe Anmerkungen
Datum Aufgabe Anmerkungen
Vorher Deployment Termin abgestimmt schriftlich und insbesondere auf Betriebsführungsseite (DBA, AppServer,....) abgestimmt und auch Telefonnummern und Verfügbarkeit eingeholt
Vorher Deployment Information geliefert Mail an alle, die es betrifft verteilt: Projektleitung, Fachabteilung, Deployment Manager, Betriebsführung, Testmanager
Vorher Entwicklungsteam: Codefree-Termin gesetzt
Vorher Der Verantwortliche prüft die Voraussetzungen für automatisches Changelog
Stimmen alle Einträge (Versionsnummer, Issue-Solution), vereinfacht über Filter möglich/notwendig!
D-Day Software paketiert / Auslieferungsformat Der Verantwortliche im Entwicklungsteam prüft, ob das Release den Freigabekriterien genügt
D-Day Final build und Entwicklungstest Der Verantwortliche im Entwicklungsteam prüft, ob das Release den Freigabekriterien genügt
D-Day Versionsnummer korrekt hinterlegt
D-Day Version im SCM markiert
D-Day Änderungen dokumentiert (Change Log)
D-Day Installationanweisung erstellt / aktualisiert
D-Day Installations- / Deinstallationsskript
D-Day Abnahme erfolgreich
D-Day externe Konfiguration dokumentiert / aktualisiert
D-Day Information über das Release verteilt
Zeitpunkt Prozess Aufgabe Anmerkungen
Vorher ✓ Release Termin abgestimmt
Schriftlich und insbesondere auf Betriebsführungsseite (DBA, AppServer,....) abgestimmt und auch Telefonnummern und Verfügbarkeit eingeholt
Vorher ✓ Release Abstimmungsergebnis verteilenInformation an alle, die es betrifft: Projektleitung, Fachabteilung, Deployment Manager, Betriebsführung, Testmanager
Vorher ✓ Entwicklungsteam: Codefreeze-Termin gesetzt
Vorher ✓ Inhaltliche Abstimmung über Releaseinhalte
Stimmen alle Rahmendaten (Versionsnummer, Issue-Solution), Abstimmung mit Entwicklungsteam wg. möglicher branches, Test-Manager (Stand der Qualität), ....
D-Day Versionsnummer korrekt hinterlegt
D-Day Version im SCM markiert
D-Day Änderungen dokumentiert (Change Log)
D-DayInstallations- und Deinstallationsanweisungen erstellt / aktualisiert
ggf. auch Datenbankänderungen usw.
D-Dayexterne Konfiguration dokumentiert / aktualisiert Konfiguration Anbindung externer Systeme
D-Day Finaler Release-Build und Release-TestDer Verantwortliche im Entwicklungsteam prüft, ob das Release den Freigabekriterien genügt, Testprotokoll beilegen
D-Day Software paketiert / Auslieferungsformat
D-Day ✓ Software-Release übergeben
Nachher ✓ Abnahme erfolgreich Abnahmeprotokoll dokumentieren
Nachher ✓ Information über Abnahme verteilen Information an das Gesamte Team.
Mittwoch, 7. Oktober 2009
Matrix
Mittwoch, 7. Oktober 2009
Dokumentiert Implementiert Automatisiert Integriert
Versionsnummer
Installationspaket
Installationsanweisungen
Deploytool
Build-Prozess
Issue-Management
Changelog / Release Notes
Versionsmanagement
Umgebungskonfiguration
Entwicklertests
Integrationstests
Mittwoch, 7. Oktober 2009
Schon gesehen...
Mittwoch, 7. Oktober 2009
Dokumentiert Implementiert Automatisiert Integriert
Versionsnummer
Installationspaket
Installationsanweisungen
Deploytool
Build-Prozess
Issue-Management
Changelog / Release Notes
Versionsmanagement
Umgebungskonfiguration
Entwicklertests
Integrationstests
✓(✓) ✓
(✓)
✓✓✓(✓)
(✓)
✓ ✓
Mittwoch, 7. Oktober 2009
Kurzfristigerreichbar...
Mittwoch, 7. Oktober 2009
Dokumentiert Implementiert Automatisiert Integriert
Versionsnummer
Installationspaket
Installationsanweisungen
Deploytool
Build-Prozess
Issue-Management
Changelog / Release Notes
Versionsmanagement
Umgebungskonfiguration
Entwicklertests
Integrationstests
✓ ✓ ✓✓ ✓ ✓ ✓✓✓ ✓ ✓
✓ ✓ ✓✓ ✓✓ ✓
✓ ✓ ✓✓✓ ✓ ✓ ✓✓ ✓ ✓
Mittwoch, 7. Oktober 2009
Ziel...
Mittwoch, 7. Oktober 2009
Dokumentiert Implementiert Automatisiert Integriert
Versionsnummer
Installationspaket
Installationsanweisungen
Deploytool
Build-Prozess
Issue-Management
Changelog / Release Notes
Versionsmanagement
Umgebungskonfiguration
Entwicklertests
Integrationstests
✓ ✓ ✓ ✓✓ ✓ ✓ ✓✓ ✓ ✓ ✓✓ ✓ ✓ ✓✓ ✓ ✓ ✓✓ ✓ ✓ ✓✓ ✓ ✓ ✓✓ ✓ ✓ ✓✓ ✓ ✓ ✓✓ ✓ ✓ ✓✓ ✓ ✓ ✓
Mittwoch, 7. Oktober 2009
Release a Day...Mythos oder Realität
Buste
d
Mittwoch, 7. Oktober 2009
Dankefür Ihre
Aufmerksamkeit!
Mittwoch, 7. Oktober 2009
Aktuelle VeranstaltungenHouse of open Scrum - 12:00
07. Oktober 2009 - Oberhaching, Kirchplatz Ecke Kybergstr, Kybergstraße 6-10
Entwicklertag: Praxisrelevante Anwendungsszenarien der modellgetriebenen Entwicklung
07. - 08. Oktober 2009 - Oldenburg
Xing und itemis verraten „Die Wahrheit über Scrum“, Dortmund - 16:15 - 21:00
08. Oktober 2009 - Harenberg City Center - Dr. Martin Wrangel
"Embedded Systems" von Dr. Jörn Seger - Vortragsreihe Dortmund – 18:30 - 21:00
12. Oktober 2009 - Harenberg City Center - Dr. Jörn Seger
MedConf: Modellgetriebene Generierung eines Softwareagenten zur Identifizierung von Studienpatienten - 09:00 - 17:45
13. - 15. Oktober 2009 - München-Dornach
Alle aktuellen Veranstaltungen und weiterführende Informationen auf: http://www.itemis.de/veranstaltungen
Mittwoch, 7. Oktober 2009
Aktuelle VeranstaltungenEclipse Summit Europe
- "Advanced Programming Techniques with EMF and CDO" - 13:00- "Domain-Specific Languages mit Eclipse Modeling" – 13:00- "Combining Graphics and Text in Modeling Tools" - 17:00- "Eclipse Modeling Symposium“ - 18:00- "The B3 build platform - The PDE-Build successor" - 18:00
27. Oktober 2009 – Ludwigsburg, Forum am Schlosspark - Sven Efftinge und Jan Köhnlein – 08:00-17:00 Karsten Thoms, Sebastian Zarnekow, Markus Völter, Ed Merks
- "Xtext - From Galileo to Helios" - 14:10- "Lightweight Model-Driven Development for Embedded Systems" - 15:00- "Get lean with OSEE" - 17:50
28. Oktober 2009 - Nirmal Sasidharan, Markus Völter, Andreas Graf Sven Efftinge, Sebastian Zarnekow - 08:00-17:00
Scrum-Kompakt – mit Joseph Pelrine – Düsseldorf - 14:00
29. Oktober 2009 – Düsseldorf – Joseph Pelrine
W-JAX 09 - Mastering differentiated MDSD Requirements at Deutsche Boerse AG
10. November 2009 – München, Arabellastraße 6 - Heiko Behrens, Karsten Thoms
Eclipse Demo Camp Leipzig – 17:00 bis 20:00
17. November 2009 – Leipzig - Lars Martin
Alle aktuellen Veranstaltungen und weiterführende Informationen auf: http://www.itemis.de/veranstaltungen
Mittwoch, 7. Oktober 2009