Testing & Scrum – Interview mit Maik Nogens

In den aktuellen Podcast-Folgen konzentriere ich mich auf die Frage: „Wie passt Scrum mit anderen Herangehensweisen und Professionen zusammen?“ Scrum wird in den letzten Jahren immer häufiger mit unterschiedlichsten Methoden ergänzt. Dies hat das Potential unsere Produktentwicklung zu verbessern. Es birgt aber nur allzu oft die Gefahr von Missverständnissen und Dysfunktionen.

 

Um in diesen Gesprächen eine gemeinsame Basis zu haben, schauen wir gemeinsam auf die Folge Folge #59 “Lernen aus Inkrementen in Scrum” als Orientierung zurück und arbeiten aufbauend das Thema Testing in Scrum gemeinsam auf.

 

Testing wird viel zu oft als das “fünfte Rad am Wagen” behandelt, dabei ist es doch gerade so wichtig, damit wir auch in Scrum gute Produkte entwickeln können.

 

Genau dieses Thema arbeite ich in der heutigen Folge mit Maik Nogens auf, der bei der MaibornWolff GmbH als Quality Evangelist & Community Mover arbeitet und auf über 20 Jahre Erfahrung im Testumfeld zurückschauen kann.

 

Ganz lieben Dank Maik für den tollen Einblick und die Einordnung des Themas aus deiner reichhaltigen Erfahrung  😉

 

Hört doch mal rein!

 

Dabei haben wir in unserem Gespräch folgende Themen behandelt:

  • Warum ist Testing wichtig für eine gute Produktentwicklung? 
  • Was unterscheidet Testing im agilen Kontext von früher?
  • Testen nicht nur operativ, sondern auch strategisch betrachtet werden
  • Automatisierung als Enabler für das ganze Team
  • Wie vermeide ich die Überlastung der Tester zum Ende des Sprints?

Der Wert von Testing

Fehler erst am Ende beim Kunden zu finden, ist nicht nur teuer, sondern kann auch die Reputation eines Produktes massiv schädigen. Wie stellen wir uns also auf, um hier das richtige Maß an Qualität verlässlich und effizient zu liefern?

Dabei ist ein wichtiger Faktor für die Effizienz, je früher Fehler entdeckt werden, desto günstiger ist es. Wenn wir die Fehler direkt in der Entwicklung aufdecken, wo wir noch voll im Prozess sind, dann ist das natürlich am Günstigsten. Finden wir Fehler erst Wochen später, dann müssen wir uns erstmal wieder in den Kontext reindenken und diesen von allen den anderen Änderungen am System abgrenzen.

Wir haben schon alleine aus einer Business Sicht ein großes Interesse, Fehler früh aufzudecken und nachhaltig Qualität zu liefern.

 

Genauso gilt es aber auch zum Entwickler hin den Wert von Testing klar herauszustellen. Spätes Testing ist für alle Beteiligten frustrierend. Hier wird auch das späte Aufzeigen von Fehlern eher als störend wahrgenommen. Andererseits, wenn wir es schaffen uns vom Testing her gut aufzustellen wird frühes Feedback zu einem gerne genutzten wichtigen Baustein in der Gestaltung guter und nachhaltiger Systeme.

 

 

Testing im agilen Kontext

Gutes agiles Testing ist mehr als nur die automatisierte Durchführung der Tests.

Es geht darum sich früh mit anderen Disziplinen aufzustellen, um Produkte vernünftig auf den Markt zu bringen.

Dabei sind Tester heute mehr denn je gefragt sich früh mit unterschiedlichsten Disziplinen anzufreunden, die die richtigen Fragen aufwerfen und dabei helfen Testing als wichtigen Weg zur Feedback Gewinnung zu etablieren.

Es geht nicht mehr nur darum Testprotokolle abzuhandeln, sondern eben auch schon darum im Design der Lösungen die Testbarkeit einzubringen. Auch durch die Ausrichtung der Entwicklung auf frühe Tests kann zusätzlich wertvolles Feedback erzeugt werden.

Dabei sind Tester idealerweise nicht nur in der Lage enger mit der Business Seite zusammenzuarbeiten, sondern eben auch ihre technischen Fähigkeiten so aufzustellen, dass sie in direkter Zusammenarbeit mit Entwicklern die Lösung gestalten können. Agiles Testing ist dabei ein kollaborativer Teamsport.

 

 

Strategische Fragen zur Testbarkeit

Testing sollte nicht nur im operativen Blick sein, sondern idealerweise auch auf einer strategischen Ebene.

Wir sollten uns bei größeren Vorhaben schon früh Fragen, worauf es auch beim Testing und der Testbarkeit dieser Lösungen ankommt.

Testing ist ja idealerweise nicht nur ein IT-Thema, sondern wir wollen weitere Personengruppen früh mit einbeziehen. Uns von vornherein gut Aufstellen und dies in unserem Vorgehen berücksichtigen und somit die richtigen Fragen früh genug stellen und erkennen.

 

 

Automatisierung als Enabler für das ganze Team

Die Virtualisierung, Cloud und die Automatisierung im Aufsetzen von Umgebung & Deployment ist ein wichtiger Enabler agiler Entwicklung.

Sie ermöglichen es uns schnell baugleiche Umgebungen getrennt voneinander aufzusetzen und Entwicklungsstände leichter zu testen & auszuliefern.

Dabei bleibt die Testing Pyramide eine gute Orientierung für die Aufstellung des Testings.

Unit-Tests sind der günstigste Weg, um schnell Fehler zu finden und den Ort des Fehlers einzugrenzen, während End-to-End Tests vom Aufwand her eher ein übergreifendes gröberes Bild liefern.

Idealerweise schaffen wir es direkt durch Unit-Tests als Entwickler-Tests früh in der Breite eine hohe Testabdeckung aufzubauen und durch den Aufbau von übergreifenden aufwendigen Tests das Zusammenspiel aller Einzelthemen zueinander sicherzustellen.

Je mehr hier aus der Entwicklung direkt automatisiert getestet werden kann und je mehr eine automatisierte Testinfrastruktur aufgebaut werden kann, desto besser fungiert diese Umgebung als Orientierung und Sicherheitsnetz. 

 

Dies ermöglicht es uns eben nicht nur besser, umfassender und schneller zu testen, sondern:

  • bildet die Grundlage, dass wir schneller einsatzfähige Lösungen liefern können
  • das neue Kollegen sich produktiv einbringen können
  • wir uns zutrauen, unser System an sich ändernde Rahmenbedingungen anzupassen

In einer solchen Umgebung macht es einfach mehr Spaß Lösungen zu entwickeln.

 

 

Wie schaffen wir es das Thema Testing und Qualität in der kontinuierlichen Arbeit präsent zu halten?

Wir sollten uns sicherlich auch schon früh auf einer strategischen Ebene Gedanken machen, welches Produkt wollen wir schaffen und welche Business Capabilities (auch um Testing) sind dafür notwendig.

Allerdings müssen wir es auch schaffen diese in unserer Arbeit kontinuierlich präsent zu haben und auszugestalten. Hierfür ist das Sprint Review ein guter Ort, um regelmäßig das Inkrements zu bewerten. 

 

 

Wie vermeide ich die Überlastung der Tester zum Ende des Sprints?

Auch wenn sich viele Entwicklungsteams als Team bezeichnen, arbeitet man doch oft alleine. Das führt in vielen Teams zu einer Dysfunktion, dass dann die Tester in der Luft hängen lässt und dann am Ende überlastet.

Es gibt viele Möglichkeiten, wie sich ein Tester schon früher einbringen kann.

Beispielsweise kann durch die Vorbereitung von Testumgebung & Testdaten, parallel zur Entwicklung schneller ins Testing gegangen werden und so früh Fehler aufgedeckt und angegangen werden.

Es gibt aber auch die Möglichkeit, dass ein Tester, der technisch versierter ist direkt mit Entwicklern im Pairing arbeiten kann und so für Qualitätsthemen und Testing sensibilisieren kann. So können schon direkt in der Entwicklung Themen aufgedeckt werden und direkt von den Entwicklern mit getragen werden. Tester sind hier eine wirkliche Bereicherung, weil sie aus einer anderen Perspektive auf die Themenstellung schauen.

Gute Tester verstehen sich in solchen Situationen auch als Coach und helfen den anderen Mitgliedern im Entwicklungsteam dabei, Awareness für das Thema Testung zu erlangen und eben auch im Aufbau einer breiteren Verantwortung im Team zu schaffen.

Teams, die so arbeiten, schaffen es durch schnelleres Feedback und ein besseres Gemeinschaftsgefühl sich oft deutlich besser für Herausforderungen auszustellen.

 

 

Abschluss-Appell

Bindet also eure Tester mit ein und übernehmt gemeinsam Verantwortung für Testing & Qualität.

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

Hast du Fragen oder Anmerkungen? Ich freue mich immer über Feedback.
Übrigens: Alle Folgen kannst du dir auch über meinen Podcast “Scrum meistern” anhören. Besuche auch meinen YouTube Channel “Scrum meistern”. Dort findest du alle Interview-Videos.