Transzendente Qualität trifft transzendente Agilität

Prof. Dr. Jochen Ludewig hielt auf der TAV (Fachgruppe Test, Analyse und Verifikation von Software) Fachtagung im Jahre 2016 in Bremen mal einen Vortrag über Software-Qualität – Zwischen hohem Ziel und hohler Floskel.

Ich fand es sehr spannend in kurzen Ausflügen zu erfahren, dass eben die modelierte Qualität die unnatürlichere, aber eben die meßbare, kontrollierbare ist und die transzendente Qualität, nicht meßbar, aber dafür die ist, die uns begeistert. Er nahm das Beispiel der Schwarzwälderkirschtorte, die man nicht vermessen würde, sondern eben sagt, dass sie eben (oder eben nicht) ausgezeichnet war.

Wenn wir nun immer nur die meßbare Qualität nehmen, was verlieren wir dann?

Wir verlieren die unmittelbare Verbindung zur erlebten Qualität, damit auch den Blick auf denjenigen, der die Qualität erlebt (das Objektive verdrängt das – wichtigere – Subjektive.)

„Software Qualität – Zwischen hohem Ziel und hohler Floskel“ (2016)

Die Qualitätsprüfung, die wir benutzen, kann aber nur so gut sein, wie das unterliegende Modell und wird immer von dem natürlichen, was wir empfinden, (mehr oder weniger stark) abweichen.

Im agile Kontext wird die Meßbarkeit auch gerne vorne hin gestellt, also das Modell… Wie auch bei der Qualität…

Mit anderen Worten: Die modellierte Qualität bedarf stets der Kontrolle und Bestätigung durch die transzendente Qualität.

„Software Qualität – Zwischen hohem Ziel und hohler Floskel“ (2016)

Im agilen Kontext sehe ich dieselbe Herausforderung: Man muß sich im agilen Vorwärstkommen anhand von Kenngrößen auch bedenken, dass die Beteiligten „begeistert“ sein sollten, damit sie den Wandel mit tragen. Da spielen aber Kenngrößen keine Rolle, sondern das Empfinden und die Emotionen. Innerlich bewerten wir eben das Gefühl, ob man sich in der neuen Rolle und der gestellten Herausforderung wohlwollend gegenübersteht. Messen kann man das nicht, sondern die Schwarzwälder Kirschtorte muss schmecken, auch wenn es manchmal diverser Anläufe braucht.

„Agile Softwareentwicklung ist ein Vorgang, bei dem Projekte in Iterationen unterteilt werden. Das Ergebnis einer jeden Iteration wird beurteilt und dazu genutzt, den Zeitplan neu zu bewerten, Features werden nach ihrem Geschäftswert implementiert, damit die wichtigsten Dinge zuerst umgesetzt werden. Die Qualität sollte so hoch wie möglich sein. Der Zeitplan wird vornehmlich dadurch gemanaged, dass sich der Umfang des Projekts ändert.
Das ist agile Software Entwicklung.“

„Clean Agile, Die Essenz der agilen Softwareentwicklung“, Robert C. Martin „Uncle Bob“, 1. Auflage, 2020 S. 47

Der „Geschäftswert“ ist nicht immer in Geld auszudrücken, wenn es bspw. darum geht Kunden zu Fans zu machen1, denn dort kommt man über Emotionen. Natürlich ist das Endergebnis irgendwann meßbar (mehr treue, zahlende Kunden o.ä.), aber man muß manchmal auch „Umwege“ über nicht sofort meßbare Kennzahlen Wege gehen und diese sollten also nicht immer im Vordergrund stehen.

Mehr Ehrlichkeit (= Einsicht), Disziplin und Demut wären gut. Aber Disziplin bedeutet nicht, der Bürokratie zu dienen.

„Software Qualität – Zwischen hohem Ziel und hohler Floskel“ (2016)

Wenn also der reine Fokus auf die meßbare Qualität und meßbare Agilität gelenkt wird, glaube ich, verlieren wir die Verbindung zur erlebten [Lebens-] Qualität. Wir dienen dann der Bürokratie, weil jemand die Kennzahlen haben möchte.

Die Rückbesinnung auf ursprüngliche Formen (Qualität und Agilität) sollten wir am Softwareentwicklungsprozess beteiligten Menschen ab- und an mal mitgeben (Retrospektiven), denn das Produkt sollte nicht gut vermessen sein, sondern den Kunden und die am Erstellungsvorgang beteiligten Menschen begeistern…


1 Empfehlung: "Das Fan-Prinzip", Roman Becker, Gregor Daschmann, 2. Auflage, 2016

Webinar 16.5.: Agile Applikationssicherheit in Echtzeit für DevOps

Security Testing durch Instrumentierung verspricht bei DevSecOps bessere und schnellere Ergebnisse als gängige Scan-Verfahren. Erfahren Sie in Theorie und Praxis, was hinter der Methode steckt.

Scannen Sie noch oder instrumentieren Sie schon? Denn neue Test-Methoden können die Anwendungssicherheit während der Entwicklung und im laufenden Betrieb effizient steigern. Hören Sie nicht nur die Theorie vom Hersteller, sondern auch den Praxisbezug des QA-Spezialisten Jörg Sievers von der Ponton GmbH in Hamburg und seine Erfahrungen mit neuen Security-Testmethoden aus Anwendersicht.

Quellcode zu scannen (Static Application Security Testing, SAST) und Anwendungen dynamisch zu testen (Dynamic Application Security Testing, DAST) sind wichtige Bestandteile funktionierender DevSecOps-Prozesse, generieren jedoch zu viele Falschmeldungen oder liefern nicht ausreichend Ergebnisse. Weiterhin ist Scanning mittels SAST sehr zeitintensiv oder DAST benötigt Experten zum Vorbereiten von Tests und deren Interpretation. Manuelles Pentesting kommt schon aus Zeitgründen nicht jedes Mal zum Einsatz.

Für DevOps, die ShiftLeft-Methodology und mehrfaches Deployment am selben Tag sind Interactive Application Security Testing (IAST) und Runtime Application Self-Protection (RASP) wesentlich besser geeignet. IAST und RASP ermöglichen zeitnah akkurat Ergebnisse für unterschiedliche Anwenderrollen in den jeweils präferierten Werkzeugen.

Wir freuen uns auf Ihre Teilnahme!

Ihre Referenten:

Mirko Brandner                                Jörg Sievers
Senior Sales Engineer /                   QA Specialist 
Technical Evangelist                        Ponton GmbH
Contrast Security                             

Quelle: https://www.security-insider.de/agile-applikationssicherheit-in-echtzeit-fuer-devops-v-41422-12645/