5. No bashing of Waterfall today
"All models are wrong; Some models are useful"
- George Box
6. A quick status...
• Number of currently open defects?
o 10?
o 50?
o 100?
o 1000?
7. A quick status...
• Prioritization of defects?
o Priority 1
o Priority 2
o Priority 3
8. Is it really that 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
o 3 hours per defect (reporting, prioritization, fixing, retest, accept)
o 6 effective hours a day
o 220 work days a year
= 20 man-years!
10. It reminds me of...
How many americans does
it take to make a toast?
11. It reminds me of...
How many americans does
it take to make a toast?
Two!
One to burn it, one to scrape it
12. 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
13. Vi believe...
• Any undesirable result represents a starting point for
generating new learning.
14. We believe...
Or in plain english...
Every problem is an opportunity
16. The small details...
• Test • Quality Assurance
o Verification o Early involvement
o Test-driving o Proactivity
o Something that should o Help building the right
be automated system in the right
quality
18. A new hypothesis
Prevention is far more effective than fault-finding.
Rationale?
19. 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
21. What can I do?
Do more of this
• Strive to create a common understanding
o no later than just before development starts
• Exploratory testing
o as soon as possible
• Stop feature work
o until defects have been corrected
• Find, understand and remove the causes behind defects
Do less of this
• Manuel regression testing
22. 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?
Hinweis der Redaktion
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.
En gammel klassiker Den er få vel uenige i...?
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
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...
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.
En fælles kollega gav os lidt defect statistik (baseret på overslag)
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
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?
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.
Når *vi* hører Test vs. QA tænker vi følgende... Test: Noget der burde automatiseres.
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"
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.
Kvalitet skal indbygges fra starten (i modsætning til at "teste" det ind senere) Hvis kvaliteten skal indbygges fra start...
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.
Ukendt udestående arbejde. D.v.s. opgaver i endnu ikke har identificeret (f.eks. fejlrettelser)