Eating Your Own Dog Food

DogFooding in Tech: Pros and Cons

In my last blog, I mentioned “dogfooding”. I came across the term while researching different types of testing and was intrigued. What a silly term!

Unfortunately, this has nothing to do with the cute furry animals. “Dogfooding” refers to when the employees of a company use the product. For developers, it is the practice of using the very product or service you are building. Basically, it's a way of doing internal user testing with the developer pretending to the user. You might also hear it being mentioned as “eating your own dog food”. Yuck…

Dogfooding occurs for two main purposes. It has benefits in both marketing or advertising and in testing. For marketing and advertising, employees are encouraged (or required) to use or subscribe to the product or service of the company. For testing needs, the dogfooding phase has the purpose of detecting immediate bugs and to get feedback from colleagues.

So when does dogfooding take place? For marketing and advertising needs, dogfooding occurs all the time and on a rolling basis. Employees are always using the products regardless of new releases. For new features, in the development lifecycle, dogfooding usually occurs early in testing. It is one of the first steps in a feature rollout to have internal employees have access to the new feature. It can be a very quick phase, as quick as a few days. This is not the only testing that should occur. Ideally, in the development lifecycle, this would come before the actual user testing phase.

To learn more about the feature rollout process, see my last blog: How to Implement a New Feature?.

  1. Results in Higher Quality Product- This is the ultimate benefit of dogfooding. It provides testing and QA through its employees, resulting in a better end product. It allows the engineering team to get feedback and additionally, developers may be better at describing bugs than user testers.
  2. Protects the Users Experience- Since dogfooding occurs early in testing, bugs and usability issues can be uncovered before any users have a bad experience. This can keep confidence high in the product with end-users.
  3. Iterate Faster With Lower Costs- Dogfooding is cheap and quick because it leverages internal resources companies already have: their employees. This allows for faster iterations, more effectively at low costs.
  4. Values Users Perspective- Sometimes the developers making the decisions for the tech are not in touch with how the tech is used. Essentially, even if they build something great, are they building the right thing? Dogfooding allows the developers to understand the users by stepping into their shoes.
  5. More Knowledgeable and Motivated Employees- Dogfooding builds a deeper understanding of the product with the employees. They will then be able to speak more knowledgeably about the product and be more motivated in identifying opportunities to innovate. After all, they will be improving a product that they themselves use.
  6. Demonstrates Confidence in Product- By having the employees use the product it shows confidence in the product. Imagine the scandal if employees actually preferred a competitor’s product instead! Dogfooding demonstrates to the public the usability of the product.
  7. Good for Privacy- Dogfooding can be a great way to conduct tests while maintaining privacy. The testers are internal and nothing is exposed to the public. The product can be tested in a controlled and closed environment.
  1. Not a Replacement For User Testing- This is very important. Dogfooding is a great tool but it does not replace user testing and research. It should only be used to supplement the testing process. Overreliance on dogfooding can lead to the product being out of touch with the end-users.
  2. Targets the Wrong Audience- The developers and employees are most likely not the end-users. Therefore testing is being done by the wrong group of people. This can result in a false sense of validity.
  3. Can Increase Release Time- Adding a dogfooding phase before every new release can increase the time it takes to deliver the products to the end-user. This may not be worth it for all cases.
  4. Employees Have a Bias- Everyone gets attached to the work they do. This means they will have a bias when testing. This can be mitigated by having different teams do the dogfooding than the team building the feature.
  5. Not a Fresh Perspective- If everyone in the company is dogfooding, employees will no longer be able to look at the product with a fresh perspective. Be sure to have testing which involves users new to the product.

References

I love seafood, exploring new cities, board games and learning to love to code. https://github.com/sarakhandaker/portfolio