Wednesday, July 18, 2007

Dogfooding and Microsoft

Why microsoft do dogfooding for their products? they also do a testing phase for their development and why its required even after product testing by testing experts..? and why its called dog fooding?

This question leads me look at why's? i got the answers and felt its a good practice of microsoft. thought of shareing

Here goes what's & why's? (mashup from websites for busy people. what to know more.. ? read the source links)

Where the term came from:
Brian Valentine set up an internal test server at Microsoft called "Dogfood". From this initial usage the term spread through Microsoft, to the point where reaching the "Dogfood" stage (i.e. good enough to use it yourself) became an important step. From there it spread to the wider industry.

History of Dogfooding:

"...but will the dog eat the dog food?" which is a shorthand way of saying that the product may look good and have many positive qualities, but the most fundamental point is whether the consumer actually likes it. The slogan refers to the early days of television, when programming and commercials were live, and things did not always go as planned, particularly if one of the actors was a dog. Dog food commercials frequently ended with a dog actually not eating the product. Thus, no matter how good the food looks on camera, or how good its story sounds, the commercial is not a success until the dog actually eats the dog food. This term became popular in the technology industry during the dot-com craze as many services seemed to be developed because they could be developed, rather than because consumers wanted them. The metaphor of a company "eating its own dog food" takes this idea one step further to say that the company has not merely considered the value of the product for consumers (that is, whether the dog will eat the dog food), but actually is a consumer of the product.


Why Dogfooding at Microsoft?

It's short for "to eat one's own dogfood," which means "to use the product yourself that you are trying to sell to your customers." The purpose of dogfooding is severalfold, but the main reasons are:
1) It proves to customers that we believe in the product.
2) Because dogfooding usually means using beta (or pre-beta) software, it helps flush more bugs out of the product.
3) It makes us suffer the same bugs and design flaws that we inflict on users, thus giving us incentive to fix them.
4) It's a valuable reality check that the product is actually as good as we say it is.
5) Because Microsoft is such a large organization, it can flush out problems that could not otherwise be found prior to full-scale rollout at launch. (This holds especially true for corporate server products such as Exchange, SQL, IIS, etc.)
6) We learn how our products actually work, which is more often than not not exactly how we think they work.
All in all, dogfooding is a extremely valuable, if not sometimes painful, thing that we do at Microsoft.



Using one's own products has four primary benefits:
-The product's developers are familiar with using the products they develop.
-The company's members have direct knowledge and experience with its products.
-Users see that the company has confidence in its own products.
-Technically savvy users in the company, with perhaps a very wide set of business requirements and deployments, are able to discover and report bugs in the products before they are released to the general public.

Thought for you: Is it benifitial to do dogfooding for your project?

1 comment:

rajeswari said...

U never said u have a tech blog..Very bad...interesting topic yaar..."dogfooding"> another word to my vocabulary....