From Jargon File (4.3.1, 29 Jun 2001) :
dogfood n. [Microsoft, Netscape] Interim software used internally for
testing. "To eat one's own dogfood" (from which the slang noun derives)
means to use the software one is developing, as part of one's everyday
development environment (the phrase is used outside Microsoft and
Netscape). The practice is normal in the Linux community and elsewhere,
but the term `dogfood' is seldom used as open-source betas tend to be
quite tasty and nourishing. The idea is that developers who are using
their own software will quickly learn what's missing or broken. Dogfood
is typically not even of beta quality.