ExtremeProgramming-Workshop in Köln

Der Workshop fand im März 2003 (KW 11 + 12) in den Räumen der Unilog-Integrata Training AG (Geschäftsstelle Köln) statt.

Themen waren:

Teilnehmer:

  • 15 Angehörige einer Entwicklungsabteilung eines großen „institutionellen“ Kunden der Unilog-Integrata
    • ca. 6 Teilnehmer waren als „Senior-Developer“ einzustufen (davon 2 aus der Datenbank-Gruppe)
    • ca. 7 Teilnehmer waren „Junior-Developer“ mit geringer Projekterfahrung
    • 1 Teilnehmer war weitgehend mit Projektmanagement befasst (wenig Programmiererfahrung)
    • 1 Teilnehmer kam aus der Qualitätssicherung (dito wenig Programmiererfahrung)
  • 1 Trainer (Christian Mann)
Ablauf

Ein wesentlicher Bestandteil des Workshops war die praktische Erfahrung mit C++. Hierfür wurde wir ein kleines Beispielprojekt (an-)entwickeln, welches einen Supermarkt simuliert. Die Teilnehmer hatten hierfür im Vorfeld bereits einige Supermarkt-User-Stories gesammelt. Es wurde mit folgenden Werkzeugen gearbeitet:

  • MS-Visual-C++ (v6.0)
  • MS-~SourceSafe für das Konfigurationsmanagement
  • Oracle 9i (die Nutzung war zumindest geplant, wurde jedoch letztlich nicht realisiert)
  • Karteikarten ohne Ende…

Jeder Tag wurde von der Vorstellung eines Musters eingeleitet (ich bin mir nicht sicher, ob es mir immer gelungen ist, auch wirklich ein zur Situation passendes Muster zufinden – „Well, I'll do my very best!“)

Die erste Woche war im wesentlichen der Einführung von eXtreme Programming gewidmet:

1.Tag:

2.Tag:

3.Tag:

4.+ 5.Tag:

  • Weiterentwicklung des Beispiel-Projektes

erfolg.jpg

(Erfolg: Eine TaskCard wird abgelegt…)

Die zweite Woche beschäftigte sich schwerpunktmäßig mit CORBA, wobei das Ziel war, den Supermarkt der ersten Woche nun auf verschiedene Prozesse zu verteilen:

1.Tag:

  • „Aufräum-Arbeiten“ der Vorwoche
  • CORBA-Grundlagen

2.Tag:

  • Einführung in die CORBA-IDL
  • Erstellung von ersten IDLs für die Supermarkt-Komponenten

3.Tag:

  • Erste Umsetzung von Supermarkt-Komponenten auf CORBA

4.Tag:

  • Einführung von Naming- & Event-Service

5.Tag:

  • Design-Überlegungen zur weiteren Fortführung des Beispielprojektes
Erfahrungen & Lehren ([[Christian Mann]])

Was (aus meiner Sicht) gut gelaufen ist:

  • Die Extreme Hour hat die doch etwas „theorielastigen“ Einführung praktisch abgerundet!
  • Pair Programming wurde als zwar anstrengend aber durchaus effektiv & konzentrationssteigernd empfunden
  • Es wurde doch recht konsequent getestet (zumindest in der ersten Woche; für die CORBA lag kein ähnlich angemessenes Testbett vor!)
  • Praktisches “Time Boxing“ mit meinem “Extreme Timer (XT)“ ;-)

pairprogramming2.jpg

(Erste Erfahrungen mit PairProgramming…)

Was hätte besser laufen können:

  • Es gab einige Anlaufprobleme mit dem Konfigurationsmanagement-Tool; wir hätten uns über die Repository-Struktur zu Beginn besser verständigen sollen!
  • CORBA hat sich als einigermaßen „störrischer“ Partner für eXtreme Programming herausgestellt:
    • Test First Programming ist mangels eines entsprechenden Testbetts und auch wegen der Komplexität von CORBA-Code kaum umsetzbar – zumal in einer Schulungs-Situation!
    • Die CORBA-Entwicklung mit C++ stellt sehr hohe Anforderungen an die Teilnehmer – die aber zu über 50% nur über geringe praktische C++-Erfahrung verfügten und demgemäß mit der Umsetzung der eigenen Komponenten auf CORBA teilweise überfordert waren! Aus diesem Grund wurden dann auch Naming- und Event-Service auf der Basis separater (zugegeben: vorbereiteter) Beispielprogramme eingeführt…

Einige Beobachtungen:

  • Das Feedback der meisten Teilnehmer ging dahin, dass XP zumindest Spass macht!
  • Wir haben bei der Releaseplanung anfänglich mit einem „Loadfactor“ von 4 gearbeitet; das kam für die einzelnen Task Card auch ganz gut hin – nur stellte sich sehr schnell heraus, dass deutlich zuwenig Task Cards geschrieben wurden! (Unter Berücksichtigung dieser Tatsache kamen wir dann auf einen tatsächlichen Loadfactor von ca. 6…)
  • UML war nach meiner Einschätzung ohnehin eher ein „Fremdkörper“ im ganzen Themenkomplex; ich habe sie bei allen Beispielen genutzt (die morgentliche Muster-Einführung war dabei auch quasi eine „Leseübung“) und einige Diagrammtypen auch explizit eingeführt. Die Teilnehmer haben allerdings eher auf CRC-Karten zurückgegriffen…

designmeeting.jpg

(Und gleich ein Gegenbeispiel: ein spontanes Design-Meeting über einem UML-Diagramm…)

Christian Mann 2010/10/24 14:55

 
xp-workshop_koeln.txt · Zuletzt geändert: 2010/10/24 15:44 von Christian Mann
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht:GNU Free Documentation License 1.2
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki