Would you eat the food you buy for your dog? Or your cat, if you’re a cat person for that matter? Basically, that is what dogfooding is all about. The term was coined when one of the presidents of Kal Ken, a US pet food company, claimed he ate a can of dog food himself as proof of quality. In a software context dogfooding means that companies use or internally test their own product. In this post we will touch on the benefits of dogfooding and introduce you to some best practices.
The Benefits of “Eating Your Own Dog Food”
Let me say at the outset that if you and your team aren’t dogfooding autonomously, you might have come up with a solution for a problem that either does not exist or needs a different approach. I mean, do you really expect your users to love your product if you don’t even use it yourself? Having said this, the general rule of thumb among SAAS solutions is that if you come up with a product that solves your own problems, you’re on the right track. This also means that you are your own target audience, and you know exactly which features the perfect solution needs. Hence, dogfooding in this case should come naturally.
Oh, and there’s one more thing I should mention before our deep-dive into the benefits of dogfooding: Do not replace all your established QA processes such as user research or beta testing on your real market with dogfooding. You should rather use it as an effective and cost-saving tool to complement your testing.
In that sense, the first and obvious benefit of the practice of dogfooding is that it represents an extra, extremely cost-efficient and fast feedback loop in your testing process. Dogfooding can be used synonymously with internal beta testing. Letting your own team test your product before your end users is useful for two reasons. First, users who come across major difficulties or bugs in your product will most likely stop using it, which is counteracted by dogfooding. Second, you will spare your customer support a lot of time and nerves by rigorous internal beta tests.
Dogfooding also does something to your corporate culture. I can guarantee you that introducing dogfooding in your company will make your team’s approach more user-centered. By using one’s own product in a realistic setting within one’s own company, the danger of bloating a product with unnecessary features can virtually be reduced to zero. In relation to that, dogfooding is also a form of employee engagement. Having your employees test your product, proves that you value their opinion.
Last but not least, dogfooding most certainly boosts internal innovation – who doesn’t want that? The active use of your own product in your team will turn your team into a proper idea laboratory. A word of caution should be expressed at this point: Be sure to always organize the incoming ideas so that you don’t get swamped with feature requests or overlook certain ideas.
Dogfooding Best Practices Worth a Closer Look
Considering a manager at Microsoft basically coined the term dogfooding for software companies in 1988, they’ve got to be the first ones on the list. Since then Microsoft has made dogfooding their own products – be it Microsoft Office, the Xbox or Exchange – a major part of their development cycle. They took dogfooding to a whole new level by introducing Microsoft Elite. While initially employees could only dogfood single products, they can now become early adopters for literally any Microsoft product simply by joining the Elite program. Even better, Microsoft combined dogfooding with gamification. Using Microsoft Elite, employees score reward points for downloads and feedback. The fact that the Elite program is available for all employees worldwide, allows Microsoft to fall back on diverse cultural backgrounds and roles within the company. This variety is key for providing a realistic testing environment.
To get further information on the Microsoft Elite program, check out this link.
Another software giant big in the dogfooding game is Google. How they dogfood is described on Google’s Testing Blog: “We have a large ecosystem of development/office tools and use them for nearly everything we do. Because we use them on a daily basis, we can dogfood releases company-wide before launching to the public.” Of course, Google has a vast QA team at hand, but we all know that one can never fully exhaust a product in terms of testing. Hence, before releasing the product into the wild, they eat their own dog food.
I’ll be back on the blog next week with detailed insights into how we dog food our own product at Bugbattle. In the meantime, make sure you back your dogfooding up with beta testing on your real target market. Oh and by the way: both, dogfooding and beta testing work more efficiently with a good bug tracking tool. 😉 Shameless self promotion over.