Software Engineering Prozessqualität ISO 9000, TQM und CMM/CMMI Die Inhalte der Vorlesung wurden primär auf Basis der jeweils angegebenen Literatur erstellt. Darüber hinaus finden sich ausgewählte Beispiele zur Softwareentwicklung aus dem Bereich der Telekommunikation. 18.08.2015 Prof. Dr. Andreas Schmietendorf 1
Inhaltsübersicht Hintergründe zur Prozessqualität ISO 9000 TQM-Ansatz - Grundlagen - Qualitätszirkel - Quality Function Deployment CMM/CMMI 18.08.2015 Prof. Dr. Andreas Schmietendorf 2
Hintergründe zur Prozessqualität 18.08.2015 Prof. Dr. Andreas Schmietendorf 3
Motivation Eine dem Qualitätsmanagement zugrunde liegende Annahme lauetet, dass die Qualität des Entwicklungsprozesses direkten Einfluss auf die Qualität des gelieferten Produkts hat. Die Annahme wird aus Fertigungssystemen abgeleitet, bei denen ein enger Bezug zwischen Produktqualität und Produktionsprozess besteht. Quelle des Zitats: Sommerville, I.: Software Engineering, S. 692, Pearson Studium Addison-Wesley, München, 2007 18.08.2015 Prof. Dr. Andreas Schmietendorf 4
Prozessqualität und Prozessreife ISO 9000 (ISO 9000:2000) TQM -Total Quality Management CMM bzw. CMMI -Capability Maturity Model/ Integration SPICE Software Process Improvement and Capability Determination GQM Goal Question Metric (Spezifische Qualitätsmodelle) Unter Verwendung von: Balzert, H.: Lehrbuch der Softwaretechnik, S. 329, Spektrum Akademischer Verlag, Heidelberg Berlin, 1998 18.08.2015 Prof. Dr. Andreas Schmietendorf 5
ISO 9000 18.08.2015 Prof. Dr. Andreas Schmietendorf 6
Grundsätze des Qualitäts- Managements nach ISO 9001:2000 Kundenorientierte Organisation Führung des Qualitätsprozesses Einbeziehung der Mitarbeiter Prozessorientierte Ansätze Systemorientierter Managementansatz Ständige Verbesserung Sachlicher Ansatz zur Entscheidungsfindung Lieferantenbeziehungen zum gegenseitigen Nutzen Unter Verwendung von: Dumke, R.: Software Engineering, S. 230, Vieweg-Verlag, Wiesbaden, 2003 18.08.2015 Prof. Dr. Andreas Schmietendorf 7
ISO 9000-Normenswerk obsolete obsolete obsolete Quellen: Balzert, H.: Lehrbuch der Softwaretechnik, S. 329, Spektrum Akademischer Verlag, Heidelberg Berlin, 1998 und Qualitätsmanagementnorm: http://de.wikipedia.org 18.08.2015 Prof. Dr. Andreas Schmietendorf 8
Grundsätze des Qualitäts- Managements nach ISO 9001:2000 Zusammenlegung der Standards 9001-9003 im Jahr 2000 zu einem einzigen Standard 9001: - ISO 9000:2005 QMS Fundamentals and vocabulary Grundlagen von Qualitätsmanagementsystemen & Begriffsdefinitionen - ISO 9001:2000 QMS Requirements QS-Modelle für Entwicklung, Produktion, Montage & Kundendienst. - ISO 9004:2000 QMS Guidelines for performance improvements Verbesserung (& Einführung) von Qualitätsmanagementsystemen. Unter Verwendung von: Neukirchen, N..: Vorlesung Ausgewählte Aspekte der Softwaretechnik, Universität Göttingen Sommersemester 2007 18.08.2015 Prof. Dr. Andreas Schmietendorf 9
Komponenten nach ISO 9001:2000 Ständige Verbesserung des Qualitätsmanagements KUNDENANFORDERUNGEN Ressourcenmanagement Realisierung der Produkt- bzw. Dienstleitung Verantwortung der Leitung Messung, Analyse und Verbesserung Produkt- und Dienstleistung KUNDENZUFRIEDENHEIT Unter Verwendung von: Dumke, R.: Software Engineering, S. 230, Vieweg-Verlag, Wiesbaden, 2003 18.08.2015 Prof. Dr. Andreas Schmietendorf 10
ISO/IEC 90003:2004 Software engineering -- Guidelines for the application of ISO 9001:2000 to computer software Anpassung der ISO 9001 an die Belange der Software-Entwicklung, Software-Installation & -Wartung. Ersetzt ISO 9000-3:1997 Guidelines for the application of ISO 9001:1994 to the development, supply, installation and maintenance of computer software Unter Verwendung von: Neukirchen, N..: Vorlesung Ausgewählte Aspekte der Softwaretechnik, Universität Göttingen Sommersemester 2007 18.08.2015 Prof. Dr. Andreas Schmietendorf 11
ISO/IEC 90003:2004 Unter Verwendung von: Hohler, B.: Qualitätsmanagement bei der Software-Entwicklung http://www.iwi.uni-hannover.de/cms/images/stories/upload/lv/sosem07/softwarequalitaet/kap37.pdf 18.08.2015 Prof. Dr. Andreas Schmietendorf 12
Praktiken nach ISO/IEC 90003 Verlangt kein konkretes Vorgehensmodell, aber folgende Praktiken: Konfigurationsmanagement Lenkung von Dokumenten Qualitätsaufzeichnungen Messungen und Verbesserungen (Produkt & Process) Festlegung des Qualitätsmanagementsystems QM-Werkzeuge und Techniken Management auch für Unterbeauftragungen Schulungen in QM-relevanten Bereichen Unter Verwendung von: Neukirchen, N..: Vorlesung Ausgewählte Aspekte der Softwaretechnik, Universität Göttingen Sommersemester 2007 18.08.2015 Prof. Dr. Andreas Schmietendorf 13
Dokumente nach ISO/IEC 90003 Vertrag Auftraggeber Lieferant (z.b. Qualitätsrelevante Aspekte) Spezifikation (z.b. Anforderungen) Entwicklungsplan (z.b. Entwicklungsphasen) Qualitätsmanagementplan (z.b. messbare Qualitätsziele) Entwicklungsphasen, Testmaßnahmen. Testplan (z.b. Testfälle) Wartungsplan (z.b. Umfang der Wartung) Konfigurationsmanagementplan (z.b. einzusetzende Werkzeuge) Unter Verwendung von: Neukirchen, N..: Vorlesung Ausgewählte Aspekte der Softwaretechnik, Universität Göttingen Sommersemester 2007 18.08.2015 Prof. Dr. Andreas Schmietendorf 14
Übung 6-1 Geben Sie Beispiele aus Ihrer Erfahrung für Maßnahmen im Rahmen einer Qualitätssicherung, die einmalig bzw. periodisch durchgeführt werden müssen und Maßnahmen, die für jedes Projekt erneut durchzuführen sind. Bewerten Sie die Vor- und Nachteile einer ISO 9000 Zertifizierung für den Bereich der Softwareentwicklung. - Darstellung der ggf. vorhandenen eigenen Erfahrungen - Recherche kritischer Stimmen im Internet Welche Aktivitäten sind für die Zertifizierung nach ISO 9000 durchzuführen und welche Stellen dürfen ein entsprechendes Zertifikat ausstellen? 18.08.2015 Prof. Dr. Andreas Schmietendorf 15
Zusammenfassung I Allgemeingültige Anforderungen an Aufbau- und Ablauforganisation Definition wichtiger Dokumente und ihrer Inhalte Regelung von Zuständigkeiten, Verantwortungen, Befugnissen Orientiert am Auftraggeber-Lieferanten-Verhältnis Fordert Unabhängigkeit der Qualitätssicherung Integriert QS-System in die gesamte Organisation Quelle des abgebildeten Zertifikats: http://www.ekons.de/iso-9000-urkunde04bis07.jpg 18.08.2015 Prof. Dr. Andreas Schmietendorf 16
Zusammenfassung II Verpflichtet Geschäftsführung zur Qualität Grundlage reproduzierbarer und vergleichbarer Prozesse Zertifizierung als Innovationseinführung Zertifiziert werden betriebliche Abläufe, nicht fertige Produkte Wesentliche Forderungen an eine Organisation sind - Prüfbarkeit - Nachvollziehbarkeit - Personenunabhängigkeit Quelle des abgebildeten Zertifikats: http://www.ekons.de/iso-9000-urkunde04bis07.jpg 18.08.2015 Prof. Dr. Andreas Schmietendorf 17
TQM - Grundlagen 18.08.2015 Prof. Dr. Andreas Schmietendorf 18
TQM-Grundlagen Ein umfassendes Konzept (Total), das das gesamte Unternehmen mit allen seinen Mitarbeitern ausnahmslos in die Qualitätsverbesserung einbezieht. Qualität aus der Sicht des Kunden ist das zentrale Ziel (Quality). Geänderte Verhaltensweisen führen außerdem zu höherer Mitarbeiterzufriedenheit, zu gesteigerter Produktivität, zu reduzierten Kosten und zu kürzeren Entwicklungszeiten. Ein solches Konzept muss aktiv gestaltet, aufrecht erhalten und gelebt werden. Dies ist eine Aufgabe des Managements (Management). In Anlehnung an: Balzert, H.: Lehrbuch der Softwaretechnik, S. 339, Spektrum Akademischer Verlag, Heidelberg Berlin, 1998 (bearbeitet durch Faustmann, G.: Software Engineering, FHW Berlin, Fachbereich II) 18.08.2015 Prof. Dr. Andreas Schmietendorf 19
TQM-Prinzipien Kundenorientierung des gesamten Unternehmens Einbeziehung aller Mitarbeiter Arbeiten in Prozessen Führen mit Zielen kontinuierliche Verbesserungen mit Messgrößen (Kaizen) kontinuierliche Schulung und Weiterbildung interne und externe Kunden-Lieferantenbeziehungen Null-Fehlerprogramme regelmäßige Audits In Anlehnung an: Balzert, H.: Lehrbuch der Softwaretechnik, S. 341, Spektrum Akademischer Verlag, Heidelberg Berlin, 1998 (bearbeitet durch Faustmann, G.: Software Engineering, FHW Berlin, Fachbereich II) 18.08.2015 Prof. Dr. Andreas Schmietendorf 20
TQM-Konzepte Maßnahmen zur Realisierung: - Klar formulierte Qualitätspolitik mit nachvollziehbaren Qualitätszielen - Festlegung und Bekanntgabe der Kompetenzen, Befugnisse und Verantwortungen - Einführung eines QM-Systems - Schulung aller Mitarbeiter (Qualität und Qualitätsmanagement) Typische Konzepte des TQM, die dazu beitragen, die oben genannten Prinzipien zu erreichen, sind: - Qualitätszirkel und - Quality Function Deployment (QFD) In Anlehnung an: Balzert, H.: Lehrbuch der Softwaretechnik, S. 342, Spektrum Akademischer Verlag, Heidelberg Berlin, 1998 (bearbeitet durch Faustmann, G.: Software Engineering, FHW Berlin, Fachbereich II) 18.08.2015 Prof. Dr. Andreas Schmietendorf 21
TQM-Qualitätszirkel 18.08.2015 Prof. Dr. Andreas Schmietendorf 22
TQM- Qualitätszirkel Qualitätszirkel dienen der Erreichung der Prinzipien: Primat der Qualität, Zuständigkeit aller Mitarbeiter und ständige Verbesserung. Im Qualitätszirkel treffen sich regelmäßig (wöchentlich, ca. 1 Stunde) wenige Mitarbeiter, um Qualitätsprobleme zu bearbeiten. - Es werden Probleme identifiziert und ausgewählt, - Probleme bearbeitet und Lösungen gesucht, - Ergebnisse gegenüber der Leitung präsentiert, - Lösungen eingeführt und der Erfolg kontrolliert. Methoden zur Problemerkennung, -analyse und -lösung: - Brainstorming - Pareto-Analyse - Ursache-Wirkungs-Diagramme (Fishbone-Chart, Ishikawa-Diagramm) In Anlehnung an: Balzert, H.: Lehrbuch der Softwaretechnik, S. 342, Spektrum Akademischer Verlag, Heidelberg Berlin, 1998 (bearbeitet durch Faustmann, G.: Software Engineering, FHW Berlin, Fachbereich II) 18.08.2015 Prof. Dr. Andreas Schmietendorf 23
Pareto-Analyse I AufwandErtrag Pareto-Prinzip: 80 Prozent der Probleme können mit 20 Prozent des Aufwands gelöst werden. oder in Bezug auf die Qualitätssicherung: 20 % 80 % 20 % der Fehlerursachen erzeugen 80 % der Fehler und der Kosten 80 % der Fehler sind mit 20 % des Gesamtaufwands behebbar Bespiele: 75 % des Welthandels finden unter 25 % der Menschen statt 20 % der Familien besitzen ca. 80 % des Vermögens In Anlehnung an: Balzert, H.: Lehrbuch der Softwaretechnik, S. 342, Spektrum Akademischer Verlag, Heidelberg Berlin, 1998 18.08.2015 Prof. Dr. Andreas Schmietendorf 24
Pareto-Analyse II AufwandErtrag Methode zur Durchführung einer Pareto-Analyse: Vorraussetzung Daten gehören zur selben Klasse Schritte: - Auswahl des Parameters, der als Sortierkriterium genutzt wird - Zählen der Anzahl der Elemente in jeder Kategorie - Berechnen der Prozentwerte, die jede Kategorie bezogen auf die Gesamtanzahl repräsentiert - Absteigende Sortierung der Kategorien nach prozent. Auftreten - Darstellung der sortierten Daten als Histogramm Interpretation der Ergebnisse Prioritätenbildung In Anlehnung an: Balzert, H.: Lehrbuch der Softwaretechnik, S. 346, Spektrum Akademischer Verlag, Heidelberg Berlin, 1998 20 % 80 % 18.08.2015 Prof. Dr. Andreas Schmietendorf 25
Pareto-Analyse III Quelle: Call-a-Consultant, http://www.call-a-consultant.de/downloads/pareto.xls 18.08.2015 Prof. Dr. Andreas Schmietendorf 26
Übung 6-2 Quelle: Faustmann, G.: Software Engineering, FHW Berlin, Fachbereich II 18.08.2015 Prof. Dr. Andreas Schmietendorf 27
Ursache-Wirkungsdiagramm Diagrammdarstellung von Ursache-Wirkungs-Zusammenhängen: Zu einem Problem werden die Hauptursachen identifiziert, die weiter in Nebenursachen usw. verfeinert werden. 1. Problem definieren und am Kopf auftragen. 2. Hauptursachen an den Seitengräten aufführen, unter Orientierung an: (6 M: Mensch, Maschine, Methode, Material, Milieu, Messung) 3. Nebenursachen an die Verzweigungen der Seitengräten antragen (6 W: Was, Warum, Wie, Wer, Wann, Wo) In Anlehnung an: Balzert, H.: Lehrbuch der Softwaretechnik, S. 346, Spektrum Akademischer Verlag, Heidelberg Berlin, 1998 18.08.2015 Prof. Dr. Andreas Schmietendorf 28
Ursache-Wirkungsdiagramm In Anlehnung an: Balzert, H.: Lehrbuch der Softwaretechnik, S. 346, Spektrum Akademischer Verlag, Heidelberg Berlin, 1998 (bearbeitet durch Faustmann, G.: Software Engineering, FHW Berlin, Fachbereich II) 18.08.2015 Prof. Dr. Andreas Schmietendorf 29
Capability Maturity Model - CMM 18.08.2015 Prof. Dr. Andreas Schmietendorf 30
Historie zur CMM-Entwicklung Fragebogen zur Leistungsbewertung von SW-Lieferanten 1987 entwickelt von dem Software Engineering Institute (SEI) der Carnegie Mellon University - im Auftrag des amerikanischen Verteidigungsministeriums - 1991 erstes Referenzmodell (CMM 1.0) - 1993 Überarbeitung (CMM 1.1) Abgelöst durch das CMMI im Jahr 2005-2002 Freigabe des CMMI Version 1.1 (inkl. CMM bei Verkauf von SW) - 2005 Keine offiziellen CMM-Assessments mehr - August 2006 Version 1.2 des CMMI Unter Verwendung von: Faustmann, G.: Vorlesung Software Engineering, FHW Berlin Fachbereich II 18.08.2015 Prof. Dr. Andreas Schmietendorf 31
Qualitätsstufen im CMM Steigende Produktivität und Qualität Sinkendes Risiko Unter Verwendung von: Balzert, H.: Lehrbuch der Softwaretechnik, S. 363, Spektrum Akademischer Verlag, Heidelberg Berlin, 1998 18.08.2015 Prof. Dr. Andreas Schmietendorf 32
Reifegrade im CMM Unter Verwendung von: Balzert, H.: Lehrbuch der Softwaretechnik, S. 364, Spektrum Akademischer Verlag, Heidelberg Berlin, 1998 18.08.2015 Prof. Dr. Andreas Schmietendorf 33
Durchführung von Prozessverbesserungen Unter Verwendung von: Balzert, H.: Lehrbuch der Softwaretechnik, S. 363, Spektrum Akademischer Verlag, Heidelberg Berlin, 1998 (bearbeitet durch: Faustmann, G.: Vorlesung Software Engineering, FHW Berlin Fachbereich II) 18.08.2015 Prof. Dr. Andreas Schmietendorf 34
CMM vs. ISO 9001 Unter Verwendung von: Balzert, H.: Lehrbuch der Softwaretechnik, S. 375, Spektrum Akademischer Verlag, Heidelberg Berlin, 1998 (bearbeitet durch: Faustmann, G.: Vorlesung Software Engineering, FHW Berlin Fachbereich II) 18.08.2015 Prof. Dr. Andreas Schmietendorf 35
Beispiel eines CMM-Zertifikats Quelle: http://www.estylesoft.com/pictures/cmm_level3.ccc6e28b8902407d8b1aa608d92ef004.gif abgerufen im September 2008 18.08.2015 Prof. Dr. Andreas Schmietendorf 36
Capability Maturity Model Integration CMMI 18.08.2015 Prof. Dr. Andreas Schmietendorf 37
Übersicht zum CMMI Ziel: Ablösung des CMM und vielfältiger Derivate 4 Kategorien mit insgesamt 24 Prozessbereichen - Prozessmanagement - Projektmanagement - Entwicklung - Unterstützung Prozessbereiche werden mit Hilfe von 6 Stufen - nicht durchgeführt, durchgeführt, verwaltet, definiert, Quantitativ verwaltet, Optimierung Fortlaufende bzw. kontinuierliche Reifegradentwicklung Quelle: Sommerville, I.: Software Engineering, S. 733, Pearson Studium Addison-Wesley, München, 2007 18.08.2015 Prof. Dr. Andreas Schmietendorf 38
Berücksichtigung spezieller Sichten System Engineering CMM (SE-CMM) Software Acquisition Capability Maturity Model (SA-CMM) Integrated Product Development Team Model (IDP-CMM) System Engineering Capability AssessmentModel (SECAM) Systems Engineering Capability Model (SECM) 18.08.2015 Prof. Dr. Andreas Schmietendorf 39
Prozessbereiche CMMI (Prozessmanagement, Projektmanagement, Entwicklung, Unterstützung) Prozessmanagement mit betriebsspezifischen Bezug auf Prozessdefinition, Prozessschwerpunkte, Schulung, Prozessleistung, Innovation und Einführung. Projektmanagement mit Bezug auf Projektplanung, Projektüberwachung, Unterauftragnehmerverwaltung, Risikomanagement bzw. integrierten und quantitativen Projektmanagement. Quelle: Sommerville, I.: Software Engineering, S. 729, Pearson Studium Addison-Wesley, München, 2007 18.08.2015 Prof. Dr. Andreas Schmietendorf 40
Prozessbereiche CMMI (Prozessmanagement, Projektmanagement, Entwicklung, Unterstützung) Entwicklung mit Bezug auf Anforderungsmanagement, Entwicklung von Anforderungen, Technische Lösung, Produktintegration, Verifikation und Validierung Unterstützung -mit Bezug auf Konfigurationmanagement, Prozessund Produktqualitätsmanagement, Messung und Analyse, Entscheidungsanalyse und lösung sowie Ursachenanalyse Quelle: Sommerville, I.: Software Engineering, S. 729, Pearson Studium Addison-Wesley, München, 2007 18.08.2015 Prof. Dr. Andreas Schmietendorf 41
Beispiele von CMMI-Bewertungen Detaillierung der Prozessbewertung Quelle: Software Engineering Institute, Carnegie Mellon Univerity, http://sas.sei.cmu.edu/pars/pars.aspx abgerufen im September 2008 18.08.2015 Prof. Dr. Andreas Schmietendorf 42
Übung 7-1 (Teil A) Ihr Unternehmen befindet sich auf der Stufe 2 des CMM. Wie bezeichnen Sie Ihren Prozess? Werden Projektpläne aufgestellt? Wie handhaben Sie Ihr Unterauftragsmanagement? Ihr Unternehmen möchte die Stufe 3 des CMM erreichen. Welchen Typ von Prozess müssen Sie einführen? Welches Verfahren setzen Sie zu Fehlerbehebung ein? Wie trainieren Sie Mitarbeiter? Wer ist für die Verbesserung des SW-Prozesses verantwortlich? 18.08.2015 Prof. Dr. Andreas Schmietendorf 43
Übung 7-1 (Teil B) Bei der Überprüfung möglicher Zulieferer stoßen Sie auf einen Zulieferer, dessen Prozess Sie nicht identifizieren können. Auf welcher Reifegradstufe des CMM würden Sie diesen Zulieferer einordnen? Wie benennen Sie seinen Prozess? Dürfen Sie ihn als Zulieferer verwenden, wenn die Produkte in Ihrem eigenen Prozess der Reifegradstufe 3 des CMM verwendet werden sollen? Weiterführende Informationen und Testmöglichkeiten: - http://ivs.cs.uni-magdeburg.de/sw-eng/us/java/cmm - http://donner.cs.uni-magdeburg.de:8080/elearning/ - http://www.sei.cmu.edu/cmmi/index.html 18.08.2015 Prof. Dr. Andreas Schmietendorf 44