Dogfood is an expression that means to use the product or service that you are trying to sell.
Dogfood can be used as a noun, as in the sentence, "A company that eats its own dog food sends the message that it considers its own products to be the best on the market." Or it can be used as a verb, as in the sentence, "We need to dogfood this product before we roll it out to the public."
The expression was inspired by an advertising campaign for commercial dog food from the 1970s where actor Lorne Greene told consumers "And when it comes to feeding my own dog, I know there isn't a better dog food than Alpo." The message to the consumer was that the product spokesman thought Alpo was so good that he used it himself.
According to Paul Vick, Microsoft's tech lead for Visual Basic Development, dogfood is part of the company culture at Microsoft because:
1) It proves to customers that Microsoft believes in their products.
2) It helps flush out bugs, because dogfooding involves beta (or pre-beta) software.
3) It makes Microsoft employees suffer the same bugs and design flaws that they inflict on users, thereby providing incentive to fix them.
4) It's a valuable reality check that the product is actually as good as Microsoft says it is.
5) Because Microsoft is such a large company, dogfooding an enterprise-level product can flush out problems that could not otherwise be found prior to full-scale rollout at launch.
6) It allows Microsoft developers to learn how their products actually work, which may not be exactly how developers think they work.