Software Entomology or Where Do Bugs Come From?
Upcoming SlideShare
Loading in...5

Like this? Share it with your network


Software Entomology or Where Do Bugs Come From?



An internal training talk that Michelle D'Netto and I periodically give for Customer Support representatives at Etsy. Introduces advanced Software Quality concepts such as the halting problem, the ...

An internal training talk that Michelle D'Netto and I periodically give for Customer Support representatives at Etsy. Introduces advanced Software Quality concepts such as the halting problem, the impossibility of complete testing and the extreme difficulty of discovering all of the significant bugs in one's own software. Winds up by encouraging anyone responsible for online customer experience, to envision themselves as a participant observer embedded in the rapidly-evolving culture of the Web.



Total Views
Views on SlideShare
Embed Views



17 Embeds 695 313 269 24 21 12 10 10 8 7 6 5 4 2 1 1 1 1



Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Software Entomology or Where Do Bugs Come From? Presentation Transcript

  • 1. Software Entomology or, Where Do Bugs Come From? Noah Sussman and Michelle D’Netto etsy
  • 2. There will always be bugs in production
  • 3. Most Bugs Are Non-Obvious
  • 4. Debugging is hard
  • 5. I can remember the exactinstant when I realized that alarge part of my life... wasgoing to be spent in findingmistakes in my own programs ~Maurice Wilkes, 1949
  • 6. Admiral Grace Hopper likedto tell a story in which atechnician solved a glitchin the Harvard Mark IImainframe by pulling anactual insect out frombetween the contacts ofone of its relays ~ The Jargon File
  • 7. Complete testing is impossible.
  • 8. Even the simplest Website has more edge casesthan you could test, evenif you ran one test persecond until the heatdeath of the universe.
  • 9. assure that the probability of failuredue to hibernating bugsis sufficiently lowto be acceptable~ Boris Beizer, 1983
  • 10. What constitutes a “sufficiently low”number of problems?
  • 11. Declaring aprogram“bug free,”is anentirelysubjectiveexcercise
  • 12. Engineers suck at findingbugs in their own code
  • 13. Engineers + designers aretoo close to the software
  • 14. Computer programs cannot detectbugs in other computer programs
  • 15. Debugging is twice ashard as writing the codein the first place. ~ Brian Kernighan
  • 16. Getting frustrated by software isnot the same as reporting a bug
  • 17. Non-source-aware userstend to report only surfacesymptoms; they take theirenvironment for granted... ~ ESR, “How Many Eyeballs Tame Complexity”, 1997
  • 18. Users never read manualsUsers would save time in the longterm by learning more about thesystem. But thats not how peoplebehave in the real world ~Jakob Nielsen
  • 19. On two occasionsI have been asked...if you put into themachine wrongfigures, will the rightanswers come Babbage, 1864 ~Charles out?
  • 20. When you report a bugyou have done a hard thing
  • 21. A bug report is a story about a problem anda good story has a beginning, middle and end
  • 22. Description of problemSteps to reproduceExpected resolution
  • 23. Provide context, and lots of it
  • 24. Be Quantitative Engineers respond well to hard evidence
  • 25. Graphmonitorit didn’t happenAt Etsy we or over 100,000 real-time metrics
  • 26. A good editor ismeticulously attentive to detail,a stickler for technical correctness,aware of the work as a whole andsensitive to the expectations of the audience
  • 27. You are doing scienceKeep a journalTake screenshots (use Skitch)Log IRC, Skype and other chatsMake multiple redundant backups (use DropBox)Save everything— you won’t know you need it until you need it
  • 28. How many times has this happened?How many users were affected?How much time has been lost?What was the overall cost?
  • 29. Users
  • 30. The SupportTeam spendthe most timeengaging andempathizingwith users
  • 31. You are a participant observer
  • 32. When you talk to your users, andyou write down what you learn,and you share what you wrotewith others, you’re doing science
  • 33. digital computer: less than 70 years old,personal computer: less than 40,the Web: less than 20,mobile Web: less than 15
  • 34. The Web is going to keep on growing and changing
  • 35. 80% of us aren’teven on the Web yet
  • 36. Most users of a Web site are doing something that is entirely new to them And you are teaching them how to do it