im Prozess aufdecken? Im Tutorium Mit Fehlerkennzahlen Softwareentwicklungsprojekte



Ähnliche Dokumente
Das chronische Problem der Anforderungsanalyse und die Frage: Fehler vermeiden oder früh entdecken? Oral Avcı ZU KÖLN

Mit Fehlerkennzahlen Software-Entwicklungsprozesse verbessern - Erfahrungen bei der IDG -

Prozessoptimierung. und. Prozessmanagement

Konzentration auf das. Wesentliche.

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Professionelle Seminare im Bereich MS-Office

Ihr Mandant möchte einen neuen Gesellschafter aufnehmen. In welcher Höhe wäre eine Vergütung inklusive Tantieme steuerrechtlich zulässig?

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

GPP Projekte gemeinsam zum Erfolg führen

Was ist das Budget für Arbeit?

WAS finde ich WO im Beipackzettel

Die Invaliden-Versicherung ändert sich

Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient.

Zeichen bei Zahlen entschlüsseln

Was sind Jahres- und Zielvereinbarungsgespräche?

Das Leitbild vom Verein WIR

Was meinen die Leute eigentlich mit: Grexit?

Teil III: Maßnahmen ableiten

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Psychologie im Arbeitsschutz

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

AKH-DER-P-5.3. Gültig ab: Version:1.0.1 Seite 1 von 5

Zimmertypen. Zimmertypen anlegen

Beschreibung des MAP-Tools

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

GeFüGe Instrument I07 Mitarbeiterbefragung Arbeitsfähigkeit Stand:

Projektmanagement in der Spieleentwicklung

Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit

2. Psychologische Fragen. Nicht genannt.

Wir sind für Sie da. Unser Gesundheitsangebot: Unterstützung im Umgang mit Ihrer Depression


40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Mediumwechsel - VR-NetWorld Software

Leseauszug DGQ-Band 14-26

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

Mitarbeiterbefragung als PE- und OE-Instrument

Inhaltsübersicht Produktinformationsblatt zur Jahres-Reiserücktritts-Versicherung der Europäische Reiseversicherung AG

Online Newsletter III

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Projektcontrolling in der Praxis

Mediumwechsel - VR-NetWorld Software

Monitoring-Service Anleitung

Erfolgreiche Webseiten: Zur Notwendigkeit die eigene(n) Zielgruppe(n) zu kennen und zu verstehen!

Herzlich Willkommen beim Webinar: Was verkaufen wir eigentlich?

Content Management System mit INTREXX 2002.

Fragebogen: Abschlussbefragung

GRS SIGNUM Product-Lifecycle-Management

Theoretische Grundlagen der Informatik WS 09/10

Erfahrungen mit Hartz IV- Empfängern

Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems

Anleitung über den Umgang mit Schildern

Die integrierte Zeiterfassung. Das innovative Softwarekonzept

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Effiziente Prozesse. Die Formel 1 und die Druckindustrie

Zur Teilnahme am Webinar bitten wir Sie, sich auf der Lernplattform der Firma edudip zu registrieren.

Leseprobe. Bruno Augustoni. Professionell präsentieren. ISBN (Buch): ISBN (E-Book):

Welchen Weg nimmt Ihr Vermögen. Unsere Leistung zu Ihrer Privaten Vermögensplanung. Wir machen aus Zahlen Werte

Das Persönliche Budget in verständlicher Sprache

Die Post hat eine Umfrage gemacht

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Kurzeinführung Moodle

Projekt - Zeiterfassung

ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

Additional Cycle Index (ACIX) Thomas Theuerzeit

Schnittstelle DIGI-Zeiterfassung

FUTURE NETWORK REQUIREMENTS ENGINEERING

Online Schulung Anmerkungen zur Durchführung

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

«Eine Person ist funktional gesund, wenn sie möglichst kompetent mit einem möglichst gesunden Körper an möglichst normalisierten Lebensbereichen

Presseinformation. Ihre Maschine spricht! Mai GLAESS Software & Automation Wir machen industrielle Optimierung möglich.

das usa team Ziegenberger Weg Ober-Mörlen Tel Fax: mail: lohoff@dasusateam.de web:

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Kulturelle Evolution 12

Skills-Management Investieren in Kompetenz

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Ein Vorwort, das Sie lesen müssen!

FRAGEBOGEN ANWENDUNG DES ECOPROWINE SELBSTBEWERTUNG-TOOLS

Verifizierung neuer bzw. geänderter -adressen in den Anwender- und/oder Benutzerstammdaten

Studieren- Erklärungen und Tipps

Geld Verdienen im Internet leicht gemacht

Wichtiges Thema: Ihre private Rente und der viel zu wenig beachtete - Rentenfaktor

Hilfe zur Urlaubsplanung und Zeiterfassung

iloq Privus Bedienungsanleitung Schließanlagen Programmierung Version 1 - Copyright 2013

Pädagogik. Melanie Schewtschenko. Eingewöhnung und Übergang in die Kinderkrippe. Warum ist die Beteiligung der Eltern so wichtig?

Urlaubsregel in David

E-Interview mit Herrn Dr. Streng, geschäftsführender Gesellschafter der parameta Projektberatung und Gründer der paragroup

Studie über Umfassendes Qualitätsmanagement ( TQM ) und Verbindung zum EFQM Excellence Modell

Der Kopf ist rund, damit das Denken die Richtung

Mobile Intranet in Unternehmen

Alle gehören dazu. Vorwort

How to do? Projekte - Zeiterfassung

QM: Prüfen -1- KN

Kurzanleitung MAN E-Learning (WBT)

Hinweise für Lehrende zum Unterrichtsentwurf Geborgenheit (R+V Versicherung)

Transkript:

Tutorium: Mit Fehlerkennzahlen Softwareentwicklungsprojekte erfolgreich steuern Oral Avci SQS Software Quality Systems AG Stollwerckstr. 11 51149 Köln oral.avci@sqs.de Abstract: Fehler in der Softwareentwicklung werden nach ihrer Entdeckung meist nur korrigiert, ohne aus ihnen zu lernen. Es ist folglich nicht unwahrscheinlich, dass vergleichbare Fehler wieder auftreten, so lange die Ursachen im Prozess fortbestehen. Wie aber kann man in Softwareentwicklungsprojekten aus Fehlern lernen und Verbesserungspotenziale im Prozess aufdecken? Das gleichnamige Tutorium auf der Fachtagung Software-Management 2008 stellt ein Verfahren vor, um aus Fehlern Prozessverbesserungen ableiten zu können. Dieser Beitrag gibt einen Überblick über die Inhalte dieses Tutoriums. 1 Einführung Fehler sind in Softwareentwicklungsprojekten allgegenwärtig. Unter einem Fehler wird ein unzureichendes Merkmal oder ein erwartetes, jedoch fehlendes Merkmal eines Arbeitsergebnisses der Softwareentwicklung verstanden, sofern es eine Änderung in diesem Ergebnis notwendig macht. Mängel im Prozess der Softwareentwicklung verursachen häufig viele Fehler in Arbeitsergebnissen (Fachkonzept, Softwarecode etc.). Je später ein Fehler entdeckt wird, desto mehr Folgefehler entstehen und folglich steigt der Aufwand für die Fehlerkorrektur. Wie aber kann man in Softwareentwicklungsprojekten aus Fehlern lernen und Verbesserungspotenziale im Prozess aufdecken? Im Tutorium Mit Fehlerkennzahlen Softwareentwicklungsprojekte erfolgreich steuern auf der Fachtagung Software-Management 2008 wird ein Verfahren vorgestellt, um aus Fehlern Prozessverbesserungen ableiten zu können. Es wird beschrieben, wie Fehler sinnvoll klassifiziert und ausgewertet werden können, um Prozessmängel als Ursachen der Fehler aufdecken zu können. Neben dem Verfahren werden praktischen Erfahrungen aus einer Fallstudie aufgezeigt. Der vorliegende Beitrag gibt einen Überblick über die Inhalte dieses Tutoriums. Er ist wie folgt aufgebaut: In Kapitel 2 wird die Motivation für das Fehleranalyseverfahren beschrieben. Kapitel 3 beschreibt die wesentlichen Merkmale des Fehleranalyseverfahrens. Der Nutzen des Verfahrens wird in Kapitel 4 dargestellt. Abschließend wird in Kapitel 5 eine Fallstudie vorgestellt, bei der praktische Erfahrungen bei der Anwendung des Verfahrens gewonnen werden konnte. Eine detaillierte Beschreibung des Verfahrens und der Fallstudie findet sich in [Av08]. 205

2 Das Problem: Fehler in Softwareentwicklungsprojekten In Softwareentwicklungsprojekten entstehen viele Fehler in Arbeitsergebnissen wie beispielsweise dem Fachkonzept oder dem Softwarecode. Diese Erkenntnis ist zunächst nicht überraschend. Interessant ist jedoch, dass verschiedene empirische Untersuchungen seit Mitte der siebziger Jahre bis heute feststellen, dass ein Großteil der Fehler, nämlich 15% bis 50%, durch die Anforderungsanalyse verursacht werden [AW05]. Hierbei handelt es sich zum einen um Anforderungsfehler und zum anderen um Folgefehler im Entwurf und der Implementierung. Die Untersuchungen zeigen zudem auf, dass es sich bei den Anforderungsfehlern häufig um übersehene oder falsch verstandene Anforderungen handelt, also Fehler, die meist erst sehr spät entdeckt werden. Je später aber ein Fehler entdeckt wird, desto mehr Folgefehler können entstehen und desto aufwändiger wird die Korrektur. Die Kosten für Überarbeitungen können bis zu 41% der gesamten Projektkosten ausmachen [Di93]. Die Auswirkungen dieser erforderlichen Überarbeitungen sind vertraut: Software wird zu spät ausgeliefert und Budgets werden überschritten. Werden hingegen die Überarbeitungen nicht durchgeführt, erhalten die Kunden eine Software minderer Qualität. Fehler finden Eingang in Arbeitsergebnisse, weil sie durch den Prozess, also der Art und Weise wie eine Aufgabe durchgeführt wird, begünstigt werden. Obwohl Fehler relevante Informationen über den Prozess geben können, werden diese nicht genutzt. Selbst dann nicht, wenn eine Fehlerverfolgung gestützt durch ein Softwarewerkzeug praktiziert wird (meist bezeichnet als bug tracking tool oder defect tracking tool ). Entsprechende Werkzeuge unterscheiden in der Regel nicht zwischen Fehlern und ihren Symptomen, z. B. dem Fehlverhalten der Software. Außerdem legen sie nahe, ausschließlich rein administrative Informationen zu erfassen: Wann ist das Fehlverhalten aufgetreten? Wurde der Fehler bereits behoben? Wer ist für die Behebung verantwortlich? etc. Beschränkt man sich jedoch auf diese administrativen Informationen, versäumt man es, aus Fehlern zu lernen. Fehler werden dann nur behoben und geraten anschließend schnell wieder in Vergessenheit. Eine nachhaltige Prozessverbesserung bleibt aus. 3 Die Lösung: Prozessrelevante Informationen zu Fehlern erfassen und auswerten Aus Fehlern lernen heißt, die Ursachen dieser Fehler im Prozess zu identifizieren. Ist ein Mangel im Prozess bekannt und verstanden, kann er ggf. behoben werden. In diesem Fall werden zukünftig vergleichbare Fehler vermieden. Sofern ein Mangel im Prozess nicht behoben werden kann, ist die Kenntnis des Prozessmangels trotzdem wertvoll, um den Prozess der Qualitätssicherung anzupassen. So kann nach Fehlern gezielt gesucht werden, die durch den Prozessmangel verursacht worden sind. Entsprechende Fehler werden folglich früher gefunden und weitere Folgefehler vermieden. 206

Wie kann man nun aus Fehlern lernen? Hierzu wurde durch den Autor ursprünglich am Seminar für Wirtschaftsinformatik und Systementwicklung an der Universität zu Köln ausgehend von der Orthogonal Defect Classification [Ch96] ein Verfahren entwickelt, das auf Fehlerkennzahlen aufbaut und im Wesentlichen aus drei Schritten besteht. Schritt 1: Fehlererfassung Im Kern des Verfahrens steht ein etabliertes Klassifikationsschema für Fehler im Entwurf und der Implementierung, das Anfang der neunziger Jahre durch Ram Chillarege entwickelt und seither verfeinert worden ist. Anhand dieses Klassifikationsschemas werden die Fehler erfasst. Im Unterschied zu anderen Klassifikationsschemata, die in der Literatur oder in Fehlerverfolgungstools vorgeschlagen werden, extrahiert es prozessund produktrelevante Informationen aus einem Fehler. So werden beispielsweise für jeden Fehler folgende Fragen beantwortet: Welches strukturelle Merkmal wurde geändert, um den Fehler zu beheben? Wie wurde der Fehler behoben? Indem etwas eingefügt, etwas gelöscht oder etwas geändert worden ist? Welches Prüf- oder Testkriterium hat zur Entdeckung des Fehlers geführt? Schritt 2: Identifikation von Fehlermustern mit Handlungsbedarf Unter wirtschaftlichen Gesichtspunkten ist es nicht sinnvoll, eine Ursachenanalyse für jeden Fehler einzeln vorzunehmen. Die semantischen Informationen zu den erfassten Fehlern aus dem ersten Schritt erlauben durch einfache ein- und mehrdimensionale Auswertungen Fehlermuster zu identifizieren. Ein Fehlermuster ist eine Menge von Fehlern mit gemeinsamen Merkmalen. Den Fehlern eines Fehlermusters liegen mit großer Wahrscheinlichkeit die gleichen Ursachen zugrunde. Im Rahmen einer Arbeitssitzung werden besonders auffällige Fehlermuster mit ausgewählten Projektbeteiligten analysiert. Diese Arbeitssitzung muss durch eine Person, die das Verfahren beherrscht, moderiert werden. Ziel dieser Arbeitssitzung ist es, dass die Projektbeteiligten festlegen, für welche Fehlermuster Maßnahmen eingeleitet werden sollen. Schritt 3: Aufdecken der Ursachen der identifizierten Fehlermuster In einer weiteren moderierten Arbeitssitzung bestimmen Projektmitarbeiter die Ursachen von ein bis zu maximal drei ausgewählten Fehlermustern. Der Moderator konkretisiert hierzu zunächst jeweils die Fehlermuster und stellt exemplarisch einige Fehlerberichte zur Diskussion. 207

Genauso wie ein Arzt auf der Grundlage festgestellter Krankheitssymptome, die Ursachen für die Krankheit eines Patienten erkennen und schließlich behandeln will, können die Fehlermuster als Symptome aufgefasst werden, die Rückschlüsse über Mängel im Prozess erlauben [Ca98]. Daran schließen Überlegungen an, wie ein Fehlermuster zukünftig vermieden oder entsprechende Fehler früher gefunden werden können. Da die Prozessmängel mit dem Verfahren präzise konkretisiert werden, erleichtert dies eine effektive und effiziente Entwicklung von wirksamen Verbesserungsmaßnahmen mit Projektbeteiligten. Das Ergebnis sind Verbesserungsmaßnahmen, die unternehmensspezifische und projektspezifische Besonderheiten berücksichtigen und in der Summe den Prozess nachhaltig verbessern. 4 Nutzen für Praktiker Eine Prozessanalyse auf der Grundlage von Fehlerkennzahlen ermöglicht eine leichte, systematische, kontinuierliche Verbesserung der Prozesse. Das Verfahren fördert auf der Grundlage quantitativer Daten eine sachliche Diskussion mit Beteiligten über die Prozesse. Da zudem Fehler bereits während einer Softwareentwicklung erfasst und ausgewertet werden können, eröffnet sich die Möglichkeit, das beschriebene Verfahren begleitend zur Entwicklung einzusetzen. So können bereits während der Laufzeit eines Projekts Mängel im Prozess aufgedeckt werden. Einem Entwicklungs- bzw. Projektleiter liefert das Verfahren Informationen über den Stand des Entwicklungsprozesses und des Softwareproduktes. Einem Testmanager zeigt es auf, wie erfolgreich die Prüf- und Testaktivitäten sind. Ein Prozessverantwortlicher kann durch den Vergleich von historischen mit aktuellen Fehlerdaten untersuchen, ob Änderungen im Prozess zu den gewünschten Verbesserungen geführt haben. 5 Die Fallstudie: Anwendung des Verfahrens in einem großen Softwareentwicklungsprojekt Das Verfahren wurde im Rahmen einer Fallstudie in einem realen Softwareentwicklungsvorhaben bei dem IT-Dienstleister einer großen deutschen Versicherung angewandt. Es wurden nachträglich reale Fehler von zwei Releaseentwicklungen zu einer geschäftskritischen Anwendungssoftware für Lebensversicherungen erfasst und analysiert, um Mängel im Prozess der Anforderungsanalyse dieses Entwicklungsvorhabens aufzudecken. Im Tutorium werden praktische Erfahrungen und Beispiele aus dieser erfolgreichen Anwendung des Verfahrens vorgestellt. 208

6 Kurzüberblick über die Inhalte des Tutoriums Im Tutorial wird ein Kennzahlensystem zur Steuerung laufender Softwareentwicklungsprojekte vorgestellt. Auf der Grundlage von Fallbeispielen wird den Teilnehmern des Workshops aufgezeigt, wie Fehlerkennzahlen die Beantwortung folgender Fragen bei laufenden Projekten unterstützen: Ist die Software bzw. ein Zwischenstand der Software reif für die nächste Teststufe? Ist die Software reif für die Auslieferung? Sind zusätzliche Maßnahmen der Qualitätssicherung (Prüfen und Testen) erforderlich? Wenn ja, welche? Was kann im Entwicklungsprozess geändert werden, damit Fehler mit bestimmten Merkmalen vermieden werden? Was kann im Testprozess geändert werden, damit entstandene Fehler mit bestimmten Merk-malen früher entdeckt werden? Wie weit fortgeschritten sind die Tests? Ziel des Tutorials ist, nach einer kurzen Einleitung, vor allem der angeleitete Erfahrungsaustausch der Teilnehmer, um neue praxiserprobte - Aspekte für die eigene Arbeit zu erhalten. Zielgruppen sind Testmanager, QS-Beauftragte, Qualitätsmanager und Personen, die Prozesse durch Kennzahlen überwachen und steuern. Literaturverzeichnis [Av08] Avcı, O.: Aus Fehlern in der Softwareentwicklung lernen. Anforderungsanalyse und Qualitätssicherung mit Fehleranalysen verbessern. Saarbrücken 2008. VDM Verlag Dr. Müller, ISBN-10: 3836476878, ISBN-13: 9783836476874. [AW05] Avcι, O; Wagner, H.: Das chronische Problem der Anforderungsanalyse und die Frage: Fehler vermeiden oder früh entdecken? In: Cremers, A.B.; Manthey, R.; Martini, P.; Steinhage, V. (Hrsg.): Informatik 2005 - Informatik LIVE, Band 2, Lecture Notes in Informatics (LNI), Vol. P-68. Bonn 2005, S. 279-283. [Ca98] Card, D.N.: Learning from Our Mistakes with Defect Causal Analysis. In: IEEE Software. Nr. 1, 1998, S. 56-63. [Ch96] Chillarege, R.: Orthogonal Defect Classification. In: Lyu, M. R.: Handbook of Software Reliability Engineering.Los Alamitos (California) u. a. 1996, S. 359-400. [Di93] Dion, R.: Process Improvement and the corporate balance sheet. In: IEEE Software. Nr. 4, 1993, S. 28-35. 209