Training: Professional Scrum Developer

21. Januar 2011

ProfessionalScrumDeveloper_500px[1] Ende November fand bei Microsoft in Unterschleissheim (bei München) der erste einwöchige Workshop Professional Scrum Developer (.NET) in Deutschland statt, der mit der gleichnamigen Zertifizierung abschloss. Trainer war Neno Loje, der vorweggenommen seinen Job wirklich großartig gemacht hat. Im Namen der SDX habe ich selbst an diesem Workshop teilgenommen und die Woche genutzt, um mehr über sehr viele interessante Themen zu erfahren und dann auch die Zertifizierung erfolgreich abzulegen (s. Vorbericht).

Inhalt

PSD_Contents Die Profesisonal Scrum Developer-Schulung ist (wie der Name schon sagt) darauf ausgelegt, Entwickler mit Scrum und Mitteln der modernen Softwareentwicklung (Design, Tools) vertraut zu machen. Die Schulung ist dafür in 3 Teilbereiche aufgeteilt, die gemischt bearbeitet werden.

  1. Scrum: Der erste Teilbereich ist Scrum selbst. In den “Scrumdamentals” lernen die Teilnehmer den Scrum-Prozess kennen und werden in die Begrifflichkeiten von Scrum (Rollen, Artefakte, Timeboxes) eingeführt. Ein Entwickler lernt, welche Regeln den Scrum-Prozess begleiten und wie sich Scrum als iteratives Vorgehen im Vergleich zu anderen Prozessmodellen verhält. Dabei wird vor allem auch ein differenziertes Licht auf Scrum geworfen, um Hindernisse und Nachteile von Scrum zu verstehen und dann in die Praxis übertragen zu können. Gegen Ende der Schulung gab es ein separates Modul “Dysfunctions”, das sich explizit diesem Thema gewidmet hat und auch Situationen aufzeigte, in denen eine angemessene Reaktion erforderlich war. Hier war es sehr interessant zu sehen, wie Scrum nicht nur einzelne Projekte beeinflusst, sondern auch Auswirkungen auf Unternehmen selbst und ihre teils starre Denkweise hat und dass eine solche Denkweise bei Scrum schnell zu einem Hindernis werden kann.
  2. Practices: Neben Scrum kamen auch Design und Architektur von Software zur Sprache, z.B. TDD, CI, agile DB-Entwicklung, Architektur-Entwicklung und Testen allgemein. Auch wenn es hier für mich nicht viel Neues gab, so wurde doch sehr gut bereits vorhandenes Wissen aufgefrischt, was vor allem in Verbindung mit den Tools wertvoll war, welche die Softwareentwicklung im Umfeld von Visual Studio 2010 unterstützen können.
  3. Tools: Bei den Tools wurden Werkzeuge im Umfeld von Visual Studio 2010 und dem Team Foundation Server (TFS) vorgestellt, welche den Entwickler bei der agilen Softwareentwicklung unterstützen. Dazu gehörten der Architecture Explorer und das Database Project von Visual Studio ebenso wie IntelliTrace, der Microsoft Test Manager und im Zusammenhang mit TFS z.B. Gated Check-Ins und Scrum-Templates.

Durchführung

Die Inhalte wurden im Wechsel von Theorie und Praxis in mehreren “Modulen” zu jeweils einem bestimmten Thema vermittelt. Für den praktischen Teil haben wir (als 5 Teilnehmer der Schulung) Scrum in 4 Mini-Sprints direkt anwenden und unsere Erfahrungen damit machen können. Dabei haben wir den gesamten Scrumprozess mehrfach durchlaufen und aus verschiedenen Rollen (Product Owner, Scrum Master, Entwickler-Team) betrachtet. Diese Sprints waren sehr gut, um ein Gefühl für Scrum zu erhalten und auch Stolpersteine zu erkennen, die beim Einsatz von Scrum auftreten können. Persönlich konnte ich gerade aus diesem praktischen Teil viele Erfahrungen und Anregungen mitnehmen.

Scrumprozess

Ein Sprint war so angelegt, dass sich Neno die Product Owner-Mütze aufgesetzt hat (real, nicht nur metaphorisch) und uns als Entwickler-Team Anforderungen (User Stories) gestellt hat. Initial wurden im ersten Teil des Sprint Plannings diese User Stories zusammen mit dem Product Owner besprochen und die umsetzbaren Stories für den Sprint ausgewählt. Im zweiten Teil des Sprint Plannings haben wir als Entwicklerteam die Task-Planung für die umzusetzenden User Stories durchgeführt. Anschließend wurden die resultierenden Tasks im Sprint umgesetzt, der bei der Schulung je 2 Stunden dauerte und in der Realität einen Zeitrahmen zwischen 2-4 Wochen einnimmt. Innerhalb des Sprints wurden Statusmeetings, die Daily Scrums, durchgeführt und die User Stories in ein Produkt-Inkrement (“potentially shippable increment”) umgesetzt. Das Resultat wurde am Sprintende im Sprint Review dem Product Owner vorgestellt, in der Sprint Retrospective wurde schließlich im Team noch besprochen, was während des Sprints gut lief und was besser hätte laufen können.

Mein Fazit

Für mich wurden meine Erwartungen an die Schulung übertroffen. Die Tiefe und Breite der Themen war genau richtig, Neno hat man es zudem angemerkt, dass er auf Erfahrungen aus der Praxis zugreifen kann, die er auch verständlich zu vermitteln weiß. Ich kann die Schulung mit ihren Inhalten zu Scrum, Practices und Tools daher uneingeschränkt weiterempfehlen.

Ich persönlich konnte viel Wissen und auch einige Erfahrungen zu Scrum sammeln und habe ein gutes Gefühl dafür bekommen, wie sich die einzelnen Bestandteile von Scrum zu einem großen Ganzen integrieren. Ich konnte selbst erleben, wie mit der iterativen Vorgehensweise von Scrum im Vergleich zu klassischen Prozessmodellen schneller Resultate erreicht werden können und schnell auf veränderte bzw. anfangs noch nicht absehbare Anforderungen reagiert werden kann. Ich hoffe, über die bisherigen Projekte hinaus meine positiven Erfahrungen mit Scrum für SDX im Rahmen kommender Projekte einsetzen zu können.