Eating your own dog food

Last updated

Eating your own dog food or "dogfooding" is the practice of using one's own products or services. [1] This can be a way for an organization to test its products in real-world usage using product management techniques. Hence dogfooding can act as quality control, and eventually a kind of testimonial advertising. Once in the market, dogfooding can demonstrate developers' confidence in their own products. [2] [3]

Contents

Origin of the term

In 2006, Warren Harrison, the Editor-in-Chief of IEEE Software recounted 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 he remembered was that the president of Kal Kan Pet Food was said to eat a can of his dog food at annual shareholders' meetings. [4] [5]

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. [6] [7]

Real world usage

InfoWorld commented that this needs to be a transparent and honest process: "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." [8] 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.

Dogfooding allows employees to test their company's products in real-life situations; a perceived, but still controversial, advantage beyond marketing, [3] [9] which gives management a sense of how the product might be used—all before launch to consumers. [9] 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.[ citation needed ]

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

Examples

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]

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. The software 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. [13] [14] 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.[ citation needed ] 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". [15] InfoWorld argued that "Microsoft's use of Windows for its high-traffic operations tipped many doubters over to Windows' side of the fence." [16]

"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 [8]

In the mid-1990s, Microsoft's internal email system was initially developed around Unix. When asked why, they publicly moved to using Microsoft Exchange. [17] In 1997, an email storm known as the Bedlam DL3 [18] 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 [19] was handled perfectly by the system.

In 1999, Hewlett-Packard staff referred to a project using HP's own products as "Project Alpo" (referring to a brand of dog food). [20] Around the same time, Mozilla also practised dogfooding under that exact name. [21]

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

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. [23] [24] The license label was followed by the message "(Shh! – Internal Dogfood)" that appeared on all YouTube videos lacking commercial licensing. [25] [ failed verification ] A YouTube employee confirmed that this referred to products that are tested internally. [26]

Oracle Corporation stated that as of October 2016 it "runs Oracle Linux with more than 42,000 servers [to] support more than 4 million external users and 84,000 internal users. More than 20,000 developers at Oracle use Oracle Linux". [27]

Criticisms and support

Forcing those who design products to actually use and rely on them is sometimes 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. [9] 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." [28] Dogfooding may happen too early to be viable, and those forced to use the products may get used to applying workarounds or may assume that someone else has reported the problem. 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, [9] or at its extreme to "Not Invented Here" syndrome, i.e. only using internal products. [4]

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:

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" [29]

Alternative terms

In 2007, Jo Hoppe, the CIO of Pegasystems, said that she uses the alternative phrase "drinking our own champagne". [30] 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. [31] 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". [32] A less controversial and common alternative 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 on which they work. Developers of IBM's mainframe operating systems have long used the term "eating our own cooking".[ citation needed ]

See also

Related Research Articles

<span class="mw-page-title-main">StarOffice</span> Discontinued office suite software

StarOffice is a discontinued proprietary office suite. Its source code continues today in derived open-source office suites Collabora Online and LibreOffice. StarOffice supported the OpenOffice.org XML file format, as well as the OpenDocument standard, and could generate PDF and Flash formats. It included templates, a macro recorder, and a software development kit (SDK).

<span class="mw-page-title-main">ClamAV</span> Open-source antivirus software

ClamAV (antivirus) is a free software, cross-platform antimalware toolkit able to detect many types of malware, including viruses. It was developed for Unix and has third party versions available for AIX, BSD, HP-UX, Linux, macOS, OpenVMS, OSF (Tru64), Solaris and Haiku. As of version 0.97.5, ClamAV builds and runs on Microsoft Windows. Both ClamAV and its updates are made available free of charge. One of its main uses is on mail servers as a server-side email virus scanner.

<span class="mw-page-title-main">Free and open-source software</span> Software whose source code is available and which is permissively licensed

Free and open-source software (FOSS) is software that is available under a license that grants the right to use, modify, and distribute the software, modified or not, to everyone free of charge. The public availability of the source code is, therefore, a necessary but not sufficient condition. FOSS is an inclusive umbrella term for free software and open-source software. FOSS is in contrast to proprietary software, where the software is under restrictive copyright or licensing and the source code is hidden from the users.

<span class="mw-page-title-main">ArcGIS</span> Geographic information system maintained by Esri

ArcGIS is a family of client, server and online geographic information system (GIS) software developed and maintained by Esri.

<span class="mw-page-title-main">Crash reporter</span> System software that identify and report crash details

A crash reporter is usually a system software whose function is to identify reporting crash details and to alert when there are crashes, in production or on development / testing environments. Crash reports often include data such as stack traces, type of crash, trends and version of software. These reports help software developers- Web, SAAS, mobile apps and more, to diagnose and fix the underlying problem causing the crashes. Crash reports may contain sensitive information such as passwords, email addresses, and contact information, and so have become objects of interest for researchers in the field of computer security.

Microsoft Visual SourceSafe (VSS) is a discontinued source control program oriented towards small software development projects. Like most source control systems, SourceSafe creates a virtual library of computer files. While most commonly used for source code, SourceSafe can handle any type of file in its database, but older versions were shown to be unstable when used to store large amounts of non-textual data, such as images and compiled executables.

Caldera OpenLinux (COL) is a defunct Linux distribution. Caldera originally introduced it in 1997 based on the German LST Power Linux distribution, and then taken over and further developed by Caldera Systems since 1998. A successor to the Caldera Network Desktop put together by Caldera since 1995, OpenLinux was an early "business-oriented distribution" and foreshadowed the direction of developments that came to most other distributions and the Linux community generally.

<span class="mw-page-title-main">VirtualBox</span> Open-source x86 virtualization application

Oracle VM VirtualBox is a hosted hypervisor for x86 virtualization developed by Oracle Corporation. VirtualBox was originally created by InnoTek Systemberatung GmbH, which was acquired by Sun Microsystems in 2008, which was in turn acquired by Oracle in 2010.

Comparison of the Java and .NET platforms.

<span class="mw-page-title-main">MonoDevelop</span> Integrated development environment, discontinued for macOS

MonoDevelop was an open-source integrated development environment for Linux, macOS, and Windows. Its primary focus is development of projects that use Mono and .NET Framework. MonoDevelop integrates features similar to those of NetBeans and Microsoft Visual Studio, such as automatic code completion, source control, a graphical user interface (GUI) and Web designer. MonoDevelop integrates a Gtk# GUI designer called Stetic. It supports Boo, C, C++, C#, CIL, D, F#, Java, Oxygene, Vala, JavaScript, TypeScript and Visual Basic.NET. Although there is no word from the developers that it has been discontinued, nonetheless it hasn't been updated in 4 years and is no longer installable on major operating systems, such as Ubuntu 22.04 and above. Its parent Microsoft, seems to have shifted focus to Visual Studio Code and the .NET Framework, which runs on many operating systems, including Linux.

<span class="mw-page-title-main">Moonlight (runtime)</span> Implementation of Microsoft Silverlight for some Unix-based operating systems

Moonlight is a discontinued free and open source implementation for Linux and other Unix-based operating systems of the Microsoft Silverlight application framework, developed and then abandoned by the Mono Project. Like Silverlight, Moonlight was a web application framework which provided capabilities similar to those of Adobe Flash, integrating multimedia, graphics, animations and interactivity into a single runtime environment.

Proprietary software is software that grants its creator, publisher, or other rightsholder or rightsholder partner a legal monopoly by modern copyright and intellectual property law to exclude the recipient from freely sharing the software or modifying it, and—in some cases, as is the case with some patent-encumbered and EULA-bound software—from making use of the software on their own, thereby restricting their freedoms.

HCL Commerce Cloud is a software platform framework for e-commerce, including marketing, sales, customer and order processing functionality in a tailorable, integrated package. It is a single, unified platform which offers the ability to do business directly with consumers (B2C), with businesses (B2B), indirectly through channel partners, or all of these simultaneously. WebSphere Commerce is built on the Java - Java EE platform using open standards, such as XML, and Web services. Formerly a product of IBM, the product was sold to HCL Technologies in July 2019.

<span class="mw-page-title-main">Linoma Software</span>

Linoma Software was a developer of secure managed file transfer and IBM i software solutions. The company was acquired by HelpSystems in June 2016. Mid-sized companies, large enterprises and government entities use Linoma's software products to protect sensitive data and comply with data security regulations such as PCI DSS, HIPAA/HITECH, SOX, GLBA and state privacy laws. Linoma's software runs on a variety of platforms including Windows, Linux, UNIX, IBM i, AIX, Solaris, HP-UX and Mac OS X.

<span class="mw-page-title-main">Criticism of desktop Linux</span> Criticism of certain Linux distributions

Criticism of desktop Linux is a history of comment on the perceived shortcomings of the Linux operating system when installed on desktop computers. These criticisms have been aimed at the plethora of issues and lack of consistency between Linux distributions, their usefulness and ease of use as desktop systems for general end users, driver support and issues with multi-media playback and audio development.

<span class="mw-page-title-main">Mono (software)</span> Computer software project

Mono is a free and open-source .NET Framework-compatible software framework. Originally by Ximian, it was later acquired by Novell, and is now being led by Xamarin, a subsidiary of Microsoft and the .NET Foundation. Mono can be run on many software systems.

<span class="mw-page-title-main">Linspire</span> Linux distribution

Linspire is a commercial operating system based on Debian and Ubuntu and currently owned by PC/OpenSystems LLC. It had been owned by Linspire. Inc. from 2001 to 2008, and then by Xandros from 2008 to 2017.

Long-term support (LTS) is a product lifecycle management policy in which a stable release of computer software is maintained for a longer period of time than the standard edition. The term is typically reserved for open-source software, where it describes a software edition that is supported for months or years longer than the software's standard edition.

Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers. The service has both free and premium tiers. The software that hosts the containers is called Docker Engine. It was first released in 2013 and is developed by Docker, Inc.

References

  1. Helft, Miguel (2009). "Google Appears Closer to Releasing Its Own Phone". The New York Times . Retrieved 2009-12-12.
  2. "Microsoft tests its own 'dog food'". Tech News on ZDNet. Archived from the original on 2008-06-21. Retrieved 2009-11-14.
  3. 1 2 Dvorak, John C. (2007-11-15). "The Problem with Eating Your Own Dog Food". PC Magazine. Archived from the original on 2009-06-28. Retrieved 2010-05-17.
  4. 1 2 Harrison, Warren (May–June 2006). "From The Editor: Eating Your Own Dog Food". IEEE Software. 23 (3). IEEE: 5–7. doi:10.1109/MS.2006.72.
  5. "What Is ‘Dogfooding’? - The New York Times"
  6. Inside Out: Microsoft—In Our Own Words ( ISBN   0446527394)
  7. Brodkin, John (2009-09-04). "VMworld 2009: Virtualization, controversy and eating your own dog food". Network World. Retrieved 2010-05-17. 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.
  8. 1 2 3 Yager, Tom (2003-05-30). "If it's good enough for Fido …". InfoWorld . Retrieved 2013-06-15.
  9. 1 2 3 4 Ash, Lydia (2003). The Web testing companion: the insider's guide to efficient and effective tests . ITPro collection. Wiley. p.  17. ISBN   978-0-471-43021-6.
  10. "Apple Memo – No Typewriters". archive.org. Retrieved 2015-01-02.
  11. Ditlea, Steve (1981-10-01). "An Apple On Every Desk". Inc. Retrieved 2011-03-06.
  12. Friedland, Nat (March 1987). "Today's Atari Corp. | A close-up look inside". Antic. p. 30. Retrieved 2014-07-04.
  13. Bolman, Lee G.; Deal, Terrence E. (2003). Reframing organizations: artistry, choice, and leadership . Jossey-Bass business & management series; Jossey-Bass higher and adult education series (3 ed.). John Wiley and Sons. p.  64. ISBN   978-0-7879-6426-9.
  14. Zachary, Pascal G. (2009). Showstopper! the Breakneck Race to Create Windows Nt and the Next Generation. E-reads/E-rights. p. 135. ISBN   978-0-7592-8578-1.[ permanent dead link ]
  15. Rist, Oliver (2005-12-29). "The Microsoft machine churns on". InfoWorld . Retrieved 2010-05-17.
  16. Yager, Tom (2003-05-31). "If it's good enough for Fido..." InfoWorld. Retrieved 2022-08-02.
  17. Cringely, Robert X. (2000-08-14). "Microsoft forgoes eating dog food in favor of Unix as Bobby sneaks a burger". InfoWorld . Retrieved 2010-05-17.
  18. Osterman, Larry (2004-04-08). "Me Too!". Microsoft Exchange Team weblog. Microsoft. Archived from the original on 2010-12-18. Retrieved 2012-02-21.
  19. "It's Bedlam all over again..." Larry Osterman's WebLog. 18 September 2006 in blogs.msdn.com
  20. Field, Tom (1999-08-15). "Unleash innovation". CIO. Retrieved 2010-05-17.
  21. "15927 – [BETA][DOGFOOD]No proxy authentication". bugzilla.mozilla.org. Retrieved 2017-02-08.
  22. Johnstone, Nick (2003). The environmental performance of public procurement: issues of policy coherence. Organisation for Economic Co-operation and Development. ISBN   978-92-64-10155-5.
  23. Peterson, Stace (2011-06-02). "YouTube and Creative Commons: raising the bar on user creativity". The Official YouTube Blog.
  24. LaPine, John (2011-06-02). "(Shh! – Internal Dogfood) – YouTube introduces Creative Commons Attribution license". GaGaGadget.com. Retrieved 2011-06-02.
  25. "YouTube – Copyright Education – Creative Commons". YouTube . Retrieved 2011-06-01.
  26. "YOUTUBE License: (Shh! - Internal Dogfood)". Youtube Help Forum. 2011-06-02. Archived from the original on 2021-02-25. Retrieved 2022-09-08.
  27. "Frequently Asked Questions – Oracle Linux" (PDF). Oracle Corporation. October 2016.
  28. Sperling, Ed (2008-12-15). "Eating Their Own Dog Food". Forbes. Retrieved 2010-05-17.
  29. Knuth, Donald E. (1989). "The errors of tex". Software: Practice and Experience. 19 (7): 607–685. doi:10.1002/spe.4380190702. S2CID   20608669.
  30. "Pegasystems CIO Tells Colleagues: Drink Your Own Champagne". Trendline on CIO.com. 2007-07-05. Archived from the original on 2007-10-11. Retrieved 2007-07-05.
  31. "Novell comments on its transition to Linux desktops". DesktopLinux. Ziff Davis Enterprise. 2006-04-13. Archived from the original on 2011-06-16. Retrieved 2010-05-17.
  32. "Microsoft CIO on a mission to make ice cream out of dog food". TechFlash. 2009-11-10. Retrieved 2010-05-02.