29
hps://www.facebook.com/wedevpv February 3

Bug Free Development

Embed Size (px)

Citation preview

Page 1: Bug Free Development

https://www.facebook.com/wedevpv

February

3

Page 2: Bug Free Development

BUG FREE DEVELOPMENTStefano Fornari

([email protected])

Page 3: Bug Free Development

WHY?(manager hat on)

IT IS ALL ABOUT QUALITY!

… AND ...

MORE QA =

LESS QUALITY

Page 4: Bug Free Development

IT IS ALL ABOUT CONFIDENCE!

… AND ...

MORE QA =

LESS CONFIDENCE

WHY?(developer hat on)

Page 5: Bug Free Development

STEP 1 – SEND YOUR QA TEAM TO THE BEACH

Page 6: Bug Free Development

DEFECT?

Page 7: Bug Free Development

POOR DESCRIPTION OF/WRONG REQUIREMENTSMISUNDERSTANDINS

WRONG ASSUMPTRIONSCHANGING REQUIREMENTS

LACK OF KNOWLEDGE/INFORMATIONENHANCEMENTS

...

DEFECT ROOT CAUSES

Page 8: Bug Free Development

DEFECT ROOT CAUSESPOOR DESCRIPTION OF/WRONG REQUIREMENTS

MISUNDERSTANDINSWRONG ASSUMPTRIONS

CHANGING REQUIREMENTSLACK OF KNOWLEDGE/INFORMATION

ENHANCEMENTS...

CODE MISTAKES:BUGS!

Page 9: Bug Free Development

BUGS vs MISTAKES

MISTAKE unplanned behaviour given my current understanding and knowledge of the problem

BUG unexpected behaviour given my current understanding and

knowledge of the problem

Page 10: Bug Free Development

EXAMPLES

Page 11: Bug Free Development

EXAMPLES

Page 12: Bug Free Development

STEP 2 – BUGS ARE UNACCEPTABLE

(PERIOD!)

Page 13: Bug Free Development

DEFECTS TREND

OpenOffice bug statistics

!!!!

Page 14: Bug Free Development

STEP 3 – DAILY BUG REVIEW

Page 15: Bug Free Development

BUG REVIEW GOAL

MISTAKE handled as usual(too bad...)

BUG must be fixed immediately(remember: bugs are unacceptable!)

Page 16: Bug Free Development

STEP 4 – BUILD QUALITY IN

Page 17: Bug Free Development

HOW?

MISTAKE testing → prevention (quality assurance → user advocates)

BUG unconfidence → confidence(bug free development)

Page 18: Bug Free Development

STEP 5 – BUG FREE DEVELOPMENT

Page 19: Bug Free Development

CONFIDENCE ZONE

1 do not write code...… unless you need it

Page 20: Bug Free Development

CONFIDENCE ZONE

2 what do you want to do?...… write a specification

specif

caton

Page 21: Bug Free Development

CONFIDENCE ZONE

3 run the specification… it fails, now we need to write code

specif

caton

the spec is not satsfed

Page 22: Bug Free Development

CONFIDENCE ZONE

4 write the simplest code possible...… and satisfy the specification

specif

caton

the spec is not satsfed

the s

pec i

s sa

tsfed

Page 23: Bug Free Development

ISN'T TDD?

YES but...“Test” of T... Driven

Development is BANNED!

the Kent Beck way, literally!

it is a coding practice (i.e. not a unit testing technique)

Page 24: Bug Free Development

DOES IT WORK?

Page 25: Bug Free Development

BENEFITSQUALITY IS ANYONE RESPONSIBILITY ATTITUDENO “DON'T TOUCH WHAT WORKS” ANYMORE

ENJOYABLE FEELING WHILE WRITING CODECONFIDENCE TO CHANGE SHARED CODE

CONFIDENCE TO CHANGE ANYONE'S CODEBETTER CODE, BETTER ARCHITECTURE

REDUCED/NO USE OF DEBUGGERSREDUCED/NO NEED OF LOGGING

REDUCED/NO NEED OF EMULATORSREDUCED/NO NEED OF BROWSERS

...

Page 26: Bug Free Development

CAN WE MEASURE?

Page 27: Bug Free Development

Q=f(# of bugs, severity, component priority)

Q FACTOR

Page 28: Bug Free Development

Q=f(# of bugs, severity, component priority)

Q FACTOR (the real one 2)

Page 29: Bug Free Development

QUESTIONS?http://www.bugfreedevelopment.net