Software-QualitätTesten kostet – nicht zu testen auch!

Qualität ist teuer. Von Test-Ingenieuren initiierte Anfragen halten Entwickler von ihrer eigentlichen Arbeit ab. Der Zeitplan ist durch hohe Fehlerzahlen bedroht und der Kunde lässt sich leicht vom billigsten Angebot bei einer Ausschreibung überzeugen. Diese Argumente klingen wie Entschuldigungen, um umfangreiche Strategien zur Qualitätssicherung nicht einführen zu müssen. Doch auch ohne Qualitätstest kann es teuer werden.

Ist ein QM-System teuer?

Eines gleich vorweg: Die Einführung eines QM-Systems ist grundsätzlich ein nicht zu unterschätzender Kostenfaktor. In der Regel sind bei einer System-Einführung alle Prozesse des Unternehmens betroffen, welche es gilt auf die hohen Anforderungen hin anzupassen. Auch Test-Systeme werden in Bezug auf die tatsächlichen Anschaffungs- und vor allem Unterhaltskosten – ungeachtet der Branche – zu gering abgeschätzt.

Dies gilt auch für die Software-Industrie. Die Tatsache, dass es sich hierbei um immaterielle Güter handelt, führt leider nicht zu günstigeren Einführungskosten für Qualitätsprozesse in dieser Branche im Vergleich zum klassischen, produzierenden Gewerbe.

So erklärte Bill Gates (Microsoft) bereits in der Dezember-Ausgabe 2002 von Informationweek (ins Deutsche übersetzt):

„Wir beschäftigen genau so viele Tester wie Entwickler. Wenn wir ein neues Windows-Release vorbereiten, geht über die Hälfte des Budgets allein in die Qualitätskontrolle.“

Im Rahmen des Aufbaus eines auf die Softwarebranche abgestimmten QM-Systems stellt die Organisation und Struktur eines Testlabors eine der wichtigsten Aufgaben dar. Jedoch können Gesetzmäßigkeiten und Erfahrungen aus den klassischen, produzierenden Branchen nicht so einfach auf die Softwareindustrie übertragen werden. Einige Beispiele seien zur Verdeutlichung genannt:

  1. Software als immaterielles Gut kennt keine Verschleißerscheinungen im Vergleich zu materiellen Gütern. Dies sollte in Wartungs-Prozessen (Maintenance) wie auch in der Organisation des Lebenszyklusses (Productlifecycle) eines Produkts berücksichtigt werden.
  2. Software und vor allem Anwendungs-Systeme (zum Beispiel ERP-Systeme) sind um ein vielfaches komplexer als entsprechende Hardware-Komponenten aus dem Maschinenbau oder der Fahrzeugindustrie (Baugruppen mit embedded Systeme sind bei der Betrachtung ausgenommen). Software-Engineering-Konzepte müssen diesen Sachverhalt berücksichtigen, um daraus resultierende Projekt-Risiken und Mehraufwendungen zu vermeiden. Darauf abgestimmte Testsysteme bestätigen zeitnah den Reifegrad der entwickelten Lösungen – auch während der Entwicklung. So kann gezielter und schneller auf unerwünschte Abweichungen reagiert werden.

Nun da klar ist, dass die Einführung und der Unterhalt von Qualitäts- und Testsystemen in der Softwarebranche nur mit einem entsprechenden Finanzbudget bestritten werden kann, bieten sich grundsätzlich zwei Alternativen an:

  1. Verzicht auf umfangreiche Tests: Das Projektbudget wird fast ausschließlich für die Anwendungs-Entwicklung verwendet. Lediglich eine Qualitätsendkontrolle (QA) wird durchgeführt. Das Verhältnis zwischen Entwicklungsbudget und Testbudget beträgt etwa 9:1.
  2. Umsetzung eines TQM-Konzeptes: In jeder Projektphase werden zeitnahe Tests auf allen Abstraktionsebenen (beispielsweise Module, Schnittstellen, Systeme, Geschäftsprozesse) durchgeführt. Das Projektbudget verteilt sich annähernd zu gleichen Teilen auf Entwicklungs- und Test-Aufwendungen.

Ohne Software-Tests „mehr“ Budget für Software-Entwicklungen?

Die letztgenannten Bemerkungen bestätigen auf den ersten Blick die Haltung, Testaufwendungen im Rahmen von Software-Projekten und Aufbau von IT-Umgebungen gering zu halten. Die Umsetzung der zweiten Variante würde ja bedeuten, das reine Entwicklungsbudget im Vergleich zur ersten Option annähernd zu halbieren. Dieser Denkansatz ist auch heute noch präsent. Wie fatal eine derartige Denkweise sein kann, zeigen erst die Ergebnisse aus der Praxis.

So möchte ich zunächst auf die „schlechten“ Softwarejahre 2001 bis 2004 zu sprechen kommen: Hier fielen – gemäß meiner obigen Darstellung - vor allem Test-Aufwendungen im Rahmen von Budgetkürzungen dem Rotstift zum Opfer. Damit könne man auch mit geringeren Budgets die vereinbarten Projektziele „halten“, so die Sicht vieler Budget-Verantwortlicher und Projekt-Manager. Dieser Ansatz „hinkt“: Die Ziele werden wohl erreicht, jedoch mit geringerer Qualität als ursprünglich vereinbart. Und so lange Qualität nicht gemessen wird, „funktioniert“ dieser Ansatz auch. Damalige Untersuchungen zum Thema Software-Qualität zeigten das komplette Ausmaß, die Konsequenzen und Ergebnisse der damals getroffen Entscheidungen auf.

Studie 1: Zusatzkosten aufgrund mangelhafter Software-Qualität

Eine im Jahr 2004 in Auftrag gegebene Studie zum Thema Software Qualität ergab ein besorgniserregendes Bild: 64 Prozent der befragten Teilnehmer verzichteten darauf, das Ausfallrisiko bei der Einführung einer neuen Software-Anwendung zu quantifizieren. Andererseits sagten 74 Prozent, dass die Kosten aufgrund schlechter Softwarequalität für ihr Unternehmen bis zu 500.000 Euro im Jahr betragen. Bei Unternehmen mit mehr als 5.000 Mitarbeitern schätzten 15 Prozent der Befragten die Kosten sogar auf mehr als eine Million Euro im Jahr.

Studie 2: Zuverlässigkeit von IT-Infrastrukturen und Systeme

Die Studie der International Data Corporation (IDC) aus dem Jahr 2005 zum Thema Zuverlässigkeit von IT-Infrastrukturen zeigte, dass sich die Situation nicht verbesserte: Bei der Befragung von circa 150 deutschen Großunternehmen seien 64 Prozent der IT-Systeme laut Untersuchung nur teilweise verfügbar. 14 Prozent der Systeme wurden als Totalausfall bewertet. Große Unzufriedenheit herrschte unter den Befragten auch bezüglich der Reaktionszeiten von Applikationen, denn 47 Prozent bemängelten eine nicht akzeptable Performance. Die mangelnde IT-Qualität blieb nach den Erhebungen nicht ohne schwerwiegende Konsequenzen: 69 Prozent der befragten Unternehmen räumten wesentliche Umsatzeinbußen ein. Nach Meinung von 62 Prozent der befragten Personen litt die Produktivität und Rentabilität der Mitarbeiter erheblich. Als weitere sekundäre Negativpotenziale wurden zum Beispiel Imageverlust oder gar der Verlust von Geschäftspartnern aufgeführt.

Diese wie auch andere Studien zeigten, dass ein Software-Unternehmen kaum langfristige Marktchancen haben wird, wenn es das Thema Qualität nicht als strategisches Unternehmensziel begreift. Gerade in den wirtschaftlich schweren Zeiten wie 2001 bis 2004 haben sich deshalb Anwender vor allem auf die am Markt etablierten Produkte bekannter Hersteller fokussiert. Die Folge hiervon war, dass die Markt-beherrschenden Unternehmen Marktanteile in der Rezession zum Nachteil der Marktbegleiter gewannen.

Für viele führte der Weg gar in den Konkurs. Das heißt zwischen Qualität und Unternehmenserfolg liegt ein kausaler Zusammenhang. Unternehmen mit schwacher Ausprägung von Qualitäts-Strategien können zwar in Boom-Phasen bestehen, werden aber sehr wahrscheinlich in Rezessionen vom Markt verschwinden. Qualitätsorientierte Unternehmen gewinnen in Rezessionen die „freiwerdenden“ Marktanteile der liquidierten Firmen und sind in beiden Wirtschaftsphasen gleichermaßen erfolgreich.

Aktuelle Situation

Seit Mitte 2008 haben sich die Aussichten für die Software-Branche im Rahmen der globalen Wirtschaftssituation wieder verschlechtert. Viele Experten prognostizieren gar einen stärkeren wirtschaftlichen Einbruch im Vergleich zu 2001 – 2004. Haben aber Software-Unternehmen in Bezug auf das Qualitätsthema dazugelernt? Unter Einbeziehung zweier aktueller Studien möchte ich diese Frage beantworten.

Studie 3: Internationale Untersuchung zu Software Testing

Die aktuelle Studie "International Survey Software Testing" der Marktforscher Pierre Audoin Consultants (PAC) zeigt bei den meisten Unternehmen nach wie vor ein geringes Interesse für das Testen von Software und der Kontrolle der Entwicklungsarbeit. Obwohl die Bedeutung solcher Tests für die Wirtschaftlichkeit der meisten Firmen außer Frage steht, mangelt es bei rund 65 Prozent der über 1.000 befragten Fachspezialisten sogar an Wissen über die eigenen Kosten für Software-Tests.

Überraschend war auch, dass mehr als ein Drittel der Managementexperten nicht weiß, wie groß der Anteil der Vollzeit-Tester an ihrem gesamten IT-Personal ist. Die PAC-Analysten vermuten, dass vor allem die Unkenntnis über die Kostenstruktur darauf zurückzuführen ist, dass 34 Prozent kein separates Budget für die Qualitätssicherung aufweisen können. Dies lässt den Schluss zu, dass Investitionen in Softwaretests auch weiterhin einen Unterschied darstellen und Wettbewerbsvorteile ermöglichen.

Aktuelle Markttreiber des Software-Testens sind laut der Erhebung unter anderem ausgelieferte IT-Systeme, die beim Kunden noch Fehler aufweisen. Somit gaben 51 Prozent der Befragten an, dass ihre in Betrieb genommene Software immer (vier Prozent), oft (zehn Prozent) oder manchmal (39 Prozent) Qualitätsprobleme aufweist. Nur 20 Prozent der Umfrageteilnehmer haben bisher noch nie solche Negativerfahrungen gemacht.

Studie 4: Qualitätssicherung von Software und Softwaredefekte

Auch die International Data Corporation (IDC) nahm sich 2008 wieder dem spannenden Qualitätsthema in Bezug auf die Wechselwirkung Maßnahmen zur Sicherung der Softwarequalität versus durch Softwaredefekte auftretenden internen und externen Kosten an. Den Teilnehmern der IDC-Umfrage zufolge kostet die Fehlerbeseitigung die Unternehmen je nach Größe bis zu etwa 14 Millionen Euro (22 Millionen Dollar) pro Jahr. Demnach wird der Quellcode von Software gegenwärtig immer komplexer, insbesondere durch die Entwicklung von Multicore-Anwendungen (in 71 Prozent der Unternehmen). Laut 63 Prozent der Befragten soll sich dieser Trend im kommenden Jahr weiterhin verschärfen.

72 Prozent der Befragten sind der Ansicht, dass das Debugging angesichts der Folgen dieser Entwicklung auch weiterhin problematisch bleibt. Dennoch zeigen sich 62 Prozent optimistisch hinsichtlich ihrer internen Fehlerbehebungsprozesse und Testansatz ("keine Verbesserung erforderlich" beziehungsweise trotz Problemen keine Veränderung im Ansatz möglich). Die IDC-Umfrage sieht die Probleme mit der Softwarequalität in mehreren Faktoren begründet:

  • wachsende Komplexität von Code,
  • auf verschiedene Standorte aufgeteilte Teammitglieder,
  • Outsourcing,
  • veralteter Code,
  • Rückgriff auf Open-Source-Code und
  • das vermehrte Aufkommen von Multi-Thread-Anwendungen.

Untermauert wird das Ergebnis von der Tatsache, dass über 50 Prozent der befragen Unternehmen bereits in den ersten 12 Monaten nach Freigabe einer Software bis zu zehn kritische Defekte finden, für die Patches erforderlich sind. Laut Studie beträgt die Zeit zum Beheben der so genannten "field defects" lediglich bei 16 Prozent einen Tag oder kürzer, bei 66 Prozent zwei bis zehn Tage und bei 11 Prozent sogar von 11 bis 30 Tage. Insgesamt schätzten die Befragten, dass die Beseitigung aller Defekte bereits vor dem Einsatz der Software eine Kosteneinsparung von 32 Prozent erzielen würde.

Fazit: Es gibt noch viel zu tun

Die IT-Produktion und Softwareentwicklung ist zunehmend von industrialisierten Prozessen begleitet. Hier sehe ich ähnliche Prozessstrukturen, wie sie bereits seit einiger Zeit in der Automobil-Industrie zwischen den etablierten Herstellern und der Zulieferindustrie üblich sind. In der IT-Branche nennt sich das Outsourcing, ist eine Vorstufe hierzu und letztlich nichts anderes. Dies führt dazu, dass die Spezialisierung in allen IT-Feldern weiter vorangetrieben wird. Insbesondere für Mitarbeiter in der Qualitätssicherung trifft dies zu, da hier zudem ein Nachholbedarf im Vergleich zu anderen IT-Bereichen besteht. Analog zum Automobil-Hersteller wird auch zum Beispiel der Software-Hersteller nur noch einen Teil seiner Produkte und der dazu notwendigen Leistungen selbst erbringen. Dieser Umbruch wird nachhaltige Auswirkungen auf die strategische Unternehmensausrichtung zur Folge haben.

Die Studien lassen auch erkennen, dass in den letzten Jahren Qualitätssicherungsprozesse in den Unternehmen aufgebaut wurden. Die Branche hat erkannt, dass Testen keine Option ist, welche bei Bedarf aus Kostengründen zu streichen ist. Jedoch besteht auch die Gefahr der Verharmlosung und Unterschätzung:

So zeigt zum Beispiel die IDC-Studie aus dem Jahr 2008, dass die überwiegende Mehrheit der Befragten die Fehlerbehebungsprozesse und den verwendeten Testansatz als optimal ansehen, dennoch gibt es eine beträchtliche Anzahl von „field defects“ in der Produktion. Diese repräsentieren immerhin ein Kosteneinsparungspotenzial von über 30 Prozent zu den Gesamtentwicklungskosten.

Diese gegensätzliche übermäßig optimistische Einstellung hinsichtlich Anzahl, Konsequenzen und Ansatz der internen Prozesse zum Identifizieren und Reparieren von Codedefekten mag in mangelhafter Aufklärung begründet sein. Während sich die Unternehmen steigende Komplexität und Arbeitsaufwände zum Beheben von Softwarefehlern eingestehen, werden gegenwärtige und laufende Aufwendungen für Reparatur und die Auswirkungen auf das Geschäft und Image unterschätzt.

Auch in Zukunft entscheiden Software und dessen Qualität über den wirtschaftlichen Erfolg eines Unternehmens. Firmen mit guten eingeführten Prozessen und Strukturen zur Sicherung der Softwarequalität werden ihre Marktposition behaupten und erfolgreich ausbauen können. Hierzu verspricht das automatische Analysieren und Testen von Code einen wichtigen Beitrag zu leisten, um Software erfolgreicher und besser gesteuert zu implementieren.

Ausblick: Die Branche muss den Veränderungsprozess weiter vorantreiben

Die Studien und meine Erläuterungen zeigen eine Veränderung in der Grundhaltung zu Qualitätssicherung an. Software-Unternehmen akzeptieren, dass es für qualitätssichernde Maßnahmen auch ein Budget benötigt. Im Vergleich mit dem Jahr 2000 ist das durchaus eine positive Entwicklung.

Dennoch werden die tatsächlichen Aufwände in dieser Disziplin falsch – das heißt zu niedrig – eingeschätzt. Bei der konsequenten Einführung von Qualitätsprozessen zeigt sich aber oft, dass – ausgehend von der Qualitätssicherung – auch die vorgelagerten Entwicklungs-, Konzeptions- und Anforderungsphasen innerhalb eines Projektes weiterentwickelt werden müssen: So gaben zum Beispiel mehr als 55 Prozent der befragten IT-Manager in den Studien an, dass das Management ihnen beim Test einer Anwendung nicht mitteilt, welche Teile für das Unternehmen geschäftskritisch sind oder wie die konkreten Anforderungen der Fachabteilung aussehen. So wird es natürlich für Entwicklungs- wie auch Test-Abteilungen schwer, die tatsächlich gewünschte Lösung zu entwickeln beziehungsweise die korrekten Qualitätsaussagen zu liefern. So befassen sich Qualitäts-Experten aktuell mit Fragen wie zum Beispiel:

  1. Wie sehen optimale Anforderungs- und Design-Dokumente aus, damit diese umfassend auch die Qualitätsfragen zum Beispiel in Bezug auf das Testen (Testplan, Teststrategie und Testfallableitung) beantworten können?
  2. Wie könnte ein genormter Testprozess aussehen? Welche Standards lassen sich hier bestimmen?
  3. Welche allgemeinen Qualitätskriterien lassen sich für Software – ungeachtet des vorgesehenen Einsatzgebietes – entwickeln? Lassen sich unterschiedliche Softwareprodukte auf dieser Basis miteinander vergleichen?
  4. Welche Kriterien innerhalb der Softwareindustrie sind entscheidend für die Etablierung industrieller Entwicklungs- und Testprozesse? Wie lassen sich diese Kriterien erfolgreich umsetzen?

Die zuvor dargestellten Fragen bilden kritische Faktoren im Rahmen der Weiterentwicklung des Qualitätsgedankens innerhalb der Branche. So wird auf den verschiedensten Ebenen nach entsprechenden Antworten gesucht. Ich möchte hier abschließend zwei Beispiele nennen:

Die ISO erarbeitet aktuell eine Standardisierung für das Thema Test-Management (ISO 29119). Sie wird aus vier Teilen bestehen und auch Themen aus älteren Standardisierungen - wie der ISO 829 - enthalten. Die offizielle Planung sieht vor, den Standard 2011 verfügbar zu haben.

Auch die deutsche Softwareindustrie sieht im Bereich Qualitätsmanagement für sich Verbesserungspotenziale und beschäftigt sich mit dem Thema Softwarequalität. Sie will dem transzendenten Ansatz ein Ende bereiten, nach dem Qualität eine immanente Güte ist - erkennbar, aber nicht definierbar.

Ich persönlich sehe solche Maßnahmen als Voraussetzung an, um der Softwareindustrie neue Impulse zu geben. Die Branche benötigt neue Potenziale in Bezug auf die Effizienz-Steigerungen von Software-Entwicklungen. Die nervösen Kursbewegungen der Aktien ausnahmslos aller Software-Hersteller an den Börsen mag man in der Ursache globaler Finanzprobleme sehen. Sie zeigen jedoch auch an, dass der Markt aktuell dieser Branche keine überdurchschnittlichen Leistungen zutraut. Mit anderen Worten: Der Markt erwartet die Umsetzung neuer Ideen; er möchte neue Lösungen und Visionen sehen. Jedoch wird dabei – anders als zu Zeiten des „Internet-Booms“ – eine gewisse „Bodenhaftung“ und Professionalität gefordert.

Gerade Qualitätsthemen würden der Branche wieder zu dem Image verleihen innovativ zu sein, jedoch ohne dabei die Seriosität aus dem Auge zu verlieren. Die Aktienkurse der Branche dokumentieren, dass der Markt schon seit dem Jahr 2000 auf diese Signale wartet. Die Frage ist, wann wird die Software-Industrie die notwendigen Antworten geben?

[Bild: Gokce Goksel Buyukersen - Fotolia.com]

Dazu im Management-Handbuch

Ähnliche Artikel

Excel-Tipps