Rolle der Qualität im SW-Entwicklungsprozess
- Qualität ist Verkaufsargument
- die Kosten für die Fehlerbeseitigung sind deutlich höher, als Tests zu schreiben
- "nur zufriedener Kunde bleibt auch ein Kunde" (Bestandskunden wichtiger) --> Kundenbindung
Was ist Qualität?
(optional)
Gesamtheit von:
- Eigenschaften
- Merkmalen eines Produktes
- Tätigkeit, die sich auf deren Eignung zur Erfüllung gegebener
Erfordernisse bezieht
Qualitätsmerkmale
- Teilmerkmale (Kriterien)
- Elementarmerkmale
- Indikatoren (Metriken)
Beispiele:
- Funktionalität
* Richtigkeit
* Angemessenheit
* Sicherheit
- Zuverlässigkeit
* Reife
* Wiederherstellbarkeit
- Benutzbarkeit
* Verständlichkeit
* Erlernbarkeit
* Bedienbarkeit
Qualitäts-Arten
(optional)
- Produktqualität
- Prozessqualität (des Entwicklungsprozesses)
- Personenqualität (der Beteiligten)
konstruktive Qualitätssicherungsverfahren
Es gibt konstruktive (diese) und analytische QS-Verfahren.
Konstrukives QSV vesteht aus:
- Technischen Maßnahmen
- Organisatorischen Maßnahmen
Beispiele:
- Technische Maßnahmen:
* Methoden, Prozesse (z.B. Einführung Schätzmethode, Persönlichkeitsbildung)
* Sprachen (z.B. Modell-getriebene Entwicklung, Programmiersprache mit Typen)
* Werkzeuge (z.B. Metrikwerkzeuge für Architektur & Code)
- Organisatorische Maßnahmen:
* Richtlinien (Beispiel: Standard für Dokumentation, Muster für Pflichtenheft)
* Standards
* Checklisten
* Zertifizierung (z.B. der Entwicklungsprozesse durch externe Organisation)
Zertifizierung
= Verfahren
- Ziel: Einhaltung bestimmter
Anforderungen nachweisen
Zertifizierungen:
- auf Produkte
* wichtig für sicherheitskritische Software (Auto, Flugzeuge, Cyber-physikalische Systeme)
* Überprüfung mit Checklisten, Verifikation und Validation
- auf Personen
Beispiele:
- ISTQB (für Tests)
- iSAQB (für Architektur)
Analytische Qualitätssicherungsverfahren
- Ziel: Analyse von Produkten und Prozessen, Verbesserungen vorschlagen
- es gibt:
* Analytische Verfahren
* Werkzeug- oder Prozess-gestützt
* Beispiel: Statische Code Analyse, Review, Audit, Inspektion
* Testende Verfahren
* Werkzeug- oder Prozess-gestützt
* Beispiele: Dynamischer Test, Simulation, Schreibtisch-Test
Reviews
= manuelle Prüfung mit festgelegtem Ablauf
- Ziel: Zustand wird von Gutachtern kommentiert oder genehmigt
- fokussieren sich auf Produktqualität
Phasen:
- 1. Besprechung mit Beteiligten
- 2. Individuelle Vorbereitung
- 3. Review: Präsentation, Fragen
- 4. Nachbereitung: Analyse der Auswertung
- 5. Bewertung
Arten:
- Inspektion (white-box review)
- Tools
- Round-Robin-Review
- Peer Review
Audits
= systematische und unabhängige Untersuchung
- Ziel: Übereinstimmung mit Spezifikationen, Standards, vertraglichen Vereinbarungen oder
anderer Kriterien, als auch deren Wirksamkeit und Sinnhaftigkeit überprüfen
- Arten:
* Audit der Produktqualität
* Audit der Prozessqualität
* Audit des QS-Systems
- Ablauf:
* 1. Vorbereitung
* fordern Untersuchungs- oder Prüfdokumente an (z.B. Projektplan, Vorgehensmodell usw.)
* 2. Durchführung
* durch Interviews in Firma und Dokumentensichtung
* 3. Abschluss
* vorläufiges Feedback
* 4. Ergebnisse
* Dikumentation in ausführlichem Audit-Bericht
Regelkreis des QM
PDCA:
- Qualitätsplanung
* IST Zustand ermitteln
* Ziele und Rahmenbedingungen festlegen
* Konzepte & Abläufe erarbeiten
- Qualitätslenkung
* Umsetzung
- Qualitatsprüfung
* Auswerten qualitativer und quantitativer Qualitätsinformationen, z.B. Tickets, Feature request,
Kosten-Nutzen-Betrachtungen (Wirtschaftlichkeitsbetrachtungen), Releaseplanung
- Qualitätsverbesserung
* Maßnahmen zur Steigerung der Produktqualität und Prozessoptimierung
* Erfolge & Ergebnisse kommunizieren
* Fehlerkorrektur