Dogfooding: A Delicious Practice for Software Developments

Megan Haber
Digital Products Tech Tales
3 min readAug 5, 2024
Software developer immersing themselves in the dogfooding practice.

Have you ever mentioned to someone that you’re “dogfooding” your application and received a confused look in return? If so, you are not alone. While the term “dogfooding” sounds peculiar, it’s vital to our projects and reputation as software developers.

So, what is it? Contrary to popular belief, it doesn’t involve software devs munching on kibble. In fact, it is an integral part of a project’s Test Phase by scheduling time for your team and/or client to internally test the product you have developed.

Fun Fact! The term may have originated from a time the president of Kal Kan, a pet food manufacturer, ate a can of the brand’s dog food during a shareholders’ meeting or potentially from a 1976 Alpo commercial featuring actor Lorne Greene. It’s not exactly known where the term came from but still good to know for your next trivia night.

Although the term is quirky, it is crucial to software. The goal is to put your team in a “real-world” setting to identify bugs or possible improvements to ensure the best quality before the product goes live.

The Importance of Dogfooding:

  1. Identifying Bugs and Glitches: Just as a chef tastes their dish before serving it to guests, dogfooding allows your own organization to catch bugs before they reach end-users. By putting ourselves in the user’s shoes, we can identify defects that might have otherwise gone unnoticed, which is ultimately safer for your organization’s reputation and allows for earlier, quicker feedback.
  2. Improving User Experience: Dogfooding provides extremely valuable insights into the user experience. Developers can understand firsthand how their product functions in real-world scenarios, enabling them to fine-tune features and streamline processes for optimal usability.
  3. Fostering Empathy: Walking in the shoes of the end-user fosters empathy among developers. This firsthand experience helps bridge the gap between creators and consumers, leading to products that better cater to user needs and preferences. And, at the end of the day, developers are users themselves utilizing several different apps that may even give us headaches! Therefore, understanding an end-user and what they’re looking for shouldn’t be too difficult.
  4. Encouraging Innovation: By actively using their own product, developers are more likely to uncover areas for improvement. Whether it’s spotting a pain point or envisioning a new feature, dogfooding can spark ideas that drive product evolution. The best developers are not lazy and will be excited to find a way to make their product better.
  5. Building Trust and Credibility: When developers dogfood their own software, it demonstrates confidence in their product’s quality and reliability. This builds trust with our client and customers. It is important to consider the team’s, and your own, reputation and dogfooding enhances that.

Fishfooding — Dogfooding’s Predecessor:

While implementing dogfooding, it’s important to recognize the preceding phase known as “fishfooding.” Fishfooding is a variation of dogfooding, often used to describe a more selective or controlled approach to testing the product internally. It’s like a smaller, more refined version of dogfooding and seen as a preliminary stage before broader testing. In this phase, your internal team can provide initial feedback that can refine the product before it’s rolled out for company-wide use.

Overcoming the Quirks:

So, sure, dogfooding, even fishfooding, might raise a few eyebrows among outsiders, but the name says it all! Embracing this practice isn’t just about eating your own dog food — it’s about crafting superior products, fostering empathy, driving innovation, and building a lasting reputation.

The next time someone gives you a puzzled look when you mention dogfooding, simply smile and invite them to join in. After all, there’s nothing quite like savoring the taste of your own creation!

In the world of software development, dogfooding isn’t just a quirky idea — it’s a recipe for success.

--

--