The Ultimate Dogfooding Story

I used to work for a network switch company. We always replaced the switches in our office and IT room with our own products as they were ready. You find 90% of the bugs that users will eventually report before the product ever leaves the building.

He put his own finger up to it? Even If I was certain it would work I still wouldn’t take that chance. The device he made is a form of insurance. Nothing is a guarantee. That’s some scary stuff

@Joe: Yes, it does. It also destroys the protection system. That’s caused by the fact that there are enormous forces getting freed by the stop. He compared to to driving a car with 1000 MPH against a concrete wall (enough G to flatten the car to 1/20 of its original size). There is this piece of metal that stops the saw blade, it’s massive, but in the video the blade squeezes it like it was rubber. However, they also say that the replacement costs for the parts that break are only about $60 and hey, what are $60 if they can safe you from losing one or more fingers? Nothing.

I saw the video with the finger and I still have this tickling feeling inside my stomach. It’s like driving roller coaster. No matter how many times someone ensures me that is is absolutely safe, I’d never get my finger even close to such a thing! There are some things in life you don’t necessary have to try.

Trying your own software though is not a bad idea. The main problem is that with the exception of one product, I have absolutely no use for the software we produce. In some cases because this is nothing I could use in a useful way, in some other cases because I’m missing feature. You might say: Hey, if you miss them, other users will as well, so why not adding them? Trust me, I complained about these features being missing before the first public release of the software, but product managers tend to become deaf when the own developers say Without adding at least this set of feature, how can this product be of any use for anyone?. In the worst case you get a reply like this only makes the software complicated or this is just a pro feature, normal customers won’t car for it. Hmmm… maybe, but I am a pro and this feature is not too complicated for me, I need it and because of that I would never buy our product. Other users do… maybe they don’t miss these features. In the best case you may be told Yes, certainly a good idea, we will consider it for the first/next update; I might get my features in the end, but the question is when.

However, the one product I have written most code for is really the only product I regularly use myself. And if I here miss a feature and the product manager won’t allow me to add it, I go on strike! (I can’t go on strike for other products where I’m not even involved in the development process, can I?). And as a regular user, I would immediately notice if we had a fundamental bug. On the other hand, I’m not a power user of it. Other users run into bugs I have never had myself because I’m not using the product the ways they are using it. So what I’m trying to say here is Eating your own dogfood is not the same as testing the product. It only ensures the product won’t break if you use it your way, but your way is not automatically the way of anyone else. Testing is more effective for finding bugs. Eating your own dogfood is more effective for finding missing features or badly designed workflows.

When you keep using the product and hear yourself saying Geez, now I have to click here again and now there, this really sucks doing it for each item, you know what to do, don’t you? Yup, time for batch processing :wink:

While that IS an interesting dogfooding story, the ultimate dogfooding story is of Richard Davis of Second Chance body armor. He demonstrates the worth of his vests by (wait for it) shooting himself (with a .44 Magnum round, no less). http://en.wikipedia.org/wiki/Second_Chance_(body_armor)

SawStop doesn’t destroy the saw, just the blade. Blades are (fairly) cheap, maybe $50. It’s still an aw crap, but not nearly as much as reattaching your finger. In addition to stopping the blade, which is good, it actually drops the blade down below the table instantly. It’s very cool.

This guy is a true entrepreneur. Here’s another example of a true entrepreneur: a guy in the early 20th century willing to take a bullet to prove his bullet proof vest works:

There is another great example of this, that comes from the inventer of the original bullet proof kevlar vest. He did a demonstration with a bunch of police officers, where he turned a hand gun on himself and shot himself in the chest. He then gets up immediately after shooting himself, and shoots two watermelons… the idea being to demonstrate that you can still fight back after being shot.

Get real Clinton Pierce! My father owns a woodshop in Texas and over the years one man lost all five fingers on one hand, and another lost a thumb. Since getting this saw system, it has gone off once and had to have a new blade and cartridge but NO ONE AHS LOST ANY FINGERS since getting it. I know you think you are far too smart to need these types of protections but come on. Perhaps you should stop wearing seat belts and using airbags since it provides a level of comfort that NO [CAR] USER SHOULD EVER HAVE.

The kid of a guy my dad works with lost his finger to a tablesaw. His father now calls him Stumpy.

It’s brilliant and since I do a lot of woodworking, I would buy it in an instant if it weren’t for one little problem that a lot of software has as well…

I wouldn’t call it affordable. It’s $4000. I have a comparable saw (minus the saw stop safety feature) that cost $600.

Obviously the first time it prevented me from cutting off my finger, it would pay for itself but with proper use of a fence, jigs, and a push stick, your fingers never need to be anywhere near the saw blade.

I applaud his invention though.

So the real technical question is why hasn’t this been widely adopted?

Too expensive even at the cost of 3000 fingers/year?
Too many false stops?

Why causes this resistance to change?

Answer that, and you will know why very good software doesn’t get adopted. Even when it is clearly better.

I don’t like the way you said ‘extremities’ instead of ‘fingers’. shudder

Ever read about Newton’s experimentation on his own eyeball?

Jeff, your post skips over a major advantage of eating your own dogfood in software: You learn how the program is actually used; you find the annoying little problems; you find areas of malaise which can’t be easily described in problem reports, only felt; you have those sudden wow, if only the software did X… moments; etc.

Eating your own dogfood is not so much about inspiring confidence as its about building quality products.

why hasn’t this been widely adopted?

Because nobody ever believes it will happen to them, and they’re not willing to pay the premium. It’s the same principle as the grossly unsafe contact-fire nailguns widely used in frame construction, often by poorly educated immigrant laborers with no special training it their safe use. Even if manufacturers put safety devices on the gun, workers would immediately disable them because they slow down the work, and they’re not willing to pay that premium either. They’ll just be careful.

Safety first my ass. The industry actually practices safety as long as it doesn’t cost anything.

Yeah, I always run the latest CVS version of Bugzilla on my development server. They used to do the same on bugzilla.mozilla.org (or at least run very close to the tip), but then it became an important production service for an important corporation (Mozilla) and they couldn’t anymore. We do still use Bugzilla itself every day, on bugzilla.mozilla.org, which is where we track bugs in Bugzilla itself.

I’m happy to stick my finger into the spinning blades of the development branch, though, even if I’m somewhat apprehensive when I do it. I think it makes you a lot more wary as a developer of doing anything that might cause dataloss or irreparable damage, even in your unstable code.

-Max

@KJB

Actually, I won’t name names, but I have worked for a company that is truly safety first. They win many awards for it, and the lack of downtime from injuries more than makes up for the cost.

If people actual factor in the cost of injuries in terms of productivity lost, it’s actually much cheaper to buy more expensive equipment.

@Ross Patterson

Your example sounds like the guy who tested bulletproof glass by firing a gun at his wife. Testing it on a loved one isnt dogfooding… we should come up with a term where someone other then the inventor is taking the risk.

Software dogfooding story: a few years ago when I worked at Microsoft, the company was dogfooding the latest build of Exchange on the email servers. It was getting close to release when an interesting bug was hit, the details of which are now rather hazy (although as I type this I’m wearing a t-shirt made to commemorate this event). Somebody sent a message to a distribution list (DL) with a read receipt enabled, then changed their mind and tried to recall the message. It started a wonderful cascade of recall messages to all 1000+ members of the DL, along with read receipts being sent to…not the original sender, but the DL! With auto read receipts enabled…and sent to the DL…of course, some folks didn’t think, and just replied with messages that said Don’t REPLY ALL!, which caused read receipts to be sent to the DL…

When all was said and done the DL was flooded with approximately 1.6 million messages that afternoon.

we should come up with a term where someone other then the inventor is taking the risk.

Guinea Pig, perhaps?