Qualitätssicherung in der Softwareentwicklung Unnötiger Luxus in Zeiten knapper Budgets?
Vortragsreihe "Expertenwissen kompakt" Arbeitskreis Forum Hessen‐IT Vortrag von Andreas Fritz, SoftwAIR GmbH 15. April 2010
Zur Person Andreas Fritz Jahrgang 1971 seit 1992 tätig in der Softwareentwicklung
Inhaber und Geschäftsführer der SoftwAIR GmbH Sitz: Trebur (bei Rüsselsheim)
Schwerpunkte Prozessoptimierung durch IT‐Lösungen Entwicklung von Individualsoftware Datenbank‐ und Web‐Applikationen
Arbeitskreis Forum Hessen‐IT
. t i e Z e r h I ist t f ä h c im s e e b G n r e e n s h n I " . n "U t e i f e l e Z r h e r i s e i W d n e Spar
Gründungsmitglied Leiter der Arbeitsgruppe Marketing Mitglied der Expertengruppe Software Expertenwissen kompakt – 15. April 2010
Qualitätssicherung in der Softwareentwicklung – Unnötiger Luxus in Zeiten knapper Budgets?
Folie 2
Unnötiger Luxus? Das Platzen der Dotcom‐Blase führte in den „schlechten“ Softwarejahren 2001‐2004 zu massiven Kürzungen der Budgets. Weit oben auf der Streichliste standen dabei Test‐Aufwendungen. t Projektziele wurden gehalten t Qualitätsverluste wurden in Kauf genommen Neuer Spar„grund“: Die Wirtschaftskrise und ihre Folgen t Wieder knappe Budgets t Wieder sparen bei der Sicherstellung von Qualität Prima! Was einmal geklappt hat, klappt auch ein zweites Mal. t Wir sind durch für heute! Expertenwissen kompakt – 15. April 2010
Qualitätssicherung in der Softwareentwicklung – Unnötiger Luxus in Zeiten knapper Budgets?
Folie 3
Vielen Dank für Ihre Aufmerksamkeit
Nochmal überlegen? Die Alternative ist die Einführung und konsequente Umsetzung eines Qualitätsmanagements. Beides ist mit Kosten verbunden. Wieviel? Laut einer Studie wissen 65% von 1.030 befragten Management‐ und Fachspezialisten nicht, wie hoch ihre Software‐Test‐Kosten sind. [Quelle: „International Survey Software Testing“, Pierre Audoin Consultants (PAC), Januar 2008]
Eine Quantifizierung hängt von vielen Faktoren ab, so dass keine Pauschalaussagen getroffen werden können.
Expertenwissen kompakt – 15. April 2010
Qualitätssicherung in der Softwareentwicklung – Unnötiger Luxus in Zeiten knapper Budgets?
Folie 5
„Mein“ Prozess Modelle zur Darstellung eines typischen Softwareentwicklungs‐prozesses gibt es viele. Viele davon haben folgende Phasen gemeinsam:
Anforderungsanalyse Konzeption Implementierung Test Inbetriebnahme Nachbearbeitung
Expertenwissen kompakt – 15. April 2010
Qualitätssicherung in der Softwareentwicklung – Unnötiger Luxus in Zeiten knapper Budgets?
Folie 6
Was? Wann? Wieviel? Unterschiedliche Aufwände bei einem eher „unglücklichen“ Projekt: „Lass mal anfangen“‐Mentalität Aufgaben der Entwickler: quasi alle Testen nur am Ende ein bisschen Nach der Installation ist alles vorbei
Ein Projekt mit besserer Aufteilung: Mehr Zeit mit dem Kunden Erst denken, dann handeln Nach dem Projekt ist vor dem Projekt
Expertenwissen kompakt – 15. April 2010
Qualitätssicherung in der Softwareentwicklung – Unnötiger Luxus in Zeiten knapper Budgets?
Folie 7
Was wird getestet? Bei diesen beiden Projektverläufen liegt der Test‐Schwerpunkte auf: Funktionalität Abdeckung der (ursprünglichen) Anforderungen
Dabei kommt vollkommen zu kurz: Change Request Management Usability Systemintegration Arbeitsprozess‐ oder Medienbrüche Performance Mitarbeiterqualifikation
Expertenwissen kompakt – 15. April 2010
Qualitätssicherung in der Softwareentwicklung – Unnötiger Luxus in Zeiten knapper Budgets?
Folie 8
Update gefällig? Sprechen wir nicht über Featuretests. Das kann jeder... ...mehr oder weniger automatisch ...mehr oder weniger gründlich ...mehr oder weniger teuer
Stattdessen ein Modellupdate: Früher ansetzen Systematisch vorgehen Kontinuierlich begleiten t Qualitätsmanagement
Wagen wir stattdessen einen Blick auf die Unterlassungsfolgen. Expertenwissen kompakt – 15. April 2010
Qualitätssicherung in der Softwareentwicklung – Unnötiger Luxus in Zeiten knapper Budgets?
Folie 9
1) Kein Lasten‐/Pflichtenheft t Anforderungsbeschreibung ist unvollständig t Umsetzung wird scheitern t Fehlerfall = Nicht (ausreichend) definierte Anforderung Zeitpunkt der Fehleridentifikation
Mögliche / Notwendige Maßnahmen zur Behebung des Fehlers
Anfo. Konz. Impl. Tests Inbetr.
Nachträgliche Integration in das Konzept Neuentwicklung der betroffenen Funktionalitäten von vorne oder Workaround von vorne oder Verzicht
Weitere Folgen:
Nachb.
Enormer Zeitverzug. Unzufriedener Kunde. Unsicherheit durch nachträglich hinzugefügte Funktionalität. Gefahr von Folgefehlern. Expertenwissen kompakt – 15. April 2010
Qualitätssicherung in der Softwareentwicklung – Unnötiger Luxus in Zeiten knapper Budgets?
Folie 10
2) Nur grobes Konzept t „Wir fangen dann mal an...“ t Umsetzung wird nicht auf Anhieb gelingen. t Fehlerfall = Wichtige Dinge nicht bedacht Zeitpunkt der Fehleridentifikation
Mögliche / Notwendige Maßnahmen zur Behebung des Fehlers
Anfo. Konz. Impl. Tests Inbetr.
Sackgasse t von vorne, Neukonzeptionierung Abweichung zu Anforderung in Kauf nehmen oder von vorne Katastrophe!!!
Weitere Folgen:
Nachb.
Anfangs gesparte Zeit später wieder verloren. Unprofessioneller Eindruck beim Kunden. Die Software läuft nicht optimal. Expertenwissen kompakt – 15. April 2010
Qualitätssicherung in der Softwareentwicklung – Unnötiger Luxus in Zeiten knapper Budgets?
Folie 11
3) Usability? Brauch' ich nicht! t Fehlerfall = Keine Gestaltung und Überprüfung der Anwendung in Hinblick auf gute Bedienbarkeit Zeitpunkt der Fehleridentifikation
Mögliche / Notwendige Maßnahmen zur Behebung des Fehlers
Anfo. Konz. Impl. Tests Inbetr.
Entwickler müssen Designer werden t trotzdem keine Usability Nur Konzentration auf Funktion, keine sonstigen Änderungen Spannende Diskussionen bei Schulungen, Akzeptanzprobleme
Nachb.
Weitere Folgen: Software ist vielleicht gut, wird aber nicht angenommen. Gefühlte Zeitverschwendung. "Früher war alles besser". Schulddiskussionen Expertenwissen kompakt – 15. April 2010
Qualitätssicherung in der Softwareentwicklung – Unnötiger Luxus in Zeiten knapper Budgets?
Folie 12
4) Vorbei ist vorbei t Keine Projektnachbearbeitung t „Zeitverschwendung“, „Ändert jetzt eh nix mehr“ t Fehlerfall = Das nächste Projekt kommt bestimmt Zeitpunkt der Fehleridentifikation
Anfo. Konz. Impl. Tests Inbetr. Nachb.
Mögliche / Notwendige Maßnahmen zur Behebung des Fehlers
Same procedure as last year... same procedure as every year... ... ... ... ...
Weitere Folgen:
Wie lange können wir uns das leisten?
Expertenwissen kompakt – 15. April 2010
Qualitätssicherung in der Softwareentwicklung – Unnötiger Luxus in Zeiten knapper Budgets?
Folie 13
Auswirkungen Jeder Fehler kostet Zeit Geld Nerven Kundenvertrauen Anwendervertrauen Image
Die Idee, durch Zeit‐ und Kostenersparnis beim Qualitätsmanage‐ment eine kurze Time‐to‐market zu erzielen, geht nicht auf. Die qualitätsbewusstere Konkurrenz ist letztlich schneller am Markt. Das Projekt wird nicht in time, in scope & in budget abgeschlossen.
Expertenwissen kompakt – 15. April 2010
Qualitätssicherung in der Softwareentwicklung – Unnötiger Luxus in Zeiten knapper Budgets?
Folie 14
Was kostet ein Fehler? Betrachten wir ein Beispiel:
nach: Möller, K.-H., Ausgangsdaten für Qualitätsmetriken - Eine Fundgrube für Analysen, in: Ebert C., Dumke R. (Hrsg.), Software-Metriken in der Praxis, Springer, Berlin/Heidelberg,1996 mit freundlicher Genehmigung der imbus Rhein-Main GmbH
Expertenwissen kompakt – 15. April 2010
Qualitätssicherung in der Softwareentwicklung – Unnötiger Luxus in Zeiten knapper Budgets?
Folie 15
Qualitätskosten Kostenniveau
Qualitätskosten = Verhütungskosten + Prüfkosten + Fehlerkosten Training Planung Simulation Modellierung Beratung Qualifizierung Zertifizierung
Qualitätsniveau (% Fehlerfreiheit) Expertenwissen kompakt – 15. April 2010
Qualitätssicherung in der Softwareentwicklung – Unnötiger Luxus in Zeiten knapper Budgets?
Folie 16
Qualitätskosten Kostenniveau
Qualitätskosten = Verhütungskosten + Prüfkosten + Fehlerkosten Inspektion Training Planung Testen Simulation Audits Modellierung Überwachung Beratung Messung Qualifizierung Verifikation Zertifizierung Analyse
Qualitätsniveau (% Fehlerfreiheit) Expertenwissen kompakt – 15. April 2010
Qualitätssicherung in der Softwareentwicklung – Unnötiger Luxus in Zeiten knapper Budgets?
Folie 17
Qualitätskosten Kostenniveau
Qualitätskosten = Verhütungskosten + Prüfkosten + Fehlerkosten Rework Training Inspektion Planung Testen Service Simulation Audits Modifikation Modellierung Überwachung Rückruf Beratung Messung Korrektur Qualifizierung Verifikation Retest Zertifizierung Analyse Fehleranalyse
Qualitätsniveau (% Fehlerfreiheit) Expertenwissen kompakt – 15. April 2010
Qualitätssicherung in der Softwareentwicklung – Unnötiger Luxus in Zeiten knapper Budgets?
Folie 18
Qualitätskosten Kostenniveau
Qualitätskosten = Verhütungskosten + Prüfkosten + Fehlerkosten
Optimum
Qualitätsniveau (% Fehlerfreiheit) Expertenwissen kompakt – 15. April 2010
Qualitätssicherung in der Softwareentwicklung – Unnötiger Luxus in Zeiten knapper Budgets?
Folie 19
Qualitätskosten Kostenniveau
Qualitätskosten = Verhütungskosten + Prüfkosten + Fehlerkosten
Abweichungskosten (Nonkonformitätskosten) vermeidbare / zu vermeidende Kosten
Übereinstimmungskosten (Konformitätskosten) Qualitätsniveau (% Fehlerfreiheit) Expertenwissen kompakt – 15. April 2010
Qualitätssicherung in der Softwareentwicklung – Unnötiger Luxus in Zeiten knapper Budgets?
Folie 20
Gute Argumente Die Zahl der 65% nichtwissenden Spezialisten muss gesenkt werden. Getrennte Ermittlung der Kosten ist enorm wichtig. [z.Zt. 66% lt. PAC] Kostenbetrachtung dient als Argumentationshilfe gegenüber... ...der Unternehmensleitung ...den eigenen Mitarbeitern ...dem Kunden
Expertenwissen kompakt – 15. April 2010
Qualitätssicherung in der Softwareentwicklung – Unnötiger Luxus in Zeiten knapper Budgets?
Folie 21
Also? Qualität entsteht nicht (nur) durch nachträgliche Fehlersuche. Investieren Sie früh Zeit und Geld in ein Qualitätsmanagement. Knappe Budgets bedeuten auch knappe Zeit. Zeitaufwand muss planbarer gemacht werden. Folge: Risikominimierung Gute Vorbereitung = weniger Überraschungen Just oder zumindest more in time Dadurch auch eher im finanziellen Plan Budget optimal ausgeschöpft Überschaubare Folgekosten
Expertenwissen kompakt – 15. April 2010
Qualitätssicherung in der Softwareentwicklung – Unnötiger Luxus in Zeiten knapper Budgets?
Folie 22
Wie? Bewusste Entscheidung für ein Qualitätsmanagement „Leben“ der sich daraus ergebenden Veränderungen Vollumfängliche Anforderungsanalyse mit dem Kunden Detaillierte Konzeption der kompletten Anwendung Von Anfang an Usability‐Maximierung Frühzeitige Testplanung mit allen Projektbeteiligten Getrennte Erfassung von Qualitätsaufwänden Gewissenhafte Projektnachbearbeitung
Yipp ie!!!
Qualitätsmanagement ist kein unnötiger Luxus, sondern eine Grundvoraussetzung für erfolgreiche Projekte und eine stabile Marktposition! Expertenwissen kompakt – 15. April 2010
Qualitätssicherung in der Softwareentwicklung – Unnötiger Luxus in Zeiten knapper Budgets?
Folie 23
Es ist nie zu spät Auch wenn das Projekt schon läuft, ist die Einführung eines Qualitätsmanagements dennoch möglich. Erste Schritte: Einsetzen eines QM‐Verantwortlichen inkl. entsprechender Kompetenzen Analyse der bisher geplanten Testverfahren und ‐zeitpunkte Definition der Zielvorstellung Ansetzen regelmäßiger Reviews Dokumentation sowohl des Ist‐Zustandes als auch der weiteren Ergebnisse
Eine wichtige Voraussetzung: Mut! Rechnen Sie mit Unannehmlichkeiten, Widerstand und Druck.
Aber: Es lohnt sich!!!
Expertenwissen kompakt – 15. April 2010
Qualitätssicherung in der Softwareentwicklung – Unnötiger Luxus in Zeiten knapper Budgets?
Folie 24
Vielen Dank…
…für Ihre Aufmerksamkeit
Haben Sie noch Fragen? Tel.: 06147‐935288 Mobil: 0172‐6606044 andreas.fritz@softwair.de http://www.softwair.de Oder gerne im Anschluss…
Expertenwissen kompakt – 15. April 2010
Qualitätssicherung in der Softwareentwicklung – Unnötiger Luxus in Zeiten knapper Budgets?
Folie 25