Qualität ist wichtig, Qualität ist teuer, Qualität steigert den Wert, Qualität reduziert die Produktivität. Qualität hat viele Gesichter. Schöne, aber auch sehr hässliche. Hier zwei Beispiele aus dem IT System Management und noch das Virenscanner Beispiel:
IT System Management
Prozesse sind wichtig. Wikipedia definiert einen Prozess wie folgt.
Ein Geschäftsprozess (GP) besteht aus einer Menge logisch verknüpfter Einzeltätigkeiten (Aufgaben, Aktivitäten), die ausgeführt werden, um ein geschäftliches oder betriebliches Ziel zu erreichen. Ein Geschäftsprozess ist wiederholbar, mit Wertschöpfung verbunden und nutzt die Ressourcen einer oder mehrerer Organisationen.
Alle wichtigen Abläufe in einer Firma sind daher mittels Prozess dokumentiert. Es wird sichergestellt, dass bei gleichem Input der gleiche Output erzeugt wird, also die Qualität wird gesteigert.
Doch was passiert wenn der Qualitätsprozess derart kompliziert und aufwändig ist, dass er besser nicht durchgeführt wird? Er wird hinausgezögert wodurch Sicherheitslücken und Qualitätsmängel entstehen, sprich der Qualitätsprozess wirkt sich negativ auf die Qualität aus. Ein paar Beispiele.
System Update
Der Prozess sieht vor, dass bei Änderungen am System entsprechende Regressionstests durchgeführt werden müssen und alles dokumentiert wird. Ein klassischer Change Management Prozess. Doch was wenn die Tests so mühsam sind und die Dokumentation so aufwändig und nicht zu vergessen die Anzahl an Approvals, welche eingeholt werden müssen? Ist das Update wirklich notwendig? Das System wird sowieso bald abgelöst.
Fazit: Beim Audit sind alle glücklich, der der Prozess ist da, doch ein Update wird lieber hinausgezögert, da der Aufwand für das Drumherum so hoch ist. Die folgen:
- System funktioniert unbefriedigend, da gewisse Bugs nicht geflickt werden.
- Sicherheitslöcher sind da, welche vielleicht nicht kritisch sind, aber dennoch potentiell gefährlich.
- Alles in allem: Die Qualität sinkt.
Der Qualitätsprozess erhöht also theoretisch die Qualität, faktisch jedoch sinkt sie.
Datenmigration
Szenario Datenmigration. Eine überschaubare Anzahl an Records muss von System A ins System B gezügelt werden. Die Migration soll mittels Script durchgeführt werden. Die Qualitätsanforderungen hier sind eindeutig: Die Daten müssen unverändert im System B ankommen.
Wie allerdings kann man beweisen, dass die Daten auch korrekt im System B angekommen sind? Wie kann nachgewiesen werden, dass der Prozess auch stimmt? Einen riesigen Berg an Qualitätsanforderungen, welcher viel Geld kostet und schlussendlich die Qualität nicht verbessert, aber dokumentiert.
Daraus resultiert: Projekt wird abgesagt, da zu teuer und zu unsicher, es werden beide Systeme behalten, und mit entsprechenden Prozessen sichergestellt, dass die nachgelagerten Systeme weiter funktionieren können.
Und das Resultat daraus: Eine Bastellösung, fehleranfällig da Menschen involviert sind und unübersichtlich, da Informationen in zwei Systemen gesucht werden müssen, aber es kann anhand von Dokumenten nachgewiesen werden, dass es stimmt.
Fazit: Die Qualitätsanforderungen haben den Aufwand und die Kosten derart in die Höhe geschraubt, dass auf eine qualitativ niederere Lösung zurückgegriffen wurde.
Virenscanner
Soeben auf T3N gelesen: Virenscanner machen Rechner angreifbar:
Die Liste der Sicherheitslücken ist lang und umfasst beinahe alle bekannten Produkte am Markt. Teilweise werden Updates nicht signiert oder über unverschlüsselte HTTP-Verbindungen ausgeliefert. Hersteller von Antivirensoftware statten ihre Programme mit umfassenden Systemrechten aus und setzen teilweise auch Schutzmechanismen der Betriebssysteme außer Kraft.
Nichts böses ahnend erhoffe ich eine Steigerung der Qualität (in dem Fall Schutz vor Viren, Eindringlingen und Schadsoftware). Was ich nichts ahnend installiere ist eine Türe für Bösewichte.
Und zusätzlich schaffe ich mir auch noch Bremsklötze an, welche das System durch Resourcenverbrauch lähmen. Nimmt unter dem Strich die Qualität zu oder ab? Muss jeder für sich beantworten.
Fazit
Aus diesen Fällen habe ich folgende Lehren gezogen:
- Qualitätsanforderungen müssen immer im Zusammenhang mit einem Risiko stehen.
- Qualitätsanforderungen sollen die Qualität nicht nur auf dem Papier steigern, sondern auch in der realen Welt. Eigentlich der Agile Ansatz: «Running Software over Documentation». Leider ist das in einer regulierten Branche nicht immer möglich, doch auch hier gibts Wege (welche ich jedoch noch nicht gefunden habe).
- Qualitätsanforderungen müssen verständlich und nachvollziehbar sein, ansonsten werden sie missachtet oder umgangen, wodurch die Qualität sinkt