Blog über Software, Mensch und Persönlicher Entwicklung

Ensemble-Testing und Ensembe-Programming - Richard Seidl

Geschrieben von Richard Seidl | 24.07.2023

Ensemble-Programming und -Testing hat sich aus der Pair-Methode entwickelt. Thomas coacht Teams, die sich auf diesen besonderen und effektiven Weg der Zusammenarbeit machen. Die Ensemble-Methode führt Entwickler und Tester zusammen, es entwickelt sich ein Grundverständnis für die Arbeit des anderen Teams, und das führt wiederum dazu, dass Software noch effektiver produziert und getestet wird. Thomas erklärt uns, wie das Grundgerüst dieser Methode ausschaut und welche Freiheiten es bietet. Außerdem nennt er Argumente für den Chef, der vielleicht nicht gewillt ist, den Teams die entsprechende Zeit einzuräumen.

“Diese vermeintlich ‘dummen’ Fragen, die man sich in 1 zu 1 Situationen nicht traut, sind in so einem sicheren Raum des Ensembles mal viel schneller gestellt!” – Thomas Much

Thomas wollte ursprünglich Weltraumgärtner werden. Sowohl das Gärtnern als auch der Weltraum sind Hobbys geblieben, weil ihm vor knapp 40 Jahren der Computer dazwischenkam und ihn in seinen Bann zog. Im Laufe der Jahre hat er zahlreiche Rollen eingenommen, u.a. Entwickler, codender Architekt und Programmiertrainer. Als Diplom-Informatiker ist Thomas mittlerweile Technical Agile Coach für Die Techniker (TK) in Hamburg. Zusammen mit seinen Coaching-Kolleg:innen unterstützt er Teams dabei, in der Zusammenarbeit und den agilen Programmierpraktiken immer besser zu werden – unter anderem durch die Förderung von Pair- und Team-Programming, TDD und Testautomatisierung.

Highlights in dieser Episode:

  • Ensemble Coding/Testing ist wie Peer Programming, aber intensiver und fördert die Teamarbeit
  • Es ist wichtig, dass Entwickler und Tester voneinander lernen, um als Team besser zu funktionieren
  • Durch Ensemble Sessions können Tester und Entwickler besser verstehen, was die jeweils andere Seite tut
  • Es gibt bestimmte Strukturen für Ensemble Testing, wie z.B. das Trennen von Ausführen und Denken
  • Ensemble Sessions sind idealerweise 4-6 Personen groß und dauern 2-3 Stunden
  • Es ist wichtig, dass das Management die Vorteile von Ensemble Sessions erkennt und unterstützt
  • Architektur sollte als Teamsport betrachtet werden und in das Ensemble Testing/Programming integriert sein
  • Vorbereitung und die richtige Einstellung sind entscheidend für den Erfolg einer Ensemble Session

Ensemble Testing & Programming: Teamdynamik neu gedacht

Ensemble Testing und Ensemble Programming sind innovative Methoden, die Entwickler und Tester zusammenbringt, um gemeinsam an Problemlösungen zu arbeiten und voneinander zu lernen. Diese Methode fördert den Wissensaustausch, verbessert die Teamdynamik und steigert die Effizienz in agilen Projekten.

Was ist Ensemble Testing und Programming?

Ensemble Testing und Programming bezeichnen eine innovative Methode der Zusammenarbeit innerhalb von Entwicklungsteams. Sie baut auf dem Grundgedanken des Peer Programmings auf, geht aber weit darüber hinaus. Durch das gemeinsame Arbeiten an Code oder Tests fördert diese Methode nicht nur den Wissensaustausch zwischen Entwicklern und Testern, sondern schafft auch einen Raum für gemeinsames Lernen. Wie Thomas so treffend erklärte: ‘Es ist wie Peer Programming auf Steroiden’. Diese Technik ermöglicht es Teams, komplexe Probleme effektiver zu lösen und fördert gleichzeitig die Kommunikation zwischen allen Beteiligten.

Die Vorteile dieser Methode

Die Anwendung von Ensemble Techniken bietet mehrere Vorteile. Zum einen wird das Testwissen innerhalb der Entwicklungsteams gestärkt, was insbesondere in Umgebungen mit kontinuierlicher Auslieferung unerlässlich ist. Zum anderen erlangen Tester ein besseres Verständnis für die Herausforderungen der Entwicklung. Dieser gegenseitige Wissensaustausch trägt dazu bei, dass Teams nicht nur effizienter arbeiten können, sondern auch eine stärkere Bindung untereinander entwickeln. Das Ergebnis ist eine verbesserte Testbarkeit der entwickelten Software sowie eine erhöhte Zufriedenheit im Team.

Wie implementiert man diese Techniken?

Die Einführung von Ensemble Testing und Programming erfordert mehr als nur den Willen zur Zusammenarbeit; es bedarf einer strukturierten Herangehensweise. Ein Schlüssel zum Erfolg liegt darin, bestehende Barrieren zwischen Entwicklern und Testern abzubauen und ein Umfeld zu schaffen, in dem offene Kommunikation gefördert wird. Ein weiterer wichtiger Faktor ist die Bereitschaft aller Beteiligten, sich auf neue Arbeitsweisen einzulassen. Thomas teilte seine Erfahrungen darüber, wie Teams durch regelmäßige kollaborative Sessions – oder ‘Ensembles’ – einen natürlichen Austausch erleben können, der sowohl Spaß macht als auch produktiv ist.

Praktische Tipps für die Umsetzung

Für Teams, die diese Methodik ausprobieren möchten, gibt es einige praktische Tipps zur erfolgreichen Implementierung. Dazu gehört die sorgfältige Vorbereitung der Sessions sowie die klare Rollentrennung während der Arbeit. Ein interessanter Aspekt ist auch das Konzept des ‘Typisten’, einer Person im Team, die nach den Anweisungen des gesamten Ensembles handelt. Dies fördert das laute Denken und den Diskurs innerhalb des Teams. Außerdem empfiehlt es sich, mit einer kleinen Gruppe von vier bis sechs Personen zu beginnen und genügend Zeit für jede Session einzuplanen.

Mehr als nur eine Methode

Zusammenfassend lässt sich sagen, dass Ensemble Testing und Programming mehr sind als nur Methoden zur Effizienzsteigerung; sie sind ein Wegbereiter für tiefgreifende Veränderungen in der Arbeitskultur eines Teams. Durch das Zusammenbringen verschiedener Perspektiven entsteht ein fruchtbarer Boden für Innovation und Kreativität.