Although the term only started to appear around the 1980s, "dogfooding" has rapidly risen to "best practice" status. Its adoption and praise of dogfooding by small teams to tech giants like Google and Amazon prove that it is more than a buzzword.
Finding external testers that are responsive and deliver quality feedback is an industry-wide challenge that dogfooding attempts to work around. It also minimizes your team's separation from your users and their experience with your app.
Dogfooding turns your team into users of your app. As a result of walking a mile in your user's shoes and using your app in real-life scenarios, your team will better understand your users and ship a stronger product.
Now let's dive into the benefits and risks of dogfooding, as well as some tips for getting the most out of company-wide testing.
Besides the obvious benefits of testing your app in general, like finding bugs and crashes, or usability feedback, dogfooding has a few benefits that are unique to it.
Dogfooding reduces the need for external testers
If you face challenges finding reliable external testers, dogfooding might be a good fit. Depending on your product, the people in your company are likely more or as tech savvy as your end user. This means they can quickly provide the right technical information your developers need to fix bugs and other issues, as well provide actionable feedback about existing or missing features that your product team could capitalize on.
Dogfooding is confidential
When your company has confidentiality concerns, dogfooding can be an ideal solution. If security and privacy is a high priority for you, then your team members probably sign NDAs when they join your company. This means you can roll out beta versions of your app to your entire company for testing without the need for additional legal documents as in an external beta test.
Dogfooding puts makers in users' shoes
First of all, it generates sympathy with the user's pain points and turns your team into advocates for the user. They will be able to judge which issues have the biggest impact on the user and which features are most important to them. Now that they're using the app, the user's pain is a reflection of their own. This serves to increase your team's sense of ownership while also increasing their familiarity with the app. Support, sales, and marketing teams will especially benefit from this point as their understanding of the app increases with their use of it.
On the other hand, dogfooding does have some risks that you need to be aware of to be able to determine if it's the right path for you.
Who is your target audience?
First and foremost, know that you are not necessarily your users. Your team's opinions might not be an exact representation of your end users. Dogfooding works great for things like consumer-facing products at medium and large companies, B2B products that your own company might use, and apps in a niche category that your team is passionate about.
Also keep in mind that being surrounded by your products can blind you to what your competitors have to offer, disconnecting you to some extent from the market.
Dogfooding is just one piece of the puzzle
Finally, beware of having too much reliance on your internal beta tests. Dogfooding is great for improving the code you ship, but only if it is preceded by proper QA testing, and preferably, followed by external beta testing.
You should recognize that the feedback you receive from internal beta tests is not the same as a traditional beta test. Your team will rarely be an accurate representation of your users and their feedback follows. This is not to say that the feedback an internal beta test generates is not useful, just different.
What is an internal beta test?
Dogfooding your app in your own company can be considered an internal beta test. What sets an internal beta apart from a traditional beta is, obviously, that some testers are members of the developing team. What sets it apart from an alpha is the fact that it is a feature-complete build that is used outside a lab setting and is distributed to the entire company. These are important distinctions since this is where most of the benefits (and risks) of an internal beta originate.
What makes a successful internal beta test?
For your internal beta test to be successful, you must treat it like you would a traditional beta test, and the same goes for the testers. The fact that the test is within your company doesn't mean it will automatically have high adoption and exemplary testers. Whether internal or external, beta tests are still projects that need thorough planning. You should always start with defining your goals for the test and what you want to gain from it. Set a clear timeframe for your internal beta test and a detailed plan for what you'll do with it, including the number and frequency of beta builds.
How to encourage participation in an internal beta test?
Dogfooding is a culture that you need to embed in your company to ensure buy-in from your employees. The best-case scenario would be to establish dogfooding as a practice from the start. To encourage as much participation as possible, provide incentives for your team to send feedback and increase their sense of ownership by updating them on the beta's progress regularly.
The more the merrier!
Try to involve as many participants as you can in your internal beta test. It is not uncommon for big companies to have several thousand internal testers in their dogfooding program. Since your sample of users might not be a good representation of your actual users, larger sample size and diversity will help reduce errors. A large pool of testers will enable quantitative analysis of the data you collect and reveal more insights. It helps you separate issues found along the beaten paths of your app and those encountered on obscure trails.
It goes without saying that not all your testers will use the product in the same way. Your marketing team will have a different use for the app from your developers, for instance, and will probably focus on different areas and value propositions of the app. Segment your internal testers and sort the feedback they give you accordingly. This is more efficient when you have a sizeable internal beta test and helps you identify how their usage differs with use cases, and possibly discover new use cases you weren't aware of.
When your internal beta program becomes more established and your testers more familiar with the app, you start to lack fresh perspectives. Try to counter this by having your internal beta testers go through your app's sign-up and onboarding process every once in a while. Additionally, pay close attention to what any new team members or participants in your internal beta have to say; they can often discover things that your eyes might be too familiar with the app to see.
Pricing and plans
If your product has several pricing plans or packages, make sure you don't have all your testers on the unlimited plan. Have your testers on a combination of plans with ratios that reflect your real users. This will help you uncover issues with the limits you have on your plans that you would otherwise miss.
Keep in mind that your internal beta testers are trying to use your app for a real-life need, which can even be part of their daily jobs. Make sure that your feedback process is as frictionless as possible to avoid affecting their productivity, and maximize the feedback you receive. Allow testers to test on their own time and provide tools for in-app reporting, feedback, and surveys to simplify the process.
While it is sometimes possible to force your employees to dogfood your app, positive reinforcement almost always achieves better results. Try to offer some incentives for your testers to encourage them to go the extra mile. Encourage some friendly competition between teams, with a public scoring board and some token gifts for the top scorers. With that said, try to keep these incentives minimal to avoid turning the incentive into the goal of your testers. A little bit of inter-office competition and some trophies for the winners is all you should need.
One of the best ways to encourage the internal adoption of your internal beta is to involve the C-suite as testers. Try to include them in the teams, the competitions, the rewards, and maybe even some public humiliation.
Milestones and events
Organize some events to mark milestones in your beta test and celebrate them. You can hold company-wide lunches with each beta build and host a dinner party when the build goes to external beta, for instance. These periodic, light events serve as reminders of the status of the beta test and help your team feel more involved.
Close the loop
To keep your testers involved and engaged, you need to include them in your feedback loop. Dedicate a suitable two-way communication channel for the internal beta test and monitor it closely. Reply to the feedback you receive and update testers on the status of the issues they reported. Let them know which feature requests are under development, postponed, or out of scope. Also, provide comprehensive release notes communicating which bugs have been fixed or features have been added in the latest build. Hold an all-hands meeting when the beta test is over to present the data reports and the results to your teams.