Inhouse Bootcamp Agile
Softwareentwicklung
|
 |
Sie wollen Ihr Team innerhalb kürzester Zeit in
Schwung
bringen für agile Entwicklung? Dann ist dieses
einwöchige
"Bootcamp" die richtige Veranstaltung für sie! Sie erhalten
sowohl
die Grundlagen agilen Vorgehens als auch Schulungen zu den technischen
Grundlagen schneller iterativer Entwicklung. Nach dieser Woche ist Ihr
Team bereit für die ersten "Gehversuche" in der agilen Welt.
Das Seminar kombiniert den Basiskurs
Agile Entwicklung mit den beiden technischen
Seminaren Testgetriebenes
Design und Refaktorisieren.
Dort finden Sie auch noch detailliertere Informationen zum
Ablauf.
Teilnehmer: 7-20
Personen
Mein Tipp:
Veranstalten Sie
diese Schulung außerhalb der gewohnten Arbeitsumgebung mit
gemeinsamen Abendaktivitäten und Übernachtung, um
auch die
Teambildung optimal zu unterstützen!
Was nehmen Sie mit?
Die
Teilnehmer lernen die Grundlagen agiler Entwicklung kennen erlernen
auch die technischen Fähigkeiten, um Software in schnellen
Iterationen entwickeln zu können, ohne dass langfristig die
Qualität leidet.
Die folgenden Themen werden im
Seminar angesprochen, weitere Details finden Sie in den Beschreibungen
der einzelnen Komponenten:
- Einführung in agile Entwicklung
- Der Ablauf einer Iteration
- Schätzen und planen in agilen Projekten
- Ablauf der Entwicklung
- Definition von "Fertig"
- Retrospektiven
- Rollen in agilen Projekten (Product Owner, Entwickler,
Tester, Coach/Scrum Master, Tracker)
- Testgetriebene Entwicklung
- Der TDD-Zyklus
- Design und Programmieren von Unit-Tests
- Was sind gute Unit-Tests
- Testisolation durch Mockobjekten
- Akzeptanztests mit FitNesse
- Refaktorisieren
- Evolutionäres Design
- Methodendesign verbessern
- Klassendesign verbessern
- Emergente Architekturen
- Refaktorisieren im Projektablauf
Ich biete den Workshop in einer
methodenübergreifenden Variante an, sowie in einer speziell
auf
Scrum ausgerichteten Variante. Die technischen Teile sind in Java auf
Eclipse mit JUnit und FitNesse. Varianten für C# und C++ auf
Anfrage.
Wer sollte teilnehmen?
Dieses Bootcamp ist für alle
Teammitglieder,
die agile Entwicklung in allen Facetten kennen lernen wollen. Der
technische Teil richtet sich primär an Entwickler und
Architekten,
Basiskenntnisse im Umgang mit Java und Eclipse sind notwendig. Manager,
Projektleiter,
Tester, Methodenverantwortliche und Fachexperten, die schon
länger
keinen Kontakt mehr zur Programmierung hatten, können Ihre
Teilnahme entweder auf den ersten Tag und den Nachmittag des letzten
Tages beschränken, oder den Kurs auch nutzen,
um einen
Eindruck von modernsten Entwicklungsansätzen zu erhalten.
Der erste Tag enthält eine Simulation. Wie jede Simulation
enthält auch dieser Tag einen
"spielerischen" Anteil von insgesamt 90 Minuten.
Wie groß sollte die Gruppe sein?
Das Format eignet sich für sieben bis zwölf Personen.
Gruppen
zwischen zwölf und 20 Personen werden aufgeteilt und ich ziehe
einen zweiten Trainer zur Verstärkung hinzu.
Wie läuft der Kurs ab?
Das Bootcamp setzt sich aus drei Seminaren zusammen, die
detaillierte Agenda können Sie den einzelnen Teilseminaren
entnehmen. Die grobe Aufteilung ist wie folgt:
- 1. Tag: Basis agilen Arbeitens
- Begrüßung, Einführung
- Einführung in agile Verfahren
- Simulation zum Ablauf agiler Projekte
- Anwendung auf die praktische Arbeit
- 2. Tag: Testgetriebenes Design I
- Die Rolle der Qualität in der Softwareentwicklung
- Test-first Programmierung: der TDD-Zyklus
- Schreiben von Unit-Tests
- Was sind gute Unit-Tests
- 3. Tag: Refaktorisieren I
- Evolutionäres Design
- Lesbarkeit verbessern
- Methodendesign verbessern
- 4. Tag: Refaktorisieren II
- Klassendesign verändern
- Refaktorisieren von altem Code
- Refaktorisieren im Projektablauf
- Refaktorisieren von Java-Code mit Eclipse
- 5. Tag: Testgetriebenes Design II und Abschluss
- Testisolation durch Mockobjekten
- Akzeptanztests mit FitNesse
- Anwendung auf die praktische Arbeit
- Offene Fragen
- Abschluss
Der erste Tag ist ein interaktiver Workshop ohne Präsentation,
die folgenden Tage wechseln zwischen Vortrag, Demonstration und
praktischen
Programmieraufgaben, die ca. 50% des zeitlichen Umfangs ausmachen.
Zudem wird Raum für Diskussionen zur Einbindung in die
Projektarbeit
gelassen. Die Übungen werden auf Eclipse in
Java mit
JUnit sowie FitNesse
durchgeführt. Die
Übungen sowie die dafür notwendige freie Software
erhalten die Teilnehmer zu Beginn des Seminars auf CD oder USB Stick.
Ich empfehle, das Bootcamp als "Retreat" außerhalb der
normalen
Büroräume mit gemeinsamer Übernachtung zu
veranstalten
und auch ein Abendprogramm zu organisieren. Gerne berate ich Sie zur
Organisation.
Organisatorisches
Welches
Material wird benötigt?
- Einen
Seminarraum, in dem das Mobiliar (Tische, Stühle) nach
Belieben umarrangiert werden kann (wir starten mit einem Stuhlkreis
ohne Tische, später brauchen wir ca. drei übliche
Besprechungstische). Bei mehr als zwölf Personen
benötigen wir einen zweiten Seminarraum
- 1 Beamer mit
Leinwand
- Jeweils einen Entwicklungsrechner bzw. Laptop
für zwei Teilnehmer. Die
Teilnehmer
benötigen administrative Rechte für die Laptops. Die
jeweils
aktuelle Fassung von Eclipse, JUnit und JDK 1.5 oder höher
wird
bereitgestellt, kann aber auch vorinstalliert werden.
- 2 Flipcharts mit
kariertem Papier und Stiften
- 3
Pinwände
- Moderationsausstattung
(mind. 100 Moderationskarten, Moderationsmarker für alle
Teilnehmer, Nadeln, Klebeband)
- Verpflegung
(Mittagessen und zwei Kaffeepausen)
Zum Teil gibt es Alternativen, wenn Sie einzelne
Positionen nicht zur Verfügung stellen können. Ich
berate Sie gerne.
Welche Unterlagen
erhalten die Teilnehmer?
Die eingesetzten Flipcharts zum Basiskurs werden von den Teilnehmern
gerne anschließend als Gedankenstütze eingesetzt.
Zum
testgtriebenen Design und Refaktorisieren erhalten die
Teilnehmer
den kompetten Foliensatz sowohl als PDF als auch auf Wunsch als
gedrucktes Handout. Zudem erhalten sie eine CD mit allen
Übungen,
Musterlösungen und notwendiger freier Software. Auf Wunsch
erhalten Sie auch ein Fotoprotokoll des Camps als Datei, vorausgesetzt,
die Teilnehmer
erklären sich damit einverstanden.
Wer hält den
Kurs?
Grundsätzlich halte ich Kurse, die Sie bei mir buchen selbst.
Benötigen Sie mehrere Trainer oder lässt sich kein
geeigneter
Termin finden, arbeite ich mit Johannes Link zusammen.
Wie kann ich mehr
erfahren?
Treten Sie mit mir in Kontakt,
ich erstelle Ihnen gerne ein Angebot.