Nicole Kow

Nicole Kow

CodeSubmit Team

A Developer's Guide to Dogfooding

Dev Topics

“Dogfooding” or “eating our own dogfood” refers to a company’s use of its own products. Other more palatable phrases include “drinking our own champagne” or “eating our own cooking”. Some companies also refer to this practice as becoming “customer zero”. No matter what it’s called, the goal of regularly using one’s own products is to become the first and best user of your own products, to enhance customer insights, and accelerate innovation.  

The practice of using one’s own products is nothing new. In the early 2000s, Jeff Bezos famously issued a company-wide mandate that instructed all teams at Amazon to “expose their data and functionality via service interfaces” and for everyone to communicate exclusively through those interfaces. He added that direct access to the database and other forms of getting data directly from the source was no longer allowed. The famous mandate then ended with, “Anyone who doesn't do this will be fired.  Thank you; have a nice day!”

While not all CEOs decide to kick off their company’s dogfooding programs in this way, there are many companies who employ such practices in hopes of benefitting from walking a mile in their customers’ shoes.

Why Would a Company Dogfood?

According to centercode, teams who use their own products and services tend to drive more business value and bring unique insights to their product development processes too.

Ensuring a high-quality experience

When it comes to shipping new products and features, testing out your own product can help improve or maintain high-quality standards.  More technical testers can look out for bugs in the program and ensure that the software does what it’s supposed to do. Less technical testers can test your product in  “real environments” before its shipped, potentially providing valuable feedback to enhance the “typical” user’s experience.

For less common workflows such as your onboarding and signup process, getting newcomers to test those workflows with fresh eyes and provide feedback can be a great way to keep your product tour and documentation up to date. It is common for companies to focus on the new and shiny things they ship while neglecting the older features that might benefit from a review every now and then.

Improving product knowledge throughout the company

It is common for Sales, Marketing, and Customer Success teams to be sidelined during product development. However, when companies pull people from different teams to test out their products and services, it begins to create a shared understanding of the product and the customer it was made for.  

These different perspectives could also be useful when building and designing unique products and experiences for your customers. In return, your less technical team members would also learn more about the product which will add a layer of depth to the way they speak to leads and customers about your product.

Creating a customer-first culture

A company that uses its own products and services regularly will also regularly experience what its customers experience. Experiencing your own product in the same way your customers do can help your team better understand the customers’ pain, which can inform your product roadmaps and how user experiences are designed.

Risks of Overeating

While the general consensus is that regularly using your own product is good for the company, teams should also be mindful of the potential pitfalls of this practice.

Not all products can be tested out internally

Most importantly, product teams need to know when their products and features can be tested internally, and when they simply can’t. For instance, consumer-facing products like Fitbit and Facebook lend themselves well to internal testing while on the other hand, testing products made for more complex or specific use cases internally might not always yield the right type of feedback for your product.

Focusing on irrelevant feedback

When analyzing the feedback, teams should prioritize feedback that is relevant to their product roadmap and your company’s overarching goals. The last thing you want is to focus on irrelevant comments that could muddle up your product roadmap.

Do not replace QA and Beta tests with internal testing

Lastly, product teams must remember that dogfooding cannot replace proper quality assurance (QA) and beta tests. No matter how much you get your team to use the product, you should still properly test your software to make sure it is running as it should and that it is free of bugs and errors.

How to Set Up a Dogfooding Program

Towards the end of 2021, DoorDash announced that non-delivery employees were required to complete one delivery a month, which sparked heated debates on the anonymous social platform Blind.

While some thought the company’s initiative was a good way to learn more about the delivery team and the tools DoorDash has built for them, a loud and furious minority complained about the initiative, commenting that it was “not part of the contract”. Some even contemplated quitting the company altogether.

As absurd as it might seem for someone earning $400,000 a year to complain about delivering food once a month, their complaints revealed some important concerns that companies should address when it comes to creating a dogfooding program.

english bulldog eating from a bowl
Hopefully your product is also this tasty. Photo by Kabo on Unsplash.

Secure buy-in from the top dogs

If a company is serious about this exercise, it needs buy-in from everyone, especially your team leads. Your management team should set an example for the rest of the company by taking time out of their busy schedules and being the first to get in line to sample the house's cooking.

Identify clear program owners

In most companies, this initiative is owned and managed by product teams, with product managers responsible for managing what’s being built taking ownership of the dogfooding program. There will also be instances when it is owned by the UX team to gather insights about how users interact with their software, or the QA team to check all the nooks and crannies in the software for bugs.

Segment your testers

Given that not all your testers will use your product in the same way, they are also likely to pay attention to different parts of your software which will impact the type of feedback they give.  

For instance, sales and marketing teams can help bring the perspectives of your target audience while your product and engineering teams can bring more technical expertise, for instance spotting bugs or identifying when a feature is not working as it should.

It is therefore important to group your testers and the feedback they give accordingly.

Set aside time for this culinary adventure

While not all employees require incentives to test their own products, some might. A simple way to incentivize your team includes giving them time off to test your product.

With DoorDash, one of the most common complaints was that the deliveries simply added an additional task to their already very long list of to-dos at work. If companies are serious about their culinary escapades, teams should figure out how to work this into their weekly commitments to avoid overloading one another with yet one more thing to do.

Simplify the feedback process

The last thing your teammates want to do is to fill out a long Google form about the intricacies of the product and their experience using it.

One thing you can do is to set goals for different products or features, and adjust the feedback survey to collect specific information the team needs to know right now to achieve their goals.

When creating feedback surveys, try to make them simple and easy to complete.

(Here’s an example of a beta test feedback form by Typeform and Hotjar which can be adapted to suit your internal testing program.)

Culture Shift

In an increasingly competitive market, companies need to constantly deliver valuable experiences, or they risk losing their customers to the next new and shiny competitor that comes to market. Becoming your company’s first and best user can help drive business value by speeding up innovation and testing, allowing your team to reduce the time it takes to gain market insights and ship the features your customers actually want.

While there might be an initial uproar over such practices, unless you decide to take an approach similar to Mr. Bezos’, for the most part, companies who choose to walk in their customers’ shoes are likely to outrun their competitors in the long term.