9 Min. Lesezeit

Built In Quality

Built In Quality

Gelebte Agilität geht über das Befolgen von Frameworks hinaus. Der Erfolg liegt in der Skalierung von Fähigkeiten und nicht nur in der Anwendung von Strukturen. Die Verbindungsfähigkeit zwischen strategischen Zielen und Teamtätigkeiten ist von zentraler Bedeutung, doch die Qualität leidet oft unter den Fallstricken des Managements. Die Aufteilung von Tests und Verbesserungen in überschaubare Schritte kann Agile wirklich effektiv machen. Der Schwerpunkt liegt darauf, sicherzustellen, dass die Praktiken sinnvolle Auswirkungen haben und die Arbeits- und Denkweise der Teams in ihren täglichen Prozessen verändern. Dieser Weg zu effektiver Agilität befähigt Teams, mehr zu erreichen.

Podcast Episode: Built In Quality

In dieser Folge unterhalte ich mich mit Derk-Jan de Grood. Wir erkunden, was es bedeutet, Agilität zu leben und nicht nur Frameworks zu folgen. Derk-Jan gibt Einblicke in die Skalierung von Fähigkeiten über Frameworks hinaus und die Verbindung von Strategie und Teamaktionen. Wir diskutieren über häufige Fallstricke, bei denen die Qualität oft auf der Strecke bleibt, insbesondere auf der Managementebene. Der Schwerpunkt liegt darauf, das Testen und Verbessern in kleine, umsetzbare Praktiken zu unterteilen. Es geht darum, Agile effektiv und sinnvoll zu gestalten.

"If you don't know when you're going to accept, how can I know what I need to test?" - Derk-Jan de Grood

Derk-Jan de Grood arbeitet als Principal Consultant und Inspirator bei InnSpire.Er hilft Organisationen, den nächsten Schritt in ihrer agilen Transformation zu machen und den Fluss der Wertschöpfung zu verbessern. Als Berater für agile Transformation, RTE-Coach und Experte für Wertschöpfung ist Derk-Jan von der Optimierung des Entwicklungsprozesses begeistert. Er arbeitet aktiv mit Führungskräften, RTEs, Scrum Masters und Product Ownern zusammen, um gemeinsam effektive Lösungen zu entwickeln. Er scheut sich nicht, mit gutem Beispiel voranzugehen, aber sein Hauptziel ist es, die Menschen innerhalb der Organisation zu stärken, ihnen zu helfen, sich weiterzuentwickeln, und sie zu ermutigen, sich die agilen Werte zu eigen zu machen.Mit seiner enthusiastischen und engagierten Art inspiriert Derk-Jan die Menschen, mit denen er arbeitet. Er ist ein gefragter Redner auf internationalen Konferenzen, ein häufiger Kolumnist und schreibt regelmäßig Beiträge für verschiedene Branchenmagazine. Er teilt seine Einsichten und Erfahrungen in seinem Blog und in seiner monatlichen Podcast-Serie. Derk-Jan ist auch der Autor mehrerer Bestseller-Bücher.

apple spotify youtube

Highlights der Episode

  • Skalierungsfähigkeiten sind wichtiger als Frameworks.
  • Verbinde die Strategie direkt mit den Aktionen des Teams.
  • Das Management verpasst oft die Qualität.
  • Testen in kleine, umsetzbare Praktiken aufteilen.
  • "Surfing the Waves of Agile" bietet praktische Einblicke.

Wie man Built In Quality lebt

Einführung

Eingebaute Qualität ist ein grundlegendes Konzept in der modernen Softwareentwicklung, das betont, dass Qualität in jede Phase des Prozesses eingebettet sein muss und nicht erst am Ende inspiziert werden darf. Wie ein Software-Qualitätscoach und ein Value-Delivery-Experte oft betonen, verhindert die Aufrechterhaltung hoher Standards kontinuierlich kostspielige Fehlerzustände und beschleunigt die Lieferung.

Zu den wichtigsten Aspekten der eingebaute Qualität gehören:

  • Die nahtlose Integration von Qualitätspraktiken in Planung, Kodierung, Testen und Bereitstellung.
  • Befähigung agiler Teams, gemeinsam die Verantwortung für herausragende Produkte zu übernehmen.
  • Nutzung von Automatisierung und technischer Exzellenz zur Unterstützung konsistenter Ergebnisse.

In diesem Artikel erfahren Sie, wie agile Methoden eingebaute Qualität fördern, wie sich die Rollen innerhalb agiler Teams entwickeln, welche Herausforderungen das Qualitätsmanagement mit sich bringt und welche praktischen Ansätze es gibt, um Qualität effektiv einzubinden. Sie werden auch Einblicke in die Skalierung agiler Methoden finden, wobei der Schwerpunkt auf der Aufrechterhaltung der eingebaute Qualität in größeren Organisationen liegt. Das Ziel: Ihnen zu zeigen, wie Sie Qualität zu einem integralen Bestandteil Ihres Softwareentwicklungslebenszyklus machen können.

Die Rolle von Agile bei der Sicherstellung von eingebaute Qualität

Agile Methoden fördern die eingebaute Qualität, indem sie die Zusammenarbeit und die kontinuierliche Verbesserung in den Entwicklungsprozess einbinden. Agile Teams arbeiten mit geteilter Verantwortung für die Qualität, wobei Entwickler, Tester und Qualitätsspezialisten eng zusammenarbeiten, um Probleme frühzeitig zu erkennen und Fehlerzustände zu vermeiden, die in die Produktion gelangen. Diese kollaborative Umgebung fördert Transparenz und schnelle Feedbackschleifen, die für die Aufrechterhaltung hoher Standards unerlässlich sind.

Die Unterscheidung zwischen gelebter Agilität und dem bloßen Befolgen von Frameworks wie Scrum ist entscheidend. Viele Unternehmen betrachten Agilität als eine Checkliste oder ein starres Regelwerk und nicht als eine Denkweise, die sich auf Anpassbarkeit und Wertschöpfung konzentriert. Agilität zu leben bedeutet, agile Prinzipien in die tägliche Arbeit einzubeziehen - Reaktionsfähigkeit, Lernen und Befähigung haben Vorrang vor der strikten Befolgung von Prozessen. Dieser Ansatz verwandelt agile Teams in dynamische Einheiten, die ihre Praktiken kontinuierlich weiterentwickeln, um die Qualität zu verbessern.

Eine agile Transformation beginnt mit dem Warum, d. h. mit dem Verstehen des Zwecks, der hinter der Einführung von Agilität steht, und das ist von grundlegender Bedeutung. Die Verlagerung des Schwerpunkts von der bloßen Implementierung von Frameworks auf die Entwicklung zu Experten für die Wertschöpfung verändert die Art und Weise, wie Teams den Erfolg messen. Bei der agilen Entwicklung geht es nicht nur darum, Sprints oder Zeremonien zu absolvieren, sondern sinnvolle Ergebnisse zu liefern, die auf die Bedürfnisse der Kunden und die Unternehmensziele abgestimmt sind.

Das Scrum-Framework dient als nützlicher Leitfaden, sollte aber nicht zum Selbstzweck werden. Scrum wie einen Jenga-Turm zu behandeln - bei dem ein falsch platzierter Block die Struktur destabilisieren kann -, verdeutlicht das Risiko einer starren Konformität ohne Verständnis. Teams müssen sich intensiv mit den agilen Prinzipien auseinandersetzen, um Qualität in ihre Arbeitsabläufe einzubetten, anstatt sich nur auf vorgeschriebene Rituale zu verlassen.

Die wichtigsten Punkte zur Rolle von Agile bei der eingebaute Qualität:

  • Rollenübergreifende Zusammenarbeit stärkt die Früherkennung von Fehlerzuständen.
  • Kontinuierliche Verbesserung treibt die ständige Verbesserung der Produktqualität voran.
  • Gelebte Agilität konzentriert sich auf Prinzipien, nicht nur auf Frameworks.
  • Die agile Transformation muss mit dem Verständnis des Warums beginnen.
  • Die Bereitstellung von Werten wird zur primären Messung des Erfolgs, die über die Konformität der Prozesse hinausgeht.

Dank dieser veränderten Denkweise können agile Teams die Qualität in jeden Schritt einbauen, anstatt sie erst in späteren Phasen zu inspizieren.

Technische Exzellenz als Grundlage für Qualität

Technische Exzellenz ist die Grundlage für die Aufrechterhaltung eingebauter Qualität in der Softwareentwicklung. Praktiken wie kontinuierliche Integration und kontinuierliche Bereitstellung (CI/CD) sind unerlässlich, um sicherzustellen, dass Qualität nicht nur ein nachträglicher Gedanke ist, sondern in den gesamten Lebenszyklus eingebettet ist. Die CI/CD-Pipeline fungiert als Rückgrat, das es den Teams ermöglicht, den Code häufig zu integrieren und automatisch bereitzustellen, wodurch Fehlerzustände frühzeitig erkannt und zuverlässige Software konsistent bereitgestellt werden kann.

Die Rolle des automatisierten Testens in CI/CD

Automatisierte Tests spielen bei diesen CI/CD-Pipeline-Integrationen eine entscheidende Rolle. Durch die Einbettung automatisierter Tests in den Bereitstellungsprozess gewinnen die Teams die Gewissheit, dass jede Änderung den vordefinierten Qualitätsstandards entspricht, ohne dass es zu manuellen Engpässen kommt. Dadurch werden Fehlhandlungen in der Produktion reduziert und Feedback-Schleifen beschleunigt, wodurch es einfacher wird, auch bei zunehmender Komplexität hohe Standards einzuhalten.

Kontinuierliche Verbesserung durch kleine Maßnahmen

Innovation und Kompetenzentwicklung entstehen durch kleine, umsetzbare Praktiken, die von Teams und Organisationen regelmäßig durchgeführt werden. Diese reichen von schrittweisen Verbesserungen der Programmierstandards bis hin zur Einführung neuer Testverfahren. Solche Praktiken schaffen ein Umfeld, in dem kontinuierliches Lernen Teil der täglichen Arbeit ist und nicht nur gelegentliche Fortbildungsveranstaltungen. Das Ergebnis ist eine Kultur, in der sich technische Fähigkeiten zusammen mit einer agilen Denkweise weiterentwickeln und die Qualität in jeder Phase stärken.

Rollen und Verantwortlichkeiten in agilen Teams, die zur Qualität beitragen

Hauptverantwortung der Entwickler bei der Sicherstellung der Produktqualität in agilen Teams:

Die Entwickler spielen eine entscheidende Rolle bei der Aufrechterhaltung der Qualität des Produkts in agilen Teams. Ihre Hauptverantwortung besteht darin, Best Practices für die Codierung zu implementieren, Code-Reviews durchzuführen und sicherzustellen, dass die Software den definierten Qualitätsstandards entspricht.

Die sich entwickelnde Rolle der Tester und Qualitätsspezialisten, die sich von repetitiven Aufgaben zu strategischen Mitwirkenden entwickeln:

Tester und Qualitätsspezialisten beschränken sich nicht mehr auf die Ausführung sich wiederholender Tests, sondern leisten einen strategischen Beitrag in agilen Teams. Sie beteiligen sich aktiv an der Testautomatisierung, an explorativen Tests und an der Zusammenarbeit mit den Entwicklern, um potenzielle Probleme frühzeitig im Entwicklungsprozess zu erkennen.

Struktur agiler Teams mit spezialisierten Fähigkeiten, die in Gilden oder Kapiteln organisiert sind, um Wissen auszutauschen:

Agile Teams sind so strukturiert, dass sie Mitglieder mit speziellen Fähigkeiten umfassen, die in Gilden oder Kapiteln organisiert sind, um einen effektiven Wissensaustausch zu ermöglichen. Diese Struktur fördert die funktionsübergreifende Zusammenarbeit, das kontinuierliche Lernen und die gemeinsame Verantwortung für die Aufrechterhaltung der eingebaute Qualität innerhalb des Teams.

Herausforderungen im agilen Qualitätsmanagement überwinden

Agile Methoden haben die Softwareentwicklungslandschaft verändert, wobei Flexibilität und Zusammenarbeit mit dem Kunden im Vordergrund stehen. Doch auch innerhalb dieses dynamischen Rahmens können bestimmte Herausforderungen das Streben nach Qualität behindern.

Unklare Akzeptanzkriterien und zweideutige Testumfänge für Gebrauchstauglichkeitstests

Eine der häufigsten Herausforderungen, mit denen agile Teams konfrontiert sind, sind unklare Akzeptanzkriterien und unklare Testumfänge für Gebrauchstauglichkeitstests. Wenn diese Aspekte nicht klar definiert sind, ist es schwierig zu beurteilen, ob eine Funktion die gewünschten Qualitätsstandards erfüllt oder ob sie mit den Erwartungen der Benutzer übereinstimmt.

Nehmen wir zum Beispiel ein Szenario, in dem ein Team eine E-Commerce-Anwendung entwickelt. Wenn die Akzeptanzkriterien für eine Checkout-Funktion einfach besagen, dass der Checkout-Prozess nahtlos sein sollte, lässt dies Raum für Interpretationen. Bedeutet dies, dass es keine Ladezeiten geben sollte? Oder bedeutet es, dass die Benutzer ihre Einkäufe mit drei Klicks abschließen können sollten?

Solche Unklarheiten können zu Missverständnissen zwischen den Teammitgliedern führen, was wiederum zu Nacharbeit und Verzögerungen führt. Um diese Herausforderung zu meistern, ist es entscheidend, von Anfang an klare und spezifische Akzeptanzkriterien festzulegen. Dies kann durch gemeinsame Diskussionen zwischen Produktverantwortlichen, Designern und Entwicklern erreicht werden.

Mangelndes Bewusstsein des Managements für Qualitätsprozesse

Eine weitere Hürde, auf die agile Teams häufig stoßen, ist das mangelnde Bewusstsein des Managements für die Bedeutung von Qualitätsprozessen. In manchen Fällen geben Entscheidungsträger der Geschwindigkeit den Vorrang vor der Qualität und glauben, dass die schnelle Bereitstellung von Funktionen die Kunden zufrieden stellt.

Dieser Ansatz kann sich jedoch auf lange Sicht nachteilig auswirken. Eine überstürzte Entwicklung ohne ordnungsgemäßes Testen oder Review kann zu fehlerhaften Versionen führen, was wiederum unzufriedene Benutzer und negative Reviews zur Folge hat.

Um dieses Problem anzugehen, müssen agile Teams dem Management proaktiv den Wert von Qualitätsprozessen vermitteln. Dies kann durch die Weitergabe von Metriken wie Fehlerzuständen oder Kundenzufriedenheitswerten geschehen, die den Einfluss der Qualität auf die Geschäftsergebnisse hervorheben.

Fortbestehende "Old School"-Probleme, die die eingebaute Qualität beeinträchtigen

Obwohl sie Teil einer agilen Struktur sind, haben viele Teams immer noch mit Problemen der alten Schule zu kämpfen, die ihre Fähigkeit behindern, eine konsistente eingebaute Qualität aufrechtzuerhalten. Zu diesen Problemen können gehören:

  • Mangel an automatisierten Tests: Einige Teams verlassen sich aufgrund von Zeit- oder Ressourcenbeschränkungen stark auf manuelles Testen. Manuelles Testen hat zwar seine Berechtigung, ist aber anfällig für menschliche Fehlhandlungen und lässt sich bei wachsendem Produktumfang möglicherweise nicht mehr effektiv skalieren.
  • Unzureichende Code-Reviews: Code Reviews sind wichtig, um die Qualität des Codes und den Wissensaustausch zwischen den Teammitgliedern zu gewährleisten. Werden sie jedoch nicht regelmäßig durchgeführt oder wird das Feedback nicht ernst genommen, können sich mit der Zeit technische Schulden anhäufen.
  • Uneinheitliche Definition von "fertig": Die Definition von "done" (DoD) legt fest, was erledigt sein muss, damit eine User-Story oder Aufgabe als abgeschlossen gilt. Wenn verschiedene Teammitglieder die DoD unterschiedlich auslegen, kann dies dazu führen, dass unvollständige Arbeit als erledigt akzeptiert wird.

Um diese Herausforderungen zu bewältigen, müssen agile Teams aktiv nach Möglichkeiten zur Verbesserung ihrer bestehenden Praktiken suchen. Dies könnte bedeuten, in Tools zur Testautomatisierung zu investieren, eine Kultur der gründlichen Code Reviews zu etablieren oder das Verständnis von DoD durch Diskussionen und Workshops anzugleichen.

Indem sie diese Herausforderungen direkt angehen, können agile Teams eine Umgebung schaffen, in der Qualität in jeder Phase der Entwicklung Priorität hat - von der Planung und dem Design bis hin zur Implementierung und Auslieferung.

Praktische Ansätze zur Einbindung von Qualität in Softwareentwicklungsprozesse

Qualität sollte bei der Softwareentwicklung nie ein nachträglicher Gedanke sein. Stattdessen sollte sie ein integraler Bestandteil des Prozesses sein, eingebettet in jede Phase von der Planung bis zur Bereitstellung. Hier kommen eingebaute Qualitätspraktiken ins Spiel.

Was sind eingebaute Qualitätspraktiken?

Eingebaute Qualität sind Techniken und Strategien, die darauf abzielen, Fehlerzustände und Fehlhandlungen bei der Softwareentwicklung zu vermeiden, anstatt sie nur zu identifizieren und später zu beheben. Diese Praktiken können während des gesamten Softwareentwicklungslebenszyklus (SDLC) angewendet werden, um sicherzustellen, dass die Qualität bei jedem Schritt erhalten bleibt.

Die Bedeutung der eingebaute Qualität

Die Implementierung eingebaute Qualität hat mehrere Vorteile für Softwareentwicklungsteams und -organisationen:

  1. Kostenreduzierung: Durch die frühzeitige Vermeidung von Fehlerzuständen können Unternehmen kostspielige Nacharbeiten und Korrekturen im weiteren Verlauf des Prozesses vermeiden. Dies führt zu erheblichen Kosteneinsparungen in Bezug auf Zeit, Ressourcen und Budget.
  2. Geschwindigkeitsverbesserung: Wenn die Qualität in den Prozess integriert ist, können die Teams effizienter arbeiten und schneller liefern. Da weniger Fehlerzustände zu beheben sind und weniger Zeit für Nacharbeiten aufgewendet werden muss, können Projekte pünktlich oder sogar früher als geplant abgeschlossen werden.
  3. Fehlerreduzierung: Eingebaute Qualität hilft, Fehlhandlungen in der Produktion zu minimieren, indem Probleme behoben werden, bevor sie den Endbenutzer erreichen. Dies führt zu höherer Kundenzufriedenheit und weniger Support-Tickets oder Fehlerberichten.

Praxis-Workshops für die Implementierung von eingebauter Qualität

Um eingebaute Qualität effektiv zu implementieren, können Unternehmen praktische Workshops durchführen, die auf ihre speziellen Bedürfnisse zugeschnitten sind. Diese Workshops bieten umfassende Schulungen zu verschiedenen Techniken und Strategien, die in Softwareentwicklungsprozessen angewendet werden können.

Die Anzahl der Techniken, die in diesen Workshops behandelt werden, kann je nach den Anforderungen der Organisation variieren:

  • Grundlagen-Workshop: Behandelt wesentliche eingebaute Qualitätspraktiken (ca. 75 Techniken).
  • Fortgeschrittener Workshop: Erforscht fortgeschrittene Techniken und Strategien (über 150 Techniken).

Diese Workshops bieten praktische Schulungen, Fallstudien und Beispiele aus der Praxis, um sicherzustellen, dass die Teilnehmer wissen, wie sie diese Verfahren effektiv anwenden können.

Durch die Einbeziehung eingebaute Qualität durch praktische Workshops können Unternehmen erhebliche Verbesserungen bei der Kostenreduzierung, Geschwindigkeitssteigerung und Minimierung von Fehlhandlungen innerhalb ihrer Software-Entwicklungsprozesse erzielen.

Scaling Agile for Large and Medium Organizations with Built-in Quality Focus

Die Skalierung von Agilität in großen und mittelgroßen Unternehmen erfordert gezielte Strategien, die die eingebaute Qualität in komplexen Wertströmen bewahren. Viele Unternehmen haben Schwierigkeiten, eine konsistente Qualität aufrechtzuerhalten, wenn mehrere Teams, Abteilungen und Managementebenen beteiligt sind. Die Bewältigung dieser Herausforderung erfordert einen systemischen Ansatz, der sich auf den Wertefluss und die Priorisierung konzentriert.

Zu den wichtigsten Strategien für die Skalierung der Agilität mit eingebaute Qualität gehören:

1. Management des Werteflusses

Wenn Sie verstehen, wie die Arbeit von der Idee bis zur Auslieferung in der gesamten Organisation abläuft, können Sie Engpässe und Qualitätsrisiken frühzeitig erkennen. Das Wertflussmanagement stellt sicher, dass jeder Schritt direkt zum Kundenergebnis beiträgt, ohne unnötige Verzögerungen oder Nacharbeit.

2. Priorisierung von Epics mit Verfeinerungsrollen

Große Initiativen lassen sich in Epics, Features und Stories unterteilen. Die Priorisierung ist von entscheidender Bedeutung - konzentrieren Sie sich auf die Arbeit mit dem höchsten Wert, während Sie gleichzeitig technische Abhängigkeiten und Qualitätsaspekte abwägen. Verfeinerungsrollen fungieren als Torwächter, die kontinuierlich Akzeptanzkriterien, Gebrauchstauglichkeitsbereiche und technische Anforderungen klären und so Mehrdeutigkeiten verhindern, die die Qualität beeinträchtigen können.

3. Verankerung der Qualität in der Unternehmenskultur

Über die Prozesse hinaus erfordert die Skalierung der Agilität einen Mentalitätswandel auf allen Ebenen - bei Führungskräften, Managern und Teams -, damit Qualität als gemeinsame Aufgabe betrachtet wird. Diese Mentalität fördert die proaktive Problemlösung und nicht die reaktive Behebung von Fehlerzuständen.

4. Nutzung spezialisierter Rollen innerhalb von Gilden und Chaptern

Die Organisation von Experten in Test-, Entwicklungs- und Architekturgemeinschaften fördert den Wissensaustausch und die kontinuierliche Entwicklung von Fähigkeiten. Diese Gruppen tragen zur Aufrechterhaltung der technischen Exzellenzstandards bei, die für eine nachhaltige eingebaute Qualität unerlässlich sind.

5. Nutzung praktischer Verfahren aus umfangreichen Workshops

Der Rückgriff auf bewährte Techniken - von 75 bis zu 150+ eingebaute Qualitätspraktiken - ermöglicht es Unternehmen, ihren Ansatz je nach Reife und Kontext anzupassen. Diese Praktiken senken die Kosten, indem sie verschwenderische Aktivitäten reduzieren, die Auslieferung beschleunigen, indem sie Verzögerungen minimieren, und Fehlhandlungen in der Produktion verringern, indem sie das Testen und die Automatisierung frühzeitig einbinden.

Große Unternehmen, die sich diese Prinzipien zu eigen machen, richten ihr gesamtes Softwareentwicklungs-Ökosystem auf eine kontinuierliche Wertschöpfung ohne Qualitätseinbußen aus. Das Ergebnis ist Agilität, die sich effektiv skalieren lässt und Unternehmen dabei hilft, schneller auf Veränderungen zu reagieren und gleichzeitig die hohen Standards einzuhalten, die ihre Kunden erwarten.

Mit dem Brettspiel zum Testentwurf

Mit dem Brettspiel zum Testentwurf

Ein Entwicklungsteam verwandelt eine Idee in ein Brettspiel, das reale Testfälle für Kassensoftware erzeugt. Mit Einkaufszetteln als Missionen,...

Weiterlesen
Performanztests sind keine Lasttests

Performanztests sind keine Lasttests

In den letzten zwei Jahrzehnten haben sich Performanztests von Bare Metal und umfangreichen Browser-Skripten zu APIs, Cloud und Kubernetes...

Weiterlesen
Legacy Modernisierung

Legacy Modernisierung

Legacy-Modernisierung ist eine Herausforderung. Viele Unternehmen stehen vor der Notwendigkeit, ihre veralteten Systeme - oft auf Mainframes oder in...

Weiterlesen