Wer will schon Qualität bei Software – funktionieren muss sie.

Qualitätssicherung bei Software, wer will das schon –  Hauptsache die Software läuft und erfüllt die funktionellen Anforderungen, so wird oft argumentiert. Technische Qualität und Qualitätssicherung der Softwareherstellung scheinen nur einen kleinen Kreis von Beteiligten zu interessieren. Problematischer und komplizierter werden Qualitätsthemen bei Änderungen oder Weiterentwicklungen von Legacy Software. Hier erschweren meist die über die Zeit veränderten Rahmenbedinungen die Ausgangslage.

Wer will schon Qualitätsprozesse bei Software Entwicklung?

Unsere Erfahrungen aus vielen Entwicklungs- und Migrationsprojekten zeigen, dass Qualitätsmanagement in der Software Entwicklung ein sehr komplexes Thema darstellt. Die verschiedenen Beteiligten haben eine sehr widersprüchliche Sicht auf Qualitätsanforderungen:

  • Der « Business Owner » oder Anwender legt den Fokus auf das richtige Funktionieren der Software. Oft hat er kein Verständnis für lange Einführungszeiten und teure Entwicklungen, vor allem wenn es sich nur um Software Anpassungen oder funktionalen Änderungen handelt. Nutzen von technischer Qualität, sowie vorallem das notwendige Wissen zu diesem Thema sind ihm meist fremd.
  • Der « Business Owner » oder Anwender legt den Fokus auf das richtige Funktionieren der Software. Oft hat er kein Verständnis für lange Einführungszeiten und teure Entwicklungen, vor allem wenn es sich nur um Software Anpassungen oder funktionalen Änderungen handelt. Nutzen von technischer Qualität, sowie vorallem das notwendige Wissen zu diesem Thema sind ihm meist fremd.
  • Projektleiter, welche die Umsetzung verantworten, sind einerseits konfrontiert mit Planungsthemen (Kosten, Zeit, Risiken) und andererseits mit verschiedensten Compliance Anforderungen. Qualitätsprozesse sind in vielen Fällen nervenaufreibende Themen mit der Linienorganisation und den eigenen Projektmitarbeitern.
  • Schliesslich wünscht sich der Betrieb auf operativer und technischer Ebene eine mittel- bis langfristig qualitativ hochstehende Software-Lösung um Betriebsrisiken gering zu halten und Wartungskosten zu optimieren.

Es ist offensichtlich, dass Qualitätsprozesse auch im Bereich der Software Entwicklung ein Firma übergeordnetes Thema sein muss. Qualitätsthemen sind Teil der operativen Strategie.

In der Praxis heisst das, dass man die Qualitätssicherung nicht den Projektleitern und oder Steering Boards einzelner Projekte überlassen kann. Die Durchsetzung einheitlicher Qualitätsstandards, welche nicht nur kurzfristige Interessen (z.B. Funktionalität im nächsten Release), sondern auch langfristige Ziele (z.B. Wartbarkeit der Systeme) anpeilt, kann nur durch eine neutrale und übergeordnete Stelle erfolgen. Hier bestehen „Andockstellen“ zu Themen wie IT-Achitektur, Risikomanagement und Compliance welche ebenfalls als Querschnittsfunktion aufgestellt sein müssen.

Legacy Systeme – veränderte Rahmenbedingungen als grösste Herausforderung

Besonders kompliziert wird Qualitätssicherung bei Legacy Systemen. Die Rahmenbedingungen haben sich über die Zeit seit der Software (System) Einführung meist geändert. Beispiele dafür sind:

  • Veränderte Business Anforderungen ( wie z.B. höhere Automatisierung, erweiterte funktionelle Anforderungen)
  • Veränderte Regulationen (wie z.B. erhöhter Datenschutz im Bankenumfeld)
  • Erhöhte Sicherheitsanforderungen (man denke an Safety in der Luftfahrt)
  • Entwicklungen in der SW Branche (neue Programmiersprachen, Design, Kompetenzen)
  • Höhrer Performance Anforderungen oder andere nicht funktionelle Anforderungen
  • Veränderte Firmenprozesse
  • Kosten für Lizenzen, Wartung und Betrieb

Der Einfluss neuer Rahmendbedingungen auf Software Entwicklung ist vielfältig – von Requirement Engineering über Design, Test und Inbetriebnahme sind einerseits klassische Qualitätsmerkmale wie Nachvollziehbarkeit, Konsistenz, Integrität, Zuverlässigkeit oder Betriebssicher betroffen wie auch ökonomische und funktionelle Betrachtungen.

Qualität in Legacy Systemen ist ein Lifecycle Thema: wenn eine Applikation den (veränderten) Anforderungen nicht mehr entspricht, muss sie saniert oder ersetzt werden. Wie in anderen Bereichen der IT verhindert eine systematische Bewirtschaftung und laufende Erneuerung der Komponenten einen plötzlichen Bedarf nach einem grossen Umbau.

Qualitätssicherung bringt Nutzen

Wir treffen oft an, dass bei Qualitätssicherung für Software die Kosten-Diskussion der Auseinandersetzung mit dem Nutzen stark überwiegt. Der Ursprung dieses Dilemmas wird in der unterschiedlichen Aussicht auf Kosten und Nutzen zu finden sein. Qualitätssicherung bei Software kann sehr wohl von grossem Nutzen sein, auch im Legacy Bereich – hier einige Beispiele:

  • Bessere Planbarkeit und Aufwandschätzung für Veränderungen und Erweiterungen aufgrund eines sauberen SW Designs und Architektur
  • Reduzierte Kosten für Betrieb und Unterhalt durch weniger Altlasten oder versteckten Risiken in der Software
  • Transparentere Diskussion mit Business Owner und Kunden über zusätzlich Anforderungen und effizientere Umsetzung neuer Anforderungen
  • Einfachere Einarbeit neuer Mitarbeiter und Mitarbeiterinnen weil Wissen über die Software und dessen Funktionieren (Dokumentation, Reviews) vorhanden ist
  • Langfristiges Beherrschen der SW Komplexität inkl. Notwendigen Optimierungen oder Erneuerungen (Sourcing)
  • Bessere Vorbereitung auf externe Einflüsse bezüglich Compliance Anforderungen

Aber wer will mit den unmittelbar anstehenden Herausforderungen schon in mittelfristigen Nutzen investieren?

Unsere Erfahrungen zeigen, dass über längere Zeit fehlende Investitionen in Qualitätsthemen bei Legacy Software oft in unerwartet erforderlichen, immens teuren, risikoreichen und nur schwer umsetzbaren Migrationsprojekten enden. Auch um dies zu verhindern kann eine kontinuierliche Überprüfung der Software Qualität beitragen werden.

 

 

 

Eine Antwort zu “Wer will schon Qualität bei Software – funktionieren muss sie.”

  1. Franco

    Auf den ersten Blick eine einfache Frage, die bei eingehender Auseinanderetzung eine grosse Themenbreite anstösst.
    So gilt auch bei der Software, wer beim Planen und Pflegen spart bezahlt es später mit höheren KOsten.

    Antworten

Hinterlasse eine Antwort