Qualitätssicherung von Software (SWQS)

Slides:



Advertisements
Ähnliche Präsentationen
Developing your Business to Success We are looking for business partners. Enterprise Content Management with OS|ECM Version 6.
Advertisements

Risiko-Management im Projekt
People Capability Maturity Model
Qualitätssicherung von Software (SWQS)
V-Modell XT - Ein Überblick
Praxisvortrag Projektüberwachung und -steuerung
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Erschließen von semantischen Referenzen mit Ontology-Reasoning-Werkzeugen Das Ziel dieser Masterarbeit war die Erweiterung des ORBI Systems um ein Inferenz-System.
Prof. Dr. Holger Schlingloff
Qualitätssicherung von Software
Management großer Softwareprojekte
Universität Stuttgart Institut für Kernenergetik und Energiesysteme I nstitut für K ernenergetik und E nergiesysteme Rational Unified Process (RUP) - Definitionen.
LE LM 8 - LO 3 Prozessnormen und Normen zu QM-Systemen
Das Capability Maturity Modell (CMM)
Universität Stuttgart Institut für Kernenergetik und Energiesysteme MuSofT LE Capability Maturity Model Tailoring Tailoring bedeutet ungefähr: Maßschneidern.
Prozessqualität: Ansätze und Ziele
Prozessqualität: Ansätze und Ziele
Was ist und wie prüft man Qualität
Prozessqualität und Produktqualität
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Einzeltests im Rahmen des V-Modelles Aufgaben Überprüfung des Programmcodes mit Hilfe.
Schulung der Mitarbeiter
Was ist Qualität ? Qualität von Produkten oder Dienstleistungen ist das Gesamtergebnis aller Aktivitäten in jeder Phase des gesamten Leistungsprozesses.
ISO - Normen Inhalt Qualität im SE Der ISO 9000-Ansatz
Das Capability Maturity Modell (CMM)
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Agile Software Entwicklung mit dem RUP Agile Softwareentwicklung Best Practice bei.
RUP-Elemente (Schlüsselkonzepte)
Zertifizierung von Software: CMM oder ISO 9000
Capability Maturity Model
Qualität von Software Qualität ist nicht messbar, sondern nur über die Erfüllung von Anforderungen zu definieren Die Erfüllung von Anforderungen ist oft.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme MuSofT LE 3.1-4V - Modell Überblick V-Modell Regelungen, die die Gesamtheit aller Aktivitäten,
Fortgeschrittenen-Praktikum: Entwicklung und Implementierung eines webbasierten Fußball-Tippspiels mit.
Rational Unified Process (RUP) - Definitionen
– Team 2 Aktueller Projektleiter: Christian Krapp
eXtreme Programming (XP)
Professionelles Projektmanagement in der Praxis
Grundlagen und Konzepte zur Umsetzung
Vorlesung Gestaltung von soziotechnischen Informationssystemen - RequirementsEngineering und Contextual Design- Thomas Herrmann, Lehrstuhl Informations-
INSTITUT FÜR DATENTECHNIK UND KOMMUNIKATIONS- NETZE 1 Harald Schrom ViEWcon08.
Das Wasserfallmodell - Überblick
Synergieeffekte durch softwaregestützte Prozessmodelle
Master Slides Steigerung der Prozess- und Produktqualität durch den Einsatz von Microsoft Visual Studio Team System und SPiCE ISO/IEC Application.
IT-Projektmanagement SS 2013 Prof. Dr. Herrad Schmidt
1 Hugo Straumann, CT-SSM 17. Juni 2002 Security Risk Radar Hugo Straumann Methode Pilot Positionierung.
Definitionen der SWT (1)
Qualitäts-Controlling
Seminar: Entwicklung verteilter eingebetteter Systeme WS05/06 Betreuer: Info:
Six Sigma Nina Welsch Oktober 2013 ©2007 IndiTango AG | |
Engineering tools for the NEO engineer
Spice Info-Point 2008 Urs Frei.
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
Das IT - Informationssystem
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Untersuchungen zur Erstellung eines
xRM1 Pilot Implementierung
Application Lifecycle Management Day 25. August 2008 Erfolgreiche Software- Entwicklung in Offshore-Projekten mit Microsoft Team Foundation Server Thomas.
Vorgehen Business Analyse
Unified Process Historisch-Kulturwissenschaftliche Informationsverarbeitung Übung: Planung von Softwareprojekten Dozent: Christoph Stollwerk WS 2014/2015.
AP3 – Informationsmodell ByMedConnect Archetypen Hans Demski Helmholtz Zentrum München Arbeitsgruppe MEDIS Institut für Medizinsche und Biologische Bildgebung.
Das IT - Informationssystem
Vorgehen Business Analyse
Software Product Line Adoption
Präsentation FAKULTÄT FÜR WIRTSCHAFTSWISSENSCHAFTEN Ulf Kersten Hannover, Formale Methoden Software-Qualität und Projektmanagement.
Ferienakademie Tutzing 2009 Forum Six Sigma Sandra Beecken Design for Six Sigma.
Technologietag Baugruppentest Wege der Standardisierung im Funktions- und EOL-Test Markus Koetterl National Instruments Germany GmbH.
Systems Requirements & Achitectur ENG 2 & ENG 3 Training Kunde,
Software Configuration Manager (f/m)
Informationswirtschaft Wirtschaftsinformatik (Bachelor, 6. Semester)
IT QM Part2 Lecture 7 PSE GSC
 Präsentation transkript:

Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 4.7.2013: Fazit

CMMI: Prozess-Reifegrade Stufe 5: Optimierend Ständige Entwicklung Stufe 4: Beherrscht Änderungs- kontrolle Änderungs- management Stufe 3: Definiert Gemeinsame Prozesse Quantitäts- management Stabile Umgebung Stufe 2: Wiederholbar Prozess- management Stufe 1: Initial Projekt- management

Stufe 1: Initial Merkmal: Keine stabile Umgebung, ad-hoc Durchführung Fokus: gute Mitarbeiter Unvorhersagbares Ergebnis: bei erneuter Durchführung des Projektes würde alles ganz anders laufen Brandbekämpfung statt Planung Planabweichung in Krisensituationen Gelingen des Projektes nur durch äußersten Einsatz aller Beteiligter, hängt an Einzelpersonen Risikobehaftet, unplanbar und ineffizient

Transparenz des Entwicklungsprozesses in Stufe 1 In Stufe 1 ist der Prozessablauf von außen nicht einsichtig. Die Ergebnisse sind sporadisch und nicht wiederholbar. Grafik: CMU SEI

Stufe 2: Wiederholbar (repeatable) Merkmal: Selbe Anforderungen ergeben selbe Resultate Fokus: Projektmanagement Richtlinien für SPM existieren und werden umgesetzt Überwachung von Zeit, Kosten, Produktqualität Basierend auf früheren Projekten Softwarestandards, Konfigurationsmanagement Stabiler Prozess

Transparenz des Entwicklungsprozesses in Stufe 2 In Level 2 werden Kundenanforderungen und Arbeitsprodukte kontrolliert und es bestehen grundlegende Managementtechniken. Einsichtnahme und Reaktion auf Abweichung durch das Management oder den Kunden zu bestimmten Zeitpunkten innerhalb des Projekts möglich (Meilensteine) Abläufe zwischen den Meilensteinen werden nicht betrachtet. Grafik: CMU SEI

Key Process Areas in Stufe 2 Anforderungsmanagement: Erfassen und Verwalten der Anforderungen an das System, Reaktion auf Anforderungsänderungen Projektplanung: Aufwandsabschätzung, Zeit-, Budget- und Ressourcenplanung, Risikoanalyse Projektüberwachung: Berichtswesen, Soll-/Ist-Vergleiche, Fortschrittskontrolle, Korrekturmaßnahmen Subkontraktmanagement: Auswahl von Partnern, Vergabe von Aufgaben an Partner. Planung, Durchführung, Kontrolle und Berichtswesen wird von den Partnern durchgeführt Qualitätssicherung: Erstellen von Qualitätssicherungsplänen, Prüfung von Prozess- und Produktqualität, Berichte an das Management Konfigurationsmanagement: Planung und Durchführung der Verwaltung aller Produkte im Entwicklungsprozess

Stufe 3: Definiert (defined) Merkmal: Wohldokumentierte Prozesse Fokus: Organisationsunterstützung Stabile und wiederholbare SE- und SPM-Prozesse Abnahmekriterien, Standards, QS-Maßnahmen definiert und dokumentiert Möglichkeit der Anpassung von Standards Rolle des Softwareprozess-Verantwortlichen Weiterbildungsmaßnahmen eingeplant Regelmäßige Expertenbegutachtung

Transparenz des Entwicklungsprozesses in Stufe 3 Im Gegensatz zu den Prozessen in Stufe 2 sind jetzt auch die Teilaktivitäten zwischen den Meilensteinen vom Management und anderen Gruppen aus sichtbar. Es herrscht Einverständnis über die Rollen und Verantwortlichkeiten der am Prozess Beteiligten. Grafik: CMU SEI

Key Process Areas in Stufe 3 Organisationsprozesse: Etablieren von Verantwortlichkeiten, Koordination der Prozessverbesserung Prozessdefinition: Entwicklung des Standardsoftwareprozesses und Vorgaben für die projektspezifischen Anpassung Training: Planung und Durchführung von formellen und informellen Trainingsprogrammen Integriertes Softwaremanagement: Anpassung des Standardsoftwareprozesses an die Projektgegebenheiten, Planen und Managen des projektbezogenen Softwareprozesses (Aufbauend auf der Projektplanung und -überwachung aus Level 2) Ingenieurmäßige Produktentwicklung: Umsetzung des projektbezogenen Softwareprozesses Gruppenkommunikation: Aufrechterhaltung der Kommunikation zwischen den beteiligten Gruppen, Verständigung über Anforderungen und Aufgaben Peer Reviews: Planung und Durchführung von Expertenbegutachtungen, Identifikation und Entfernung von Fehlern

Stufe 4: Beherrscht (managed) Merkmal: Quantitativ messbare Prozesse Fokus: Produkt- und Prozessqualität Leistungsmessung von Produktivität und Qualität Metriken für Software Messbare, vorhersagbare Prozesse in definierten Grenzen Messbare, vorhersagbare Produktqualität Steuerungsmöglichkeit bei Schwankungen

Transparenz des Entwicklungsprozesses in Stufe 4 Ähnlich wie in Stufe 3 sind nun auch die Zwischenphasen anderen Gruppen (Management, Kunden) gegenüber transparent. Weiter sind nun auf der Basis der quantitativen Ergebnisse Korrekturen auch in den Zwischenphasen möglich. Grafik: CMU SEI

Key Process Areas in Stufe 4 Quantitatives Prozessmanagement: Quantitative Kontrolle der Prozesse, Identifikation von Abweichungen Qualitätsmanagement: Entwicklung eines quantitativen Verständnisses für Prozess- und Produktqualität

Stufe 5: Optimierend (optimizing) Merkmal: Gesamte Organisation fokussiert auf kontinuierliche Prozessverbesserung Fokus: Ständige Evaluation und Einführung neuer Technologien und Verbesserungsmöglichkeiten Möglichkeit zur Stärken/Schwächenanalyse Proaktive Fehlervermeidung Dauernde Implementierungsmöglichkeit für Verbesserungen der Softwareprozesse (direkte Einbringung von Verbesserungsvorschlägen) Verbesserungen auf der Meta-Ebene

Transparenz des Entwicklungsprozesses in Stufe 5 Basierend auf der quantitativen Analyse aus Stufe 4 kann der Entwicklungsprozess abgeändert und optimiert werden. Dies betrifft nicht nur einzelne Zwischenphasen, sondern auch den gesamten Entwicklungsprozess Grafik: CMU SEI

Key Process Areas in Stufe 5 Fehlervermeidung: Identifikation von Fehlerquellen, Änderung des Entwicklungsprozesses, Übernahme der Änderungen in den Standardsoftwareprozess Technologiewandel: Identifikation und Einführung nützlicher neuer Techniken Prozeßwandel: Verbesserung des Entwicklungsprozesses

Erwartung der Leistungssteigerung Grafik: CMU SEI

Grafik: CMU SEI

Fragen zur Bestimmung des Reifegrades Fragen zur Stufe 2 Werden quantifizierte Vergleiche des Ist-Personaleinsatzes mit dem Soll-Personaleinsatz durchgeführt? Werden Statistiken über den Testfortschritt und die Lieferung der Softwarekomponenten aufgezeichnet? Werden Statistiken erstellt, die den Zusammenhang zwischen dem Umfang / Inhalt eines Software-Release und dem Aufwand aufzeigen? Werden Statistiken über die geplanten und tatsächlich aufgetretenen Fehler verglichen? Werden Statistiken über Softwareeinheiten in der Modul-/Programmtestphase erstellt? Wird die Speicherplatzbelegung gemessen und aufgezeichnet? Wird der Datendurchsatz gemessen und aufgezeichnet? Wird die Performance der Hardware gemessen und aufgezeichnet? Werden Softwareproblemberichte, die aus der Testphase resultieren, bis zu ihrem Abschluss verfolgt?

Weitere kritische Fragen zum Reifegrad L2L3 Werden Aufzeichnungen über die Größe jedes Softwarekonfigurationselements geführt? L2L3 Werden Statistiken über Codefehler und Testfehler gesammelt? L3L4 Werden Statistiken über Softwaredesignfehler gesammelt? L3L4 Werden Maßnahmen, die aus Design-Reviews resultieren, auch tatsächlich umgesetzt (Anzahl der offenen Review-Findings)? L3L4 Werden die Maßnahmen, die aus Code-Reviews resultieren, auch tatsächlich umgesetzt? L4L5 Wird die Anzahl der Designfehler geschätzt und mit der Anzahl der tatsächlich aufgetretenen Fehler verglichen? L4L5 Wird die Abdeckung des Designs und Codes durch Reviews gemessen und aufgezeichnet? L4L5 Wird die Testabdeckung (C0, C1) in jeder Testphase gemessen und aufgezeichnet?

Unmöglichkeit des Stufenspringens Organisationen niedrigerer Stufe können auch Prozesse höheren Reifegrades durchführen Prozessfähigkeiten werden stufenweise aufgebaut, weil sie teilweise voneinander abhängig sind Jede Stufe ist notwendige Grundlage für die Verbesserungen auf der nächsten Stufe, z.B. Ingenieursmäßige Softwarekonstruktion (3) ohne entsprechendes etabliertes Management (2) zwecklos Metriken (4) ohne definierte Prozesse (3) überflüssig Verbesserungsvorschläge gehen bei nichtwiederholbaren Prozessen verloren

Fallstudien Bereits Stufe 2 bringt 30% Produktivitätszuwachs Motorola halbiert die Zahl der Softwarefehler auf jeder Stufe In jedem Fall langfristige Amortisation der Kosten Zahl der Anwender des CMM verdoppelt sich alle 5 Jahre (seit 1987) Software-Qualitätssicherung ist die größte Herausforderung beim Aufsteigen zur Stufe 2 Organisationsprozess-Definition ist eine der größten Herausforderungen beim Aufsteigen zur Stufe 3 Durchschnittswerte: 25 Monate von Stufe 1 nach 2 22 Monate von 2 nach 3 36 Monate von 3 nach 4 Änderung der Unternehmenskultur

SPICE (ISO 15504) SPICE: Software Process Improvement Capability Determination SPICE ist ein Projekt der ISO zur Entwicklung eines Standards für Software Process Assessments erstmals 1998 als technischer Bericht publiziert Standard aktuell überarbeitet: ISO IEC 15504 (2012) Zielsetzung: Umfassender Rahmen, Integration verschiedener vorhandener Ansätze (ISO, CMMI, Bootstrap, …) Stark an CMM angelehnt Bewertung von Prozessen, nicht von Organisationen

Charakteristika von SPICE Abdeckung einer weiten Spanne von SW-Organisationen und Anwendungen Referenzmodell Vergleichbarkeit, Wiederholbarkeit, Objektivität keine weiteren Voraussetzungen praktische Durchführbarkeit, Effizienz „can be used by organizations involved in planning, managing, monitoring, controlling and improving the acquisition, supply, development, operation, evolution and support of software“ Aspekte Bewertung (Assessment) Verbesserung (Improvement) Beurteilung (Determination)

Struktur des Modells

Prozess-Kategorien Process category Brief description Customer-Supplier Processes that directly impact the customer Engineering Processes that specify, implement, or maintain a system and software product Project Processes that establish the project, and co-ordinate and manage its resources Support Processes that enable and support the performance of the other processes on the project Organization Processes that establish the business goals of the organi-zation and develop process, product, and resource assets which will help the organization achieve its business goals > 200 einzelne Prozesse in diesen Kategorien, die bewertet werden

Prozesse Kundenkategorie CUS.1 Acquire software product and/or service CUS.1.1 Identify the need CUS.1.2 Define the requirements CUS.1.3 Prepare acquisition strategy CUS.1.4 Prepare request for proposal CUS.1.5 Select software product supplier CUS.2 Establish contract CUS.2.1 Review before contract finalization CUS.2.2 Negotiate contract CUS.2.3 Determine interfaces to independent agents CUS.2.4 Determine interfaces to subcontractors CUS.3 Identify customer needs CUS.3.1 Obtain customer requirements and requests CUS.3.2 Understand customer expectations CUS.3.3 Keep customers informed CUS.4 Perform joint audits and reviews … CUS.5 Package, deliver, and install the software CUS.6 Support operation of software CUS.7 Provide customer service CUS.8 Assess customer satisfaction

Prozesse Entwicklungskategorie ENG.1 Develop system requirements and design ENG.2 Develop software requirements ENG.3 Develop software design ENG.4 Implement software design ENG.5 Integrate and test software ENG.6 Integrate and test system ENG.7 Maintain system and software ENG.1.1 Specify system requirements. Determine the required functions and capabilities of the system and document in a system requirements specification. Note: the system requirements specification describes such things as – functions and capabilities of the system; – performance of the system; – safety; – reliability; – security; – human engineering; – interface; – operations, and maintenance requirements; – design constraints and qualification requirements. See CUS.3 for discussion of customer requirements used as an input to system requirements analysis.

Prozesse Projektkategorie PRO.1 Plan project life cycle PRO.2 Establish project plan PRO.3 Build project teams PRO.4 Manage requirements PRO.5 Manage quality PRO.6 Manage risks PRO.7 Manage resources and schedule PRO.8 Manage subcontractors Beispiel: PRO.5.1 Establish quality goals. Based on the customer's requirements for quality, establish quality goals for various checkpoints within the project's software life cycle. PRO.5.2 Define quality metrics. Define metrics that measure the results of project activities to help assess whether the relevant quality goals have been achieved. PRO.5.3 Identify quality activities. For each quality goal, identify activities which will help achieve that quality goal and integrate these activities into the software life cycle model. PRO.5.4 Perform quality activities. Perform the identified quality activities. PRO.5.5 Assess quality. At the identified checkpoints within the project's software life cycle, apply the defined quality metrics to assess whether the relevant quality goals have been achieved. PRO.5.6 Take corrective action. When quality goals are not achieved, take corrective action.

Prozesse Unterstützungs- und Organisationskategorie SUP.1 Develop documentation SUP.2 Perform configuration management SUP.3 Perform quality assurance SUP.4 Perform problem resolution SUP.5 Perform peer reviews ORG.1 Engineer the business ORG.2 Define the process ORG.3 Improve the process ORG.4 Perform training ORG.5 Enable reuse ORG.6 Provide software engineering environment ORG.7 Provide work facilities

Reifegrade Unterschied zu CMM? Wieso? Initial-Wiederholbar-Definiert-Beherrscht -Optimierend Unterschied zu CMM? Wieso? http://www.q-labs.de/images/user/Management_SW_Lieferanten_VW.pdf

2D-Architektur von SPICE

Varianten und Erweiterungen Der Standard stellt ein Metamodell für die Bildung von Varianten zur Verfügung Erweiterungen dürfen die Basis nicht beeinträchtigen Varianten sind ausgewählte wohldefinierte Teilmengen Rückverfolgbarkeit, Dokumentation, Abhängigkeiten Beispiel: Automotive-SPICE

SPICE vs. CMMI CMMI und SPICE sind ähnlich aufgebaut CMMI erfüllt die Vorgaben von SPICE bzgl. der Methodik und Strukturen, um Bewertungen von Softwareprozessen durchzuführen Das Prozessmodell von SPICE ist feiner gegliedert Die Detaillierungstiefe und Ausführlichkeit ist bei CMMI größer (ca. 1000 Seiten gegenüber 360 Seiten) SPICE enthält Inhalte, die bei CMMI nicht enthalten sind (z.B. „Identify Interfaces“ in Project Management) CMMI enthält Inhalte, die bei SPICE nicht enthalten sind (z.B. Intergroup Coordination)

SPICE vs. ISO 9000 Etwas anderer Fokus (Verbesserung vs. Zertifizierung) SPICE etwas detaillierter und spezifischer, ISO allgemeiner ISO 9001 requirements Process categories and processes 4.1 Management responsibility Engineer the business Manage quality (build project teams) Assess customer satisfaction 4.2 Quality system Perform quality assurance Define the process (Improve the process) 4.3 Contract review Establish contract Identify customer needs Develop system requirements and design Manage risks (Perform joint audits and reviews)

Break

Was haben wir erreicht? Feedback?

Was kommt als Nächstes? Studien-, Diplom-, Bachelor- und Master-Arbeiten: Es gibt immer was zu tun… Bitte sprechen Sie mich direkt an! Jobs, Industriepraktika usw.: Ihre Kenntnisse sind sehr gefragt! Bewerbungsschreiben erwünscht Und sonst?

Schöne Ferien!