Dogfooding: the use of a newly developed product or service by a company’s staff to test it before it is made available to customers.

Lexico Powered by Oxford

Puppies eating

The origin of the term of somewhat disputed as to whether it was a human or dog that would try the dog food. But the term permeates today in the software field for encouraging staff to use their own software first. Don’t confuse it as rigorous testing but close to real world testing, for example Github source code is on Github, Gmail was used inside Google before externally, etc. There are plenty of examples!

In most of my roles, except for the staff benefits I’ve never really had an incentive to eat my company’s dog food. Recently however I built Issue Embed which I eventually plan to release as a Github App. It is currently a little way from attempting to get into the Github Marketplace, however I wanted to put it through some real world testing. So I decided to target my own repositories to begin with.

Screenshot of Issue Embed on EmojiMailer

I have put Issue Embed onto 5 of my sites (not including the Issue Embed landing page), these real life examples have yielded problems which I would not have encountered purely through testing or on just the Issue Embed site. Within such a short period of time I gain more insight than I think I would have without dogfooding. However as with anything, there are both pros and cons.

Pros

  • Get to experience you own product as a customer, providing high quality feedback (hopefully) and a point of contact for a developer/product manager/etc.
  • Solve real problems with the product
  • Find problems and shortcomings before your customers do
  • Achieve product-market fit for at least one company/user

Cons

  • You probably aren’t a typical use case which might mean prioritizing features for yourself instead of your customers use case
  • Only makes sense if you are your own target customer, otherwise you are just testing with an artificial scenario
  • As you probably have some insights to design/terminology/intent of the product, you may overlook things that would not make sense to an outsider

If it makes sense for your product and your users, I highly suggest try eating your own dog food. Just keep in mind you might not be the atypical user!