Agile Technical Coaching
Warum
Ziel dieser Schulungen ist es, Entwicklungsteams agile technische Praktiken zu vermitteln, um wartbare, veränderbare und korrekte Lösungen schneller entwickeln zu können.
In den letzten Jahren - nicht zuletzt mit dem Aufkommen von agilen Vorgehensmodellen, wie z.B. Scrum - sind die Erwartungen an die Softwareentwicklung gestiegen. Software muss heute geringere Fehlerquoten haben, schnelles Einarbeiten von neuen Mitarbeitern ermöglichen, einfach änderbar sein, geringere Wartungskosten verursachen, korrekt sein, in kürzeren Zyklen geliefert werden und natürlich keine Regression verursachen. Wir bringen die Arbeitstechniken und Praktiken bei der Erstellung von Software in Einklang mit diesen Rahmenbedingungen. Die Gruppe baut ein gemeinsames Verständnis auf und kann gemeinsam zielgerichtet an Verbesserungen in der Code-Basis arbeiten.
Wie
Die Schulung enthält mehrere aufeinander aufbauende Lektionen. In jeder Lektion gibt es einen Theorieteil zur Einführung des Themas, in einem weiteren Schritt wird anhand eines Beispiels die praktische Anwendung vorgeführt. Im Anschluss haben die Teilnehmer Gelegenheit zu üben. Die Teilnehmer werden angeregt in einen intensiven mündlichen Austausch untereinander zu kommen.
Wenn es möglich ist, sollte zwischen den einzelnen Lektionen eine Pause von ca. einer Woche eingelegt werden, damit Erlernte in der täglichen Arbeit angewendet werden kann und sich festigt. Optional kann der Coach in dieser Zeit mit dem Team an der konkreten Software als Team-Mitglied mitarbeiten und so bei Fragen zur Verfügung stehen.
Wenn es möglich ist, sollte zwischen den einzelnen Lektionen eine Pause von ca. einer Woche eingelegt werden, damit Erlernte in der täglichen Arbeit angewendet werden kann und sich festigt. Optional kann der Coach in dieser Zeit mit dem Team an der konkreten Software als Team-Mitglied mitarbeiten und so bei Fragen zur Verfügung stehen.
Diese Schulungen finden im 'normalen' Umfeld der Teams statt. In den letzten Jahren konnten wir diese Lektionen auch schon oft Remote (z.B. via Zoom, Skype, Hangout) durchführen. Wir hatten das Glück, dass Kunden verteilt in internationalen Teams zusammengearbeitet haben und profitieren nun in Zeiten von Social Distancing von diesen Erfahrungen.
Was
Folgende Themen werden behandelt:
Pair und Mob Programming
Classical Test Driven Development ( TDD )
TDD Habits
Transformation Priority Premise
Object Callisthenics
Test Doubles
Code Smells
Legacy Code / Refactorings
Cohesion / Coupling, SOLID Principles
Connascence
4 Elements of Simple Design
Design Patterns
CRC Cards
Outside in Design
Domain Driven Design
Pair und Mob Programming
Classical Test Driven Development ( TDD )
TDD Habits
Transformation Priority Premise
Object Callisthenics
Test Doubles
Code Smells
Legacy Code / Refactorings
Cohesion / Coupling, SOLID Principles
Connascence
4 Elements of Simple Design
Design Patterns
CRC Cards
Outside in Design
Domain Driven Design