Dogfooding's a strange expression. Does it mean developers are eating their dogs' food? Is there nothing else in the kitchen at the office to snack on? 

Well, no. Dogfooding is not about eating canine goodies but refers to the common practice in many companies, including those that develop software, of using one's own product(s).

Image.

The term's origin

One theory connects the term to Clement L. Hirsch, who, as president of Kal Kan Pet Food, once told stakeholders at a meeting that he could eat his dog food.

Similar terms emerged, such as "icecreaming" at Microsoft and "drinking your own champagne" at Pegasystems, but nothing stuck. Other expressions like "practice what you preach" or "you've made your bed, now lie it in" were too old-fashioned, but dogfooding was new and stood out.

In 1988, a Microsoft manager, Paul Maritz, sent a test manager an email titled "Eating our own Dogfood" requesting that the company increase the internal use of its product. They even named a server "dogfood" for their staff to use.

Since then, the expression has been used to describe when a team uses the product they're working on.

The purpose of dogfooding

Dogfooding isn't used to avoid supporting a competitor's products. For example, when a car dealer encourages its employees only to use the cars of the brand they sell, it's not dogfooding, and neither is Coca-Cola's policy to forbid its employees from drinking Pepsi in their offices. The difference between these two policies lies in the approach behind them.

You use dogfooding when you're developing a product and want to test it in real-life situations to uncover bugs and highlight features that need improvement.

It's a necessary part of software development because dogfooding performs part of the function of testing and helps detect errors, inconsistencies, and bugs before the product is released. After the release, dogfooding demonstrates the company's confidence in the product they've created.

Many tech companies use dogfooding, and many of the products we use today are a result of the successful implementation of this practice. Here are some examples:

  • Microsoft gives its staff access to Outlook dogfood to test new bug fixes before releasing the new version to the public.
  • Lyft requires its corporate employees to spend time behind the wheel as a driver to understand the service.
  • Apple employees carry their MacBooks around.
  • Zoom staff use Zoom for meetings.
  • Oracle developers use Oracle Linux to develop Oracle.
  • Google migrated to Google apps in August 2006 to prove it trusted its products. 
  • Meta gave some of its team members access to React 16 to test it during development.

Whenever a company turns their employees into their clients, it's dogfooding.

Image.

Dogfooding stages

Normally, dogfooding comes in different stages. While their number might differ depending on the approach and the company, the most common stages are the following:

  • A stable version of an app is developed and made available for testing;
  • New features are added to the app, and it is re-tested;
  • Interviews are performed to see whether the app works as expected;
  • The company prepares the app for public release.

This process ensures that the software is useful. Moreover, the dogfooding testing stage starts before the software becomes available for official testing and then, for testing in beta mode.

Pros and cons of dogfooding

Pros

The benefits of dogfooding extend beyond identifying bugs:

Emphasizes privacy

If your company isn't allowed to expose products to the public, bringing in outside users for testing is impossible. Dogfooding replaces the need for external testers without compromising the company's privacy. Your app is kept in a closed environment and properly tested properly.

Reduces the need for outsourced testing

It's sometimes difficult to find proper testers for an app because good testers aren't cheap, and not all of them have enough technical knowledge to test every app. By using dogfooding, you reduce the cost of hiring such testers. Another benefit is the inside knowledge of the product that your employees already have. External testers may not understand the details of a highly technical product if that's what you're developing.

Saves costs in the long run

Dogfooding results in the quick detection of errors and bugs. Frequently, the testing is done in the environment and by people who are working on the product anyway, so they can eliminate issues as soon as they find them. In the long term, this saves a company a lot of money that would otherwise be needed to track back the bugs that weren't detected at early stages and fix them. It's also an alternative to using third-party software and instruments.

Improve marketing and sales messages

If marketing and sales employees participate in dogfooding, they can create more accurate and authentic messages about their product. During sales pitches, they'll be able to rely on their personal experience of using the product and/or service, boosting the message they're delivering.

Pushing the limits

Sometimes, you love a product so much that you're willing to put it through extreme testing. Who can do this better than the team developing it? Dogfooding is a great opportunity to try and "break" your product to find weaknesses in its security or bugs and errors that will be detrimental to its future. Using inside knowledge, you can find stress points and press them to see what happens.

Develops a sense of ownership

Being familiar with the product develops a sense of ownership shared by all the team members who have tested it. This, in turn, increases the level of responsibility they feel for the product.

Demonstrates a company's confidence in their product

If employees use the product created by the company, it means they trust the product and are confident in its dependability and functionality.

Image.

Cons

Despite its many benefits, dogfooding comes with some drawbacks, especially without proper preparation. Here are points to keep in mind when implementing dogfooding:

You can choose the wrong audience

You might get flooded with wrong feedback if you choose the wrong audience who doesn't understand the product's purpose. This can even lead the development team in the completely wrong direction, resulting in a disastrous outcome when the team delivers a product that users will hate. Involve many employees from across your company in the process to ensure you receive objective feedback and explore different use cases.

You know too much

Involvement in a product's development can prevent a person from noticing major drawbacks or inconsistencies. If a team knows every aspect of the app, they make bad testers. To avoid tunnel vision, involve other departments in dogfooding and not only the team working on the product.

You feel too much

Besides technical tunnel vision, emotions connected with a product can hinder the testing process. A team invested in a product's development may find it difficult to criticize their own work. To eliminate the effects of such bias, open testing to other employees, including managers and stakeholders who aren't involved in the development process.

Not a replacement for testing or QA

While some people and some specialists may argue differently, this is an incorrect assumption. Dogfooding helps reveal bugs and other errors; however, the testing and QA stages are indispensable to creating a quality product.

Delays product releases

Due to its cheap and easy implementation, the temptation arises to introduce dogfooding into every stage of the development process instead of a single testing and QA step. This approach will delay product releases.

How we use dogfooding at Mad Devs

We encourage our specialists to use the products they're developing, and in most cases, they're also the first users of a product we're building. However, we understand all the drawbacks of dogfooding and do our best to prevent them by following these rules:

  • We don't abuse the process and approach it professionally and with proper preparation.
  • We never use it as a replacement for testing and QA.
  • We involve people and stakeholders from across the company to provide fresh perspectives.

Here's some of the products on our dog food menu:

  • Enji: With our diverse teams working asynchronously across the world, we needed a solution to ensure quality work. We created Enji, the team lead who never sleeps, to help us do this and have since implemented it into our processes. We also market it to new customers as a great solution for their teams.
  • GoDee: While Mad Devs worked with Vietnamese start-up GoDee to develop software for their shuttle bus service in Ho Chi Minh City, several team members used GoDee to move around the city to experience the service and generate improvement ideas.

Whether you've tried your dog food before and didn't like the taste and reap the benefits or are considering using it to test your product but aren't sure how to carry it out, contact Mad Devs for a consultation. We'll share our expertise to get you on the right track to building a great product.


FAQ

What is dogfooding?

Why do companies use it?

Are there any drawbacks?

Should I use dogfooding?

Latest articles here

Tech Stack Trends

Best Tech Stack Trends to Watch Out for in 2024

A tech stack or software stack is essentially a set of technologies you chose to develop your project. It covers the tools you'll need to create...

Soft skills matrix by Mad Devs.

Soft Skills Matrix by Mad Devs

It goes without saying that when you work in the IT field, you must establish yourself as an expert. In the era of ever-increasing globalization in...

Burndown Chart in Jira.

Burndown Chart in Jira

The burndown chart in Jira is a powerful tool that helps visualize and calculate tasks within a sprint. Using it allows you to make the best...

Go to blog