Mar 142013
 
 March 14, 2013  Posted by at 1:11 pm Not So Stupid Questions  Add comments

[To celebrate my first year of programming I will ask a ‘stupid’ questions daily on my blog for a year, to make sure I learn at least 365 new things during my second year as a developer]

Dogfooding, can you stomach your own software?

Dogfooding, can you stomach your own software?

I don’t know where, or when, but I heard somebody use the term ‘dogfooding’ in regards to software. I had no idea what that means, honestly it doesn’t sound very appetizing 🙂

Sometime in the 1970’s somebody demonstrated that the dog food sold by the company was so good, it could be consumed by humans. And he (or she) ate it. Fair enough. Then a few years later Microsoft manager Paul Maritz sent an email titled Eating our own dogfood, where he talked about the importance of using the software they created.

So dogfooding is all about using yourself what you expect others to use, and this is a common practice seen by Google and Microsoft, and quite a few other companies. I’ve also seen this phrase used by companies creating software for internal use (which may or may not be sold to costumers).

  5 Responses to “Stupid Question 163: What is dogfooding?”

  1. When you are using your own product you are dog fooding.

    IIRC Delphi was built in Delphi. Visual studio is probably built in… drumroll… visual studio. unt zu weiter

  2. I have a nice write-up of it here, along with a graphic from the 2013 Software Craftsmanship calendar :).
    http://deviq.com/dogfooding

  3. I always heard that the origin story was that the spokesman for Alpo dog food fed the food to his own dog because he so believed in the product that he used it himself.

  4. I’m an amateur app dev and I follow this method religiously. I basically make apps that I personally want, so I end up using them a lot. It really helps to not only find bugs, but also to iron out the little things that users find annoying. I’m always looking for ways to streamline actions or remove clutter, and I feel that my apps get better with every update.

    So my main use of dogfooding is to pinpoint anything annoying, tedious, or unclear about my apps so that the end user has a better experience.

  5. I think it’s most commonly used to refer to APIs. So for example if you’re releasing an API (eg a public web service) for your app, you should build your app on top of it and that way you’ll know it contains enough features and is performant enough.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

What is 12 + 11 ?
Please leave these two fields as-is:
IMPORTANT! To be able to proceed, you need to solve the following simple math (so we know that you are a human) :-)