LeSS Einführung – Teil 6: Das Qualitätsmodell in LeSS

Das Qualitätsmodell in LeSS folgt der gleichen Grundidee wie in Scrum, Extreme Programming (XP) und Lean Thinking, welche von Shigeo Shingo (1986) prägnant als Zero Quality Control betitelt wurde und räumt mit der kognitiven Verzerrung auf, eine nachgelagerte Qualitätskontrolle sei im Hinblick auf die Zielsetzung effizient.

Während eine nachgelagerte Verifikation der Qualität nicht nur sehr aufwändig ist, sondern stets nur eine Annäherung darstellt und der Produktspezifikation per Definition hinterherläuft, besteht die Resilienz des Zero Quality Control Qualitätsmodells darin, dass die Qualität in das Produkt eingebaut wird. Entsprechend ist Testgetriebene Entwicklung (Test-Driven Development, TDD) ebensowenig wie Akzeptanztestgetriebene Entwicklung (Acceptance-Test Driven Development, ATDD) ein “Testverfahren”, sondern vielmehr integrativer Bestandteil einer Entwicklungsmethode, die auf den Einbau von Qualität konzeptionell ausgelegt ist. Wesentlich für TDD ist die zyklische Rotation zwischen Testinkrement und Implementierungsinkrement mit den Schritten

  1. Erstellung des Testfalls bis er fehlschlägt
  2. Erweiterung der Implementierung bis der Test “grün” ist
  3. Erweiterung des Test bis er “rot” wird.
  4. Goto [2]

Indem die Implementierung iterativ dem Unit-Test als der Spezifikation folgt wird sie inkrementell ausgebaut. Bei der akzeptzanztestgetriebenen Entwicklung wird zunächst der Akzeptanztest vollständig implementiert und im zweiten Schritt erfolgt die Implementierung des Produktivcodes gegen den Akzeptanztest. BDD-Tools wie z. B. FitNesse oder Cucumber helfen dabei, die Akzeptanztestfälle zu einer ausgewachsenen Produktspezifikation auszubauen.

Gemeinsam haben beide Verfahren, dass der automatisierte Test (iterativ bzw. vollständig) voraus geht und die Implementierung folgt. In diesem Sinne sind sie mitnichten Testverfahren sondern, ganz im Gegenteil, Methoden zur Erreichung der Maxime des Zero Quality Control. Wird der Wert dieses Ansatzes in angemessener Tiefe erkannt, so wird die Rolle einer QA-Abteilung offensichtlich signifikant ausgedünnt. Übergangsweise kann sie sinnvoll aufgestellt werden, indem die operativen Tätigkeiten zugunsten von Coaching-Tätigkeiten für die Teams aufgegeben werden.

Quelle: Andrei Marukovich, 2012

Edit