In an effort to develop higher-quality products, companies are turning to two key testing strategies that rely on employees or “customer zero” to provide real-world product feedback: fishfooding and dogfooding. (No, we’re not talking about pet food.)
The main difference between fishfooding and dogfooding is that fishfooding involves a single team of employees testing their own product early in the development cycle, whereas dogfooding is a company-wide effort, and requires a more complete product to be successful.
But, how do two test types that feature “customer zero” serve such different purposes at different stages of development?
Comparing Fishfooding and Dogfooding
Imagine fishfooding and dogfooding as two distinct tasting events in a restaurant.
Fishfooding is like a private tasting while the chef is developing the menu. The chef presents a new dish to a core group, like investors. They give feedback, and the recipe evolves.
Dogfooding is more like a full staff tasting. The chef serves the nearly final dish to the whole team. They give feedback, and the chef makes final tweaks to things like spices and presentation.
Both tastings happen with the same dish (or, in our case, product) at different stages of development . But, their purpose and approach are different. Just like fishfooding and dogfooding in product development.
Let’s examine the distinctions between fishfooding and dogfooding in more detail.
How are goals different?
The goal of both fishfooding and dogfooding is to gather feedback based on real-world product use with the intention of addressing issues prior to release. In the case of fishfooding, testing may happen on individual features or aspects of an otherwise incomplete product, whereas with dogfooding, the testing is conducted on a complete or nearly complete product.
How is planning different?
In fishfooding, planning is often more ad hoc because of the small group involved. The team in question can be more agile and react more quickly to feedback and insights gathered. On the other hand, planning for dogfooding would follow the same principles as planning for a beta test, including identifying goals, developing a schedule, and creating test activities.
How is measuring success different?
Fishfooding measures success by how quickly critical issues are addressed and how the product improves through multiple iterations of testing. In contrast, dogfooding measures success by identifying and fixing critical issues and user experience enhancements completed before external beta tests.
How is inviting testers different?
Inviting testers to a fishfooding test is as simple as coordinating the team and sending an email to invite them to participate. In a dogfooding test, however, inviting testers requires more effort and coordination due to the inclusion of the whole company. Leadership from various departments need to be briefed on the effort, buy-off needs to be secured from senior management, and the tester onboarding process needs to be as smooth as possible to ensure success.
Who manages the testing?
Fishfooding is typically overseen by the product, quality assurance, or development/program management team due to its focus on an incomplete product. Dogfooding, given its broader scope and more complete product, is usually managed by user research, program management, and/or product teams.
How to Choose the Right Method
Because each fishfooding and dogfooding can happen at different stages of development, there’s not necessarily a need to choose between them. However, you may be faced with resource constraints (typically time and personnel) that require prioritization of the team’s efforts.
A simple rule of thumb is that fishfooding is ideal for prototype testing and rapid iteration, while dogfooding is suitable for near-complete products that require comprehensive testing. There are more nuanced factors that may need to be considered when deciding whether to incorporate one or both test types into your development process.
Fishfooding may be the ideal choice when:
- The product is in a prototype state or is not feature-complete
- There’s a need to rapidly iterate on features based on real-world usage
- There’s a need for an agile process with more reactivity and control
- Testing needs to remain contained to a single, small group
Dogfooding could be the right choice when:
- The product is near feature-complete or is in a beta state
- There’s a need for low-risk testing with a large group of real-world users
- The company is seeking to foster a customer-centric culture
- The team needs to build confidence in the product launch
- Fishfooding is an agile, early-stage testing method conducted by a single team. It’s ideal for prototype testing and rapid iteration.
- Dogfooding involves the entire company in testing a near-complete product. It’s suitable for near-complete products that require comprehensive testing.
- Dogfooding requires more interdepartmental coordination because of the wider company’s involvement, whereas fishfooding simply requires team buy-in.
- Fishfooding and dogfooding can both happen in the course of development of a single product because they’re dependent on the product’s development.
Fishfooding and dogfooding are both valuable strategies for early product feedback during development. When implemented effectively, these strategies can provide invaluable insights into product quality and usability, driving product success. By understanding the differences between fishfooding and dogfooding and knowing when to apply each, organizations can ensure a smoother product launch and higher user satisfaction than ever before.