From Defect Reporting  to Defect Prevention A Lean Approach to Software Testing Sune Gynthersen & Lars Thorup BestBrains
Who are we? Sune Gynthersen Lean/Agile software consultant Lars Thorup Founder
Cost of correcting defects Price Time
A brilliant solution
No bashing of Waterfall today "All models are wrong; Some models are useful" - George Box
A quick status... Number of currently open defects? 10? 50? 100? 1000?
A quick status... Prioritization of defects? Priority 1 Priority 2 Priority 3
Is it really that bad? "Current software projects spend about 40 to 50 percent of their effort on avoidable rework" - Barry Boehm (2001)
A true story (2010) 9000 defects 3 hours per defect  (reporting, prioritization, fixing, retest, accept) 6 effective hours a day 220 work days a year          =  20 man-years!
It reminds me of... How many americans does  it take to make a toast?
It reminds me of... How many americans does  it take to make a toast? Two!  One to burn it, one to scrape it
What is the cost of delay? A one month delay? A one year delay? Greater salary expenses Lower financial return Decreasing organisational inertia Decreasing trust Short-term prioritization
Vi believe... Any undesirable result represents a starting point for generating new learning.
We believe... Or in plain english... Every problem is an opportunity
The small details... Test versus Quality Assurance?
The small details... Test Verification Test-driving Something that should be automated Quality Assurance Early involvement Proactivity Help building the right system in the right  quality
Conventional wisdom Test/QA should find defects
A new hypothesis Prevention is far more effective than fault-finding. Rationale?
Focus If Prevention is far more effective than fault-finding That means Quality should be built-in from the beginning Which should produce Significantly higher profitability
What factors influence the quality?
What can I do? Do more of this Strive to create a common understanding no later than just before development starts Exploratory testing as soon as possible Stop feature work until defects have been corrected Find, understand and remove the causes behind defects   Do less of this Manuel regression testing
4 questions for you... What is the most important output from Test/QA? What is the avg. lead-time for defects? ("found" to "fixed") How much  undiscovered rework  does your team have? How do you reduce the amount of  undiscovered rework ?

From Defect Reporting To Defect Prevention

  • 1.
    From Defect Reporting to Defect Prevention A Lean Approach to Software Testing Sune Gynthersen & Lars Thorup BestBrains
  • 2.
    Who are we?Sune Gynthersen Lean/Agile software consultant Lars Thorup Founder
  • 3.
    Cost of correctingdefects Price Time
  • 4.
  • 5.
    No bashing ofWaterfall today "All models are wrong; Some models are useful" - George Box
  • 6.
    A quick status...Number of currently open defects? 10? 50? 100? 1000?
  • 7.
    A quick status...Prioritization of defects? Priority 1 Priority 2 Priority 3
  • 8.
    Is it reallythat bad? "Current software projects spend about 40 to 50 percent of their effort on avoidable rework" - Barry Boehm (2001)
  • 9.
    A true story(2010) 9000 defects 3 hours per defect (reporting, prioritization, fixing, retest, accept) 6 effective hours a day 220 work days a year          = 20 man-years!
  • 10.
    It reminds meof... How many americans does  it take to make a toast?
  • 11.
    It reminds meof... How many americans does  it take to make a toast? Two!  One to burn it, one to scrape it
  • 12.
    What is thecost of delay? A one month delay? A one year delay? Greater salary expenses Lower financial return Decreasing organisational inertia Decreasing trust Short-term prioritization
  • 13.
    Vi believe... Anyundesirable result represents a starting point for generating new learning.
  • 14.
    We believe... Orin plain english... Every problem is an opportunity
  • 15.
    The small details...Test versus Quality Assurance?
  • 16.
    The small details...Test Verification Test-driving Something that should be automated Quality Assurance Early involvement Proactivity Help building the right system in the right  quality
  • 17.
    Conventional wisdom Test/QAshould find defects
  • 18.
    A new hypothesisPrevention is far more effective than fault-finding. Rationale?
  • 19.
    Focus If Preventionis far more effective than fault-finding That means Quality should be built-in from the beginning Which should produce Significantly higher profitability
  • 20.
  • 21.
    What can Ido? Do more of this Strive to create a common understanding no later than just before development starts Exploratory testing as soon as possible Stop feature work until defects have been corrected Find, understand and remove the causes behind defects   Do less of this Manuel regression testing
  • 22.
    4 questions foryou... What is the most important output from Test/QA? What is the avg. lead-time for defects? ("found" to "fixed") How much  undiscovered rework does your team have? How do you reduce the amount of  undiscovered rework ?

Editor's Notes

  • #3 Vi kommer med udviklerbaggrund. Det skal være i jeres gode ret at mene vi har jord i hovedet. Vi prøver at anlægge et helhedorienteret perspektiv.
  • #4 En gammel klassiker Den er få vel uenige i...?
  • #5 Når fejlrettelser bliver eksponentielt dyrere over tid, er det et under at vandfaldsmodellen er i brug - Her tester vi, med vilje, så sent som muligt
  • #6 Selvom vi kunne bruge timevis på det, så skal det jo ikke bare handle om at sige grimme ting om vandfaldsmodellen. Som den gode statistiker George Box sagde...
  • #8 Hvor mange har så mange prioritet 1 og 2 fejl, at der reelt aldrig bliver rettet prioritet 3 fejl. Grov prioritering er god - men man risikerer at holde folk for nar, hvis man beder dem registrere defects, som alle ved aldrig vil blive fikset.
  • #10 En fælles kollega gav os lidt defect statistik (baseret på overslag)
  • #13 Den ekstra omkostning er nem at beregne: 20x gennemsnitlig årsløn. Detaljerne er sværere at regne på - men de er ikke små. * Større lønudgifter * Manglende indtjening * Faldende tillid * Organisatorisk træghed * Kortsigtet prioritering
  • #15 Det lyder som en floskel, men... Ethvert problem er en mulighed. Uhensigtsmæssighed (f.eks. defekter) Uhensigtsmæssigheder er en perfekt anledning til at stoppe op, og spørge sig selv: Lærer vi i dag af vores fejl? Hvad kunne vi lære af vores fejl? Hvor hurtigt lærer vi af vores fejl?
  • #16 Hvordan navngiver vi rollen? Lars har sagt at det er en 20 år gammel diskussion i test-kredse. Jeg (Sune) er ikke rigtigt stødt på før.
  • #17 Når *vi* hører Test vs. QA tænker vi følgende... Test: Noget der burde automatiseres.
  • #18 Det vil vi gøre op med Softwaretestere skal i mindre grad end tidligere  finde fejl. Fejl er et udtryk for en dysfunktionel process. En process der ikke resulterer i den ønskede kvalitet. Videre til "En ny hypotese"
  • #19 Testere bør finde færre fejl pr. feature, over tid. Hvis de ikke finder færre er det måske tegn på at kvaliteten af udviklingsprocessen ikke bliver bedre. Vi mener ikke at  testere ikke skal finde fejl. Men når de gør.. er det et tegn på at der er gået noget galt et andet sted.
  • #20 Kvalitet skal indbygges fra starten (i modsætning til at "teste" det ind senere) Hvis kvaliteten skal indbygges fra start...
  • #21 Så må vi spørge os selv - Hvilke faktorer har indflydelse på kvaliteten? Materiale: f.eks. krav - hvordan afgøres kvaliteten af indkomne krav? Mennesker: Er de rette kompetencer til stede? og på det rette tidspunkt? Værktøjer: F.eks.miljø (automatisk build og test).  Har vi testværktøjer der understøtter den process vi ønsker os? For mig er det vigtigt at værktøjsvalg ikke bliver et spørgsmål om vi *kan* teste, men om vi kan teste *effektivt*. Skalerer testmetoden? I hvilken grad skaber vi en vedligeholdelsesbyrde? Process: Process er altafgørende - ethvert resultat er en direkte konsekvens af den forudgående process. Det gælder også kvaliteten.
  • #23 Ukendt udestående arbejde. D.v.s. opgaver i endnu ikke har identificeret (f.eks. fejlrettelser)