Eating your own dog food

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

Eating your own dog food, also called dogfooding, is a slang term used to reference a scenario in which a company uses its own product to test and promote the product.[1]

Introduction

Dogfooding can be a way for a company to demonstrate confidence in its own products, and a way to test it in real-world usage. Hence dogfooding can act as both quality control and a kind of testimonial advertising.[2][3]

InfoWorld commented that this needs to be transparent and honest: "watered-down examples, such as auto dealers' policy of making salespeople drive the brands they sell, or Coca-Cola allowing no Pepsi products in corporate offices ... are irrelevant."[4] In this sense, a corporate culture of not supporting the competitor is not the same as a philosophy of "eating your own dog food". The latter focuses on the functional aspects of the company's own product.

One perceived advantage beyond marketing is that dogfooding allows employees to test their company's products in real-life scenarios,[3][5] which gives management a sense of how the product might be used - all before launch to consumers.[5] In software development, dogfooding can occur in multiple stages: first, a stable version of the software is used with just a single new feature added. Then, multiple new features can be combined into a single version of the software and tested together. This allows several validations before the software is released. The practice enables proactive resolution of potential inconsistency and dependency issues, especially when several developers or teams work on the same product. For example, the websites of the Wikimedia Foundation engage in this sort of testing, with the public stable versions of MediaWiki based on public testing of the Wikimedia alpha versions.

The risks of public dogfooding, specifically that a company may have difficulties using its own products, may reduce the frequency of publicized dogfooding.[6]

Origin of the term

The editor of IEEE Software recounts that in the 1970s television advertisements for Alpo dog food, Lorne Greene pointed out that he fed Alpo to his own dogs. Another possible origin is the president of Kal Kan Pet Food, who was said to eat a can of his dog food at shareholders' meetings.[7]

In 1988, Microsoft manager Paul Maritz sent Brian Valentine, test manager for Microsoft LAN Manager, an email titled "Eating our own Dogfood", challenging him to increase internal usage of the company's product. From there, the usage of the term spread through the company.[8][9]

Examples

<templatestyles src="Template:Quote_box/styles.css" />

"Microsoft's use of Windows and .NET would be irrelevant except for one thing: Its software project leads and on-line services managers do have the freedom to choose."

Tom Yager, InfoWorld[4]

In February 1980, Apple Computer president Michael Scott wrote a memo announcing "Effective Immediately!! No more typewriters are to be purchased, leased etc., etc. ... We believe the typewriter is obsolete. Let's prove it inside before we try and convince our customers."[10] He set a goal to remove all typewriters from the company by 1 January 1981.[11]

By 1987, Atari Corp. was in the process of using the Atari ST throughout the company.[12]

In 1989, Donald Knuth published a paper recounting lessons from the development of his TeX Typesetting software, in which the benefits of the approach were mentioned:

<templatestyles src="Template:Blockquote/styles.css" />

Thus, I came to the conclusion that the designer of a new system must not only be the implementor and the first large-scale user; the designer should also write the first user manual. The separation of any of these four components would have hurt TEX significantly. If I had not participated fully in all these activities, literally hundreds of improvements would never have been made, because I would never have thought of them or perceived why they were important.

— Donald E. Knuth, "The Errors Of TeX"[13]

The development of Windows NT at Microsoft involved over 200 developers in small teams, and it was held together by Dave Cutler's February 1991 insistence on dogfooding. Microsoft developed the operating system on computers running NT daily builds, initially text only, then with graphics, and finally with networking. It was initially crash prone, but the immediate feedback of code breaking the build, the loss of pride, and the knowledge of impeding the work of others were all powerful motivators.[14][15] Windows developers would typically dogfood or self-host Windows starting from the early (alpha) builds, while the rest of the employees would start from the more stable beta builds that were also available to MSDN subscribers. In 2005, Infoworld reported that a tour of Microsoft's network operations center "showed pretty much beyond a reasonable doubt that Microsoft does run its 20,000-plus node, international network on 99 percent Windows technology, including servers, workstations, and edge security."[16] InfoWorld argued that "Microsoft's use of Windows for its high-traffic operations tipped many doubters over to Windows' side of the fence".[17]

In the mid-1990s, Microsoft's internal email system was initially developed around Unix. When asked why, they publicly moved to using Microsoft Exchange.[18] In 1997, an email storm known as the Bedlam DL3[19] incident made Microsoft build more robust features into Microsoft Exchange Server to avoid lost and duplicate emails and network and server down-time, although dogfooding is rarely so dramatic. A second email storm in 2006[20] was handled perfectly, by the system.

In 1999, Hewlett-Packard staff referred to a project using HP's own products as "Project Alpo".[21]

When Time Warner merged with AOL in 2001, AOL's email system was adopted by the new AOL Time Warner, resulting in lost emails and productivity. Use of the system was discontinued.[5][22]

Government green public procurement that allows testing of proposed environmental policies has been compared to dogfooding.[23]

On 1 June 2011, YouTube added a license feature to its video uploading service allowing users to choose between a standard or Creative Commons license.[24][25] The license label was followed by the message (Shh! - Internal Dogfood) that appeared on all YouTube videos lacking commercial licensing.[26] A YouTube employee confirmed that this referred to products that are tested internally.[27]

On March 23, 2012, the BATS Global Markets stock exchange attempted to go public, using its own exchange as the venue for the IPO. Due to a disastrous glitch in the company's trading systems, the IPO was a failure, and the company had to withdraw the BATS stock offering.[28][29][30]

Criticism and alternative terms

Forcing those who design products to actually use and rely on them is often thought to improve quality and usability, but software developers may be blind to usability and may have knowledge to make software work that an end user will lack.[5] Microsoft's chief information officer noted in 2008 that, previously, "We tended not to go through the actual customer experience. We were always upgrading from a beta, not from production disk to production disk."[31] Dogfooding may happen too early to be viable, and those forced to use the products may assume that someone else has reported the problem or they may get used to applying workarounds. Dogfooding may be unrealistic, as customers will always have a choice of different companies' products to use together, and the product may not be used as intended. The process can lead to a loss of productivity and demoralisation,[5] or at its extreme to the "Not Invented Here syndrome"; i.e., only using internal products.[7]

In 2007, the CIO of Pegasystems said that she uses the alternate phrase "drinking our own champagne".[32] Novell's head of public relations Bruce Lowry, commenting on his company's use of Linux and OpenOffice.org, said that he also prefers this phrase.[33] In 2009, the new CIO of Microsoft, Tony Scott, argued that the phrase "dogfooding" was unappealing and should be replaced by "icecreaming", with the aim of developing products as "ice cream that our customers want to consume."[34] A less controversial and common alternate term used in some contexts is self-hosting, where developers workstations would for instance get updated automatically overnight to the latest daily build of the software or operating system they work on. Developers of IBM's mainframe operating systems have long used the term, "eating our own cooking".

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. 3.0 3.1 Lua error in package.lua at line 80: module 'strict' not found.
  4. 4.0 4.1 Lua error in package.lua at line 80: module 'strict' not found.
  5. 5.0 5.1 5.2 5.3 5.4 Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. 7.0 7.1 Lua error in package.lua at line 80: module 'strict' not found.
  8. Inside Out: Microsoft—In Our Own Words (ISBN 0446527394)
  9. Lua error in package.lua at line 80: module 'strict' not found. Quote: "[Paul] Maritz also poked fun at himself by claiming that one of his only contributions to the IT world is coining the commonly used "eat your own dog food" phrase. "You can read about it on Wikipedia, so it must be true," Maritz said.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. "The Errors Of TeX", SOFTWARE-PRACTICE AND EXPERIENCE, VOL. 19(7), JULY 1989, pp 622
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. "Me Too!" The Exchange Team Blog. April 8, 2004 in MSexchangeteam.com
  20. "It's Bedlam all over again..." Larry Osterman's WebLog. September 18, 2006 in blogs.msdn.com
  21. Lua error in package.lua at line 80: module 'strict' not found. Note: Alpo is a brand of dog food.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. Lua error in package.lua at line 80: module 'strict' not found.
  28. Lua error in package.lua at line 80: module 'strict' not found.
  29. Lua error in package.lua at line 80: module 'strict' not found.
  30. Lua error in package.lua at line 80: module 'strict' not found.
  31. Lua error in package.lua at line 80: module 'strict' not found.
  32. Lua error in package.lua at line 80: module 'strict' not found.
  33. Lua error in package.lua at line 80: module 'strict' not found.
  34. Lua error in package.lua at line 80: module 'strict' not found.

External links