Warum Prüfen 50 mal länger dauert als Lesen

47
Warum Prüfen 50 mal länger dauert als Lesen ... und andere Überraschungen aus der Welt der Software-Reviews Zusammenfassung: Bei der Diskussion über Software-Reviews werden einige Zahlenangaben, die von Fachleuten genannt werden, von den meisten Softwareentwicklern intuitiv in ganz anderer Größenordnung eingeschätzt und daher stark angezweifelt. Peter Rösler, München Reviewtechnik-Trainer Software-Reviews GI Münsterland 02.07.2007

description

Warum Prüfen 50 mal länger dauert als Lesen. ... und andere Überraschungen aus der Welt der Software-Reviews. Zusammenfassung: Bei der Diskussion über Software-Reviews werden einige Zahlenangaben, die von Fachleuten genannt werden,. - PowerPoint PPT Presentation

Transcript of Warum Prüfen 50 mal länger dauert als Lesen

Page 1: Warum Prüfen 50 mal länger dauert als Lesen

Warum Prüfen 50 mal länger dauert als Lesen

... und andere Überraschungen aus der Welt der Software-Reviews

Zusammenfassung:

Bei der Diskussion über Software-Reviews werden einigeZahlenangaben, die von Fachleutengenannt werden,

• von den meisten Softwareentwicklernintuitiv in ganz andererGrößenordnung eingeschätzt

• und daher stark angezweifelt.

Peter Rösler, MünchenReviewtechnik-Trainer

Software-ReviewsGI Münsterland02.07.2007

Page 2: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

2Zusammenfassung (2)

Zwei dieser Zahlenangaben, die den meisten Software-Entwicklern besonders unplausibel vorkommen, sind:

• Die optimale Inspektionsrate für Textdokumente beträgt nur ca. 1 Seite pro Stunde (und liegt damit um ca. den Faktor 50 unter der reinen Lesegeschwindigkeit).

• Das durchschnittliche Review findet nur ca. 4-5% der im Dokument vorhandenen Fehler.

Page 3: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

3Zusammenfassung (3)

• Während des Vortrags können die Zuhörer an einigen Kurzexperimenten und Schätzungen teilnehmen, deren Ergebnisse die obigen Zahlenangaben plausibel machen.

• An den Kurzexperimenten und Schätzungenbeteiligten sich bisher ca. 180 Teilnehmervon 22 Reviewtechnik-Seminaren im Zeitraumvon Oktober 2004 bis Juli 2006.

Page 4: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

41. Einführung

• Die in diesem Beitrag betrachteten Software-Reviews werden oft auch als „Software-Inspektionen“, „Fagan/Gilb style inspections“ oder „Peer Reviews“ bezeichnet.

• Definitionen:

“major defect” (im Gegensatz zu “minor defect”) :

Fehler, der möglicherweise erheblich höhere Kosten verursacht, wenn er später gefunden wird als jetzt.

Firma MEL 1990: 1 Mj kostet später zwischen 1 und über 80 h, durchschnittlich 9,3 h

1 Seite = 300 Wörter [3]

Page 5: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

5Capability Maturity Model (CMM)

Level Focus Key Process Areas

Level 5Optimizing

Level 4Managed

Level 3Defined

Level 2Repeatable

Level 1

Initial

Source: www.software.org/quagmire/descriptions/swcmm.asp

Heroes No KPAs at this time

Projectmanagement

Requirements Management, SW Project PlanningSW Project Tracking and OversightSW Subcontract Management, SW Quality Assurance SW Configuration Management

Engineering process

Organization Process Focus, Org. Process DefinitionPeer Reviews, Training Program Intergroup Coordination, SW Product EngineeringIntegrated Software Management

Product andprocess quality

Software Quality ManagementQuantitative Process Management

Continuous improvement

Process Change ManagementTechnology Change ManagementDefect Prevention

Page 6: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

6Types of Review of Documents

Source: Dorothy Graham

Walkthrough: Activity: understanding

• author guides the group through a document and his or her thought processes, so all understand the same thing, consensus on change

[Presentation Review]Walkthrough:

Review: Activity: decision making

• group discusses document and makes a decision about the content, e.g. how something should be done, go orno-go decision

[Management-Review/Projektstatus-Review]Review:

Inspection: Main activity: find defects

• formal individual and group checking, using sources and standards, according to detailed and specific rules

Inspection:

Page 7: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

7Reviews werden in jeder Projektphase eingesetzt

Modultest

Integrationstest

Systemtest

Abnahmetest

Fachkonzept

Anforderungsdefinition

Design

Codierung

RVW

RVW

RVW

RVW

RVW

RVW

RVW

RVW

RVW = Review / Inspektion

Page 8: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

8Anteil von Rework am Gesamtaufwand

6%

12%16%

12% 10%

4%

8%12%

19%

1%

Requirements Preliminary Design Detailed Design Code & Unit Test Integration &System Test

Rework

Production

44 %

56 %

Source: Wheeler 1996,Software inspection: an industrybest practice, p 9

Ca. 2/3 des Rework-aufwands kann durch Reviews vermieden werden!

Page 9: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

9“Mitarbeiterberg” mit und ohne Reviews

Source: Fagan 1986Schema

WithoutInspections

Peo

ple

Res

ourc

e

Design Code Testing Ship Planning/Requirements

Schedule

UsingInspections

Page 10: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

10Nutzen von Reviews

• geringere Entwicklungskosten

(25-35%)

• kürzere Entwicklungszeiten

(25-35%)

• geringere Wartungskosten (Faktor 10-30)

• höhere Zuverlässigkeit (10-100 mal weniger Fehler)

Source: Gilb1988, Principles of SoftwareEngineering Management, Table 12.2vgl. auch SI p 24

Page 11: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

11Erfahrungen anderer Firmen

Source: Humphrey 1989, Managing the software process, p186/187

• An AT&T Bell Laboratory project with 200 professionals instituted several changes, including inspections. Productivity improved by 14% and qualityby a factor of ten.

• Aetna Insurance Company: inspectionsfound 82% of errors in a COBOL program,productivity was increased by 25%.

• Another COBOL example (Gilb, Software Metrics): 80% of the development errors were found by inspections, productivity was increased by 30%.

Weitere Beispiele siehe Notizseite in der PowerPoint-Datei

Page 12: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

12Rollen der Teilnehmer

• Moderator

• Autor

• Protokollführer

• Reviewer

• Vorleser/Reader (nur wenn „double checking“ gemacht wird)

Ein Teilnehmer kann mehrere Rollen übernehmen. Einzige Einschränkung: der Autor darf zusätzlich höchstens die Rolle eines Reviewers übernehmen.

Page 13: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

13Overall Process Map

Sources

Product

Checklists

ChangeRequeststo Project

andProcess

DataSummary

MasterPlan

InspectionIssueLog

ProcessBrainstorm

Log

ExitedProduct

EntryPlanning

Kickoff

IndividualChecking

Logging

ProcessBrainstorming

Edit

Followup

Exit

Source: Tom Gilb,Team Leader Course

Page 14: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

14Phase „Individual Checking“

• Von den Fehlern, die das Reviewteam insgesamt entdeckt, werden 80% im „Individual Checking“ gefunden und 20% im „Logging meeting“,sofern dort mit „Double Checking“ erneutFehlersuche betrieben wird. [1]

• Da in den meisten durchgeführten Reviews auf „Double Checking“ verzichtet wird, werden in der Praxis eher 95% der durch das Reviewteam entdeckten Fehler im „Individual Checking“ gefunden. [2]

Page 15: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

152. Lese- und Prüfgeschwindigkeiten im Vergleich 2.1 Die optimale Inspektionsrate

• In der Phase „Individual Checking“ wendet ein Reviewer alle ihm zur Verfügung stehenden sinnvollen Prüfstrategien an.

• Für Textdokumente dauert das erfahrungsgemäß1 Seite pro Stunde. ([1], Gilb/Graham 1993)

„Software Inspection“ von Tom Gilb und Dorothy Graham, 1993

• Bandbreiten für die optimale Inspektionsrate:1 ± 0,8 Seiten pro Stunde [3]

optimale Inspektionsrate für Programme:

100 – 150 NLOC / h

Page 16: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

16Kurzexperiment

• Mit folgenden Kurzexperimenten und Schätzungen kann der unplausibel klingende Wert „1 Seite pro Stunde“ nachvollzogen werden:

Spezifikationstext: „...For each flight in the database, this configuration file will be examined line by line. The assignment part of the first rule for which the condition part matches the carrier and trip number will be used as the new load control value. ...”).

• In einem ersten Kurzexperiment prüfen die Teilnehmer einen typischen Spezifikationstext auf „minor defects“.

Page 17: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

17„minor defects“-Inspektionsraten

0 10 20 30 40 50 60 70 80 90 100p/h

Anzahl N

ennungen

Anzahl Datenpunkte: 183Mittelwert: 9,1 p/h

Source: www.reviewtechnik.de

Page 18: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

18Schätzung für Major defects

• Nach dem Kurzexperiment mit der „minor defects“-Inspektionsrate werden die Teilnehmer gefragt:

„Wie viel mal mehr Zeit (zusätzlich) würden Sie schätzungsweise benötigen, wenn Sie auch die inhaltlichen Fehler, also die Major defects, finden wollten?“

Page 19: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

19Geschätzte Zusatzzeit für „Major defects“-Suche

0 5 10 15 20 25 30 35 40

Faktor

Anzahl N

ennungen

Anzahl Datenpunkte: 180Mittelwert: Faktor 9,0

Source: www.reviewtechnik.des.a. Notizansicht der Folie

Page 20: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

20Die optimale Inspektionsrate

• Aus dem Kurzexperiment und der Schätzung ergibt sich folgende optimale Inspektionsrate:

optimale Inspektionsrate =

0 10 20 30 40 50 60 70 80 90 100p/h

Anz

ahl N

ennu

ngen

„minor defects“-Inspektionsraten

„minor defects“-Inspektionsrate

9,1 p/h

0 5 10 15 20 25 30 35 40

Faktor

Anz

ahl N

ennu

ngen

Zusatzzeit für„Major defects“-Suche

/ (1+Zusatzzeitfaktor) =

/ (1+9,0) = 0,9 p/h

Page 21: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

21

Komplette Übungsinspektion auf Textdokumenten

0

5

10

15

0,00 1,00 2,00 3,00 4,00 5,00

Inspektionsrate in p/h

gefu

nden

e M

j / p

Spielregel 1,45 p Spielregel 2,0 p Systemarchitektur 1,83 p

Selber ausprobieren ist noch überzeugender

Source: www.reviewtechnik.de

Anzahl Teilnehmer: 44Mittelwert: 1,6 p/h

Page 22: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

22Optische Täuschungen

Die optimale Inspektionsrate beträgt ca. 1 Seite pro Stunde.Wer‘s nicht glaubt, kann jederzeit nachmessen! Auch hier darf man seiner Intuition nicht trauen!

Source: www.reviewtechnik.de

Die Diagonalen sind parallel zueinander.Wer‘s nicht glaubt, kann jederzeit nachmessen. Bei diesem Bild darf man seiner Intuition nicht trauen.

Page 23: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

232.2 Warum Prüfen 50 mal länger dauert als Lesen

• Das „Naturtempo“ beim Lesen von (deutschsprachigen) Texten beträgt ca. 240 Wörter pro Minute. [4]

• Das sind umgerechnet 48 Seiten pro Stunde.

Textausschnitt: „...Ein skeptischer Autor beschloss, Magliabechis Bekanntheitsgrad wegen seines Schnelllesens und Gedächtnisses auf die Probe zu stellen und gab ihm ein neues Manuskript, das er vorher nie gesehen haben konnte. ...“ [5])

• In einem Kurzexperiment ermitteln die Teilnehmer ihre eigene Lesegeschwindigkeit an einem Übungstext.

Page 24: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

24Lesegeschwindigkeiten

0 10 20 30 40 50 60 70 80 90 100

p/h

Anz

ahl N

ennu

ngen

Anzahl Datenpunkte: 193Mittelwert: 47,7 p/h

Source: www.reviewtechnik.de

Page 25: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

25

0 10 20 30 40 50 60 70 80 90 100

p/h

Anz

ahl N

ennu

ngen

Lesegeschwindigkeiten

• Lesegeschwindigkeit:ca. 50 Seiten pro Stunde

Prüfen dauert 50 mal länger als Lesen

• optimale Inspektionsrate:ca. 1 Seite pro Stunde

„Man kann zwar ca. 50 Seiten pro Stunde lesen,aber nur ca. 1 Seite pro Stunde gründlich prüfen.“

Page 26: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

263. Effektivität von Reviews

• Das Reviewteam findet ca. 50% der im Dokument vorhandenen Fehler [1][2], wenn die optimale Inspektionsrate eingehalten wird, ansonsten:

• Tom Gilb / Kai Gilb: “We have found Inspection to operate in the area of about 3% (the normal for inspections not optimized with optimal checking rates etc.) to about 88%.” [6]

• Mit den im Folgenden gezeigten Kurzexperimenten und Schätzungen kommt man auf einen ähnlichen Wert: nur ca. 4-5% der Fehler werden in typischen Reviews entdeckt.

Page 27: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

273.1 Typische Inspektionsraten beim Review eines Textdokuments

• In einer Umfrage gaben die Teilnehmer an, mit welchen Inspektionsraten die Reviews in ihrer Firma typischerweise durchgeführt werden.

„In Ihrer Firma soll ein Review eines Textdokuments stattfinden. Das Dokument ist so groß, dass es in einzelnen Paketen geprüft wird, jedes Paket in einer eigenen Reviewsitzung. Angenommen, jeder Reviewer kann ca. 2 Stunden Aufwand in die Vorbereitung für eine Reviewsitzung investieren. Versuchen Sie abzuschätzen, aus wie vielen Seiten ein solches Paket in Ihrer Firma typischerweise besteht! ...“

Page 28: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

28Typische Inspektionsraten beim Review eines Textdokuments

0 10 20 30 40 50 60 70 80 90 100

p/h

Anz

ahl N

ennu

ngen

Anzahl Datenpunkte: 177Mittelwert: 13,3 p/hMedian: 10,0 p/h

Source: www.reviewtechnik.des.a. Notizansicht der Folie

Page 29: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

29Typische Reviews: um Faktor 13 zu schnell!

0 10 20 30 40 50 60 70 80 90 100

p/h

Anz

ahl N

ennu

ngen

typische Inspektionsraten bei Textdokumenten

• Die optimaleInspektionsrate(1 Seite pro Stunde)wird in typischenReviews um denFaktor 13 verfehlt. (Bzw. um Faktor 10, wenn man mit dem Medianwert rechnet)

• Die Werte aus der Umfrage entsprechen den publizierten Erfahrungen:

„we typically review documents at five to twenty pages per hour, when systematic calculation and application of optimum rates are not applied.” [1]

Page 30: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

30Wann findet ein Reviewer die Fehler in der Phase „Individual Checking“?

konstante Fehlerentdeckungsrate?

mit Einarbeitungszeit?

Fe

hle

ren

tde

cku

ng

sra

te

(Eff

izie

nz)

Checking Dauer

abnehmende Fehlerentdeckungsrate?

Source: www.reviewtechnik.de

optimaleInspektionsdauer

mit Einarbeitungszeit?

Page 31: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

313.2 Hypothese: Im „Individual Checking“ werden die Fehler zeitlich ungefähr gleichverteilt gefunden

• 28 Reviewer wurden gebeten, bei jedem entdeckten Fehler den Zeitpunkt minutengenau zu protokollieren.

Page 32: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

32Zeitpunkt der Fehlerentdeckung in Phase „Individual Checking“, Reviewer 1

Wann hat Reviewer 1 die Fehler entdeckt?

0 20 40 60 80 100 120 min.

zu prüfen waren 2 S. Textdokument

MjRem

6 2 1,5 1,2 1312

10

p/h∞

Reviewer beendete Prüfung

109

1,1

ab hier Prüfung mit Checklisten

Source: www.reviewtechnik.de

Page 33: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

33

Source: www.reviewtechnik.de

0

1

2

3

4

5

6

7

8

9

10

0 20 40 60 80 100 120

min.

Rev

iew

er

Übungs-beispiel 1(Textdokument)

Übungs-beispiel 2(C-Programm)

zum 0 abdecken

Reviewer 11-28 nicht abgebildet

Zeitpunkt der Fehlerentdeckung in Phase „Individual Checking“

Page 34: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

34

zum 0 abdecken Detected defects over time

0%

20%

40%

60%

80%

100%

0% 20% 40% 60% 80% 100%

individuelle Prüfzeit

0

100

200

300

400

500

gef

un

den

e F

ehle

r

konstante Fehlerentdeckungs-

rate!

Die 80/20-Regel gilt hier

nicht!

Kumuliertes Histogramm für 28 Reviewer

Source: Peter Rösler, www.reviewtechnik.de, 2006

s.a. Notizansicht der Folie

Page 35: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

35Ähnlicher Befund beim Review von UML-Modellen

Source: Górski / Jarzębowicz: Development and validation of a HAZOP-based inspection of UML models, in: Proceedings of the 3rd World Congress for Software Quality, Erlangen, 2005

Detected defects in time

0

50

100

150

200

250

10

:00

10

:07

10

:13

10

:15

10

:19

10

:25

10

:35

10

:40

10

:49

10

:52

10

:56

10

:58

11

:05

11

:08

11

:12

11

:14

11

:18

11

:21

11

:30

Detected defects over time

konstante Fehlerentdeckungsrate mit Einarbeitungs-

zeit!

Page 36: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

36Lange bekannter indirekter Hinweis:„Defect Density against Inspection Rate“

Source: www.reviewtechnik.des.a. Notizansicht der Folie

Software Inspection, p 334230 inspections of Sema GroupUwe Schöffel, Softlab 1998:

“Die Anzahl der Fehler, dieman pro Stunde findet, scheintlaut dieser Kurve konstant zu sein.”

Die Effizienz (Mj/h) ist konstant (für ein gegebenes Dokument)

Hyperbel ?!

Niels Malotaux:

“... this figure seems to indicate thatInspection rate * Defect density = constantThe implication is that the total number of defects found per hour is constant and does not depend on the number of pages inspected in that hour.“

Page 37: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

373.3 Schlussfolgerung: das durchschnittliche Review findet nur ca. 4-5% der vorhandenen Fehler

• Aus der konstanten Fehlerentdeckungsrate folgt:

„Das Verfehlen der optimalen Inspektionsrate um Faktor x bewirkt ein Sinken der Effektivität um Faktor x“ (x>=1).

• Da in den realen SW-Projekten ca. 13 Seiten pro Stunde geprüft werden und damit die optimale Inspektionsrate um ca. Faktor 13 verfehlt wird, werden diese Reviews anstelle der möglichen 50% nur ca. 4% der vorhandenen Fehler entdecken! (Bzw. nur ca. 5%, wenn man mit dem Medianwert 10 rechnet)

• Diese niedrigen Werte gelten nur für Textdokument- Reviews! (Daten für Code-Reviews s. Notizansicht)

Page 38: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

38Ein Dokument mit 2 Methoden geprüft

Anzahl Reviewer

Inspektionsrate in Phase „Individual Checking“

gefundene Mj defects im

13-seitigen Kapitel

Effektivität

herkömmliches Review

Inspektion

Systemarchitektur mit 220 Seiten

• geprüft mit herkömmlichem Review (alle 220 Seiten)

• und geprüft mit Inspektion (nur 13-seitiges Kapitel)

Source: Diamantis Gikas, Siemens AGMehr Details s. Notizansicht der Folie

geplant: 4 real: 4

geplant: 4,3 p/h real: 4,1 p/h

16 max. 30% (geschätzt)

nichts geplant, real: >= 50 p/h

1 max. 2% (= 1/16 * 30%)

geplant: 23real: 7

Page 39: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

39Ein Dokument mit 2 Methoden geprüft (2)

Source: Diamantis Gikas, Siemens AG Anmerkungen: Peter Rösler

gefundene Mj defects

Inspektions-rate

Effektivität Aufwand

Inspektion

herkömml. Review

Effizienz

max. 2%

max. 30%

>= 50 p/h

4,1 p/h 16 (in 13 p) ≈ 0,46 Mj/h

11 (in 220 p) ≈ 0,5 Mj/h≈ 22 h

≈ 35 h

Die Effektivität bricht ungefähr um den Faktor ein, um den zu schnell inspiziert wird.

Die Effizienz hängt nicht von der Inspektionsrate ab.

(Sondern von der Fehlerdichteim Dokument, s. Notizansichtder Folie)

Page 40: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

40Ein Dokument mit 2 Methoden geprüft (3)

Aufwand gefundene Mj defects

Eingesparte Stunden *

herkömmliches Review

Inspektionen

Hochrechnung, wenn alle 220 Seiten mit Inspektionen geprüft worden wären:

Source: Diamantis Gikas, Siemens AGMehr Details s. Notizansicht der Folie

≈ 271 (in 220 p)≈ 592 h

≈ 110 h (ROI ≈ 5:1)

≈ 2660 h (ROI ≈ 4,5:1)

* Estimated time for find&fix a Major later: 12h

≈ 22 h 11 (in 220 p)

Page 41: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

41Schlussbemerkung

• Die niedrige Effektivität von 4-5% in Textdokument-Reviews legt nahe, dass die Qualitätssicherung inden meisten SW-Projekten kaum einen Einfluss auf den Projekterfolg hat:

• Ein Projekt, das scheitern würde, weil in den Dokumenten zu viele Fehler stecken, scheitert wahrscheinlich auch dann noch, wenn die „Qualitätssicherung“ mit ihren Reviews ca. 95% dieser Fehler übersieht!

Source:The Standish Group,

s.a. Notizseite

Page 42: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

42Literatur

1.     Gilb, Tom / Graham, Dorothy: Software Inspection, Addison-Wesley, 1993,

2.     Radice, Ronald A.: High Quality Low Cost Software Inspections, Paradoxicon Publishing, 2002

3.     www.gilb.com (Download Center), “Optimizing Inspection” von Tom Gilb

4.     Michelmann, Rotraut / Michelmann Walter U.: Effizient lesen, Gabler Verlag, Wiesbaden, 1. Auflage 1995

5.     Buzan, Tony: Speed Reading, mvg-verlag, Landsberg-München, 2002

6.     www.gilb.com, Topic “Insp., Quality Control”, Thread “Completeness of candidate doc.”, Posting von Kai Gilb vom 17.09.2004

7.     Gorski, J. / Jarzebowicz A.: Development and validation of a HAZOP-based inspection of UML models, in: Proc. of the 3rd World Congress for Software Quality, Erlangen, 2005

PowerPoint-Folien und Textfassung des Vortrags: www.reviewtechnik.de/vortraege.html

Page 43: Warum Prüfen 50 mal länger dauert als Lesen

Diskussion43

38

6

41

13

36

22

30

32 33 34

2117

minor Insp.Raten

19

Zusatzzeit für Mj

28

typische Insp.Raten

24

Lesegeschw.

1T-Sem-Folien

7

Page 44: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

44Es folgen Reserve-Folien für die Diskussion

Page 45: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

45Aufwand für 100%ige Reviewabdeckung

Details siehe Notizseite

Gilb: ca. 10-15% des Projektaufwands (Radice: ca. 8-20%)

Aufwand:z.B. 500 h verteilt auf 25 Reviews

Einsparung:z.B. 2000 h eingespart durch 250 gefundeneMj defects

ROI = 4:1

Page 46: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

46Keiner verlangt von Ihnen 10-15% Aufwand en bloc!

Source: www.reviewtechnik.de

Sie investieren zuerst nur in 1 Review (Aufwand 10 - 20h)

Das Reviewmuss ca. 10 Mj defects aufdecken!

1 Review,Aufwandz.B. 20h

Wurden genug Mj defects gefunden? Ja es folgt das nächste Review Nein nichts tun, die Qualität ist schon gut

genug

Page 47: Warum Prüfen 50 mal länger dauert als Lesen

Peter Röslerwww.reviewtechnik.de

Software-ReviewsGI Münsterland02.07.2007

47Beispiel zur optimalen Inspektionsrate

Automated Teller Machine (ATM) requirement:

»A valid user must be able to withdraw up to $200or the maximum amount in the account.«

Ref.: R. Craig, S.P. Jaskiel Systematic Software Testing

Diese 18 Wörter sind in ca. 4 - 5 Sek. gelesen(entspricht ca. 50 p/h)Zum Prüfen sind ca. 3 - 4 min. nötig(entspricht ca. 1 p/h)

siehe auch Notizseite