Top Banner
Noah Sussman and Michelle D’Netto etsy or, Where Do Bugs Come From? Software Entomology
40

Software Entomology or Where Do Bugs Come From?

Nov 15, 2014

Download

Technology

Noah Sussman

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.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software Entomology or Where Do Bugs Come From?

Noah Sussman and Michelle D’Nettoetsy

or, Where Do Bugs Come From?

Software Entomology

Page 2: Software Entomology or Where Do Bugs Come From?

There will always be bugs in production

Page 3: Software Entomology or Where Do Bugs Come From?

Most Bugs Are Non-Obvious

Page 4: Software Entomology or Where Do Bugs Come From?

Debugging is hard

Page 5: Software Entomology or Where Do Bugs Come From?

I can remember the exact instant when I realized that a large part of my life... was going to be spent in finding mistakes in my own programs

~Maurice Wilkes, 1949

Page 6: Software Entomology or Where Do Bugs Come From?

Admiral Grace Hopper liked to tell a story in which a technician solved a glitch in the Harvard Mark II mainframe by pulling an actual insect out from between the contacts of one of its relays

~ The Jargon File

Page 7: Software Entomology or Where Do Bugs Come From?
Page 8: Software Entomology or Where Do Bugs Come From?

Complete testing is impossible.

Page 9: Software Entomology or Where Do Bugs Come From?

Even the simplest Web site has more edge cases than you could test, even if you ran one test per second until the heat death of the universe.

Page 10: Software Entomology or Where Do Bugs Come From?

assure that the probability of failure due to hibernating bugsis sufficiently low to be acceptable

~ Boris Beizer, 1983

Page 11: Software Entomology or Where Do Bugs Come From?

What constitutes a “sufficiently low” number of problems?

Page 12: Software Entomology or Where Do Bugs Come From?

Declaring a program “bug free,” is an entirely

subjective excercise

Page 13: Software Entomology or Where Do Bugs Come From?

Engineers suck at finding bugs in their own code

Page 14: Software Entomology or Where Do Bugs Come From?

too close to the software

Engineers + designers are

Page 15: Software Entomology or Where Do Bugs Come From?

Computer programs cannot detect bugs in other computer programs

Page 16: Software Entomology or Where Do Bugs Come From?

Debugging is twice as hard as writing the code in the first place.

~ Brian Kernighan

Page 17: Software Entomology or Where Do Bugs Come From?
Page 18: Software Entomology or Where Do Bugs Come From?

not the same as reporting a bug

Getting frustrated by software is

Page 19: Software Entomology or Where Do Bugs Come From?

Non-source-aware users tend to report only surface symptoms; they take their environment for granted...

~ ESR, “How Many Eyeballs Tame Complexity”, 1997

Page 20: Software Entomology or Where Do Bugs Come From?

Users never read manualsUsers would save time in the long term by learning more about the system. But that's not how people behave in the real world

~Jakob Nielsen

Page 21: Software Entomology or Where Do Bugs Come From?

On two occasions I have been asked... if you put into the machine wrong figures, will the right answers come out?

~Charles Babbage, 1864

Page 22: Software Entomology or Where Do Bugs Come From?
Page 23: Software Entomology or Where Do Bugs Come From?

When you report a bug

you have done a hard thing

Page 24: Software Entomology or Where Do Bugs Come From?

A bug report is a story about a problem and a good story has a beginning, middle and end

Page 25: Software Entomology or Where Do Bugs Come From?

Description of problemSteps to reproduceExpected resolution

Page 26: Software Entomology or Where Do Bugs Come From?

Provide context, and lots of it

Page 27: Software Entomology or Where Do Bugs Come From?

Be Quantitative

Engineers respond well to hard evidence

Page 28: Software Entomology or Where Do Bugs Come From?

Graph or it didn’t happenAt Etsy we monitor over 100,000 real-time metrics

Page 29: Software Entomology or Where Do Bugs Come From?

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

Page 30: Software Entomology or Where Do Bugs Come From?

Keep 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

You are doing science

Page 31: Software Entomology or Where Do Bugs Come From?

How many times has this happened?How many users were affected?How much time has been lost?What was the overall cost?

Page 32: Software Entomology or Where Do Bugs Come From?

Users

Page 33: Software Entomology or Where Do Bugs Come From?

The Support Team spend the most time engaging and empathizing with users

Page 34: Software Entomology or Where Do Bugs Come From?

You are a participant observer

Page 35: Software Entomology or Where Do Bugs Come From?

When you talk to your users, andyou write down what you learn,and you share what you wrote with others, you’re doing science

Page 36: Software Entomology or Where Do Bugs Come From?

digital computer: less than 70 years old,personal computer: less than 40,the Web: less than 20,mobile Web: less than 15

Page 37: Software Entomology or Where Do Bugs Come From?

The Web is going to keep on growing and changing

Page 38: Software Entomology or Where Do Bugs Come From?

80% of us aren’t even on the Web yet

Page 39: Software Entomology or Where Do Bugs Come From?

And you are teaching them how to do it

Most users of a Web site are doing something that is entirely new to them

Page 40: Software Entomology or Where Do Bugs Come From?