The importance of dogfooding your own software products

Adam Czapski
Jit Team
Published in
4 min readAug 13, 2022

One of the most important things to do in software engineering is to test your product before launching it. Many businesses use their own money and may risk losing their investments on a product that does not work. That is why you need to test your products with internal stakeholders in order to ensure that they work properly.

What is dogfooding?

“Dogfooding” is a term used to describe a company using its own products. It’s particularly popular with companies that build software or technology.

Lorne Greene, the spokesperson for the Alpo brand dog food, stated in a late 1970s television advertisement that he personally fed his own dogs Alpo. Regardless of whether the claim was true or not, the phrase “eating your own dog food” became a metaphor for using the products you are promoting.

How is dogfooding beneficial?

Doing this allows the company to test the product in a real-world environment and work out any kinks before releasing it to the public. It also builds a sense of camaraderie among employees, who can bond over their shared experience of using the product.

Dogfooding gives us an advantage by allowing us to address product-related problems early. This allows us to test our products, fix any issues we come across in the process, and improve the user experience. This will help you discover the functionality that real customers will expect from the product. In other words, if we put ourselves in our users’ place, we can figure out what they need from the application. Then we can build the right solution for them.

Without dogfooding, writing good code alone doesn’t necessarily result in developing a great product. However, dogfooding helps us address this issue.

In one of the projects I worked on, dogfooding was a godsend in finding bugs and pain points customers would eventually face. We had a CI pipeline for building the platform so most developers never bothered to install the platform manually. When I had to review the installation guide, I had a virtual machine prepared for me where I could install the platform manually and test the flow of the guide. However, the VM was behind a VPN and had some pre-install checks completed, e.g. creating a passwordless sudo account, installing and configuring SSH, installing GPU drivers, creating a gpg key, to name a few.

So the installation routine was simpler for me than the off-VPN scenario in which a customer would go through. Some time later, our product owner had a go at installing the platform without the VPN connection with a clean Ubuntu instance where no pre-install checks were completed. He had a horrible experience of installing the platform and improving the installation process became one of the main tasks for the development team before the official release.

Combine dogfooding with other practises

It is worth remembering that dogfooding doesn’t produce great results every single time. But, when used correctly, dogfooding can be a very effective development strategy. Dogfooding can sometimes cause bias, and it should be used carefully. If you combine it with other practices, you’ll get the best results.

In no way can dogfooding replace classical validating practices. Dogfooding aids in problem discovery and other tasks, but testing and quality assurance (QA) phases are crucial if you want to create a high-quality product.

You can receive a deluge of erroneous comments if you selected the wrong audience, one that doesn’t comprehend the goal of the product. The feedback might even steer the development team into a completely different direction which could produce a product that users would detest.

Dogfooding rules

Dogfooding can be a great way to improve a product and get feedback from employees. But, There are a few things to keep in mind when dogfooding:

1. Make sure the product is actually ready for employees to use. If it’s not ready, employees will quickly get frustrated and give up.

2. Communicate with employees about the dogfooding process. Let them know what to expect and how they can give feedback.

3. Be prepared to make changes based on employee feedback. Dogfooding is all about making improvements, so be open to change.

4. Finally, have fun! Dogfooding should be a positive experience for everyone involved.

Conclusion

Companies that practice dogfooding have long since stopped being fringe companies and are now commonplace, and if you want to jump on that bandwagon, practicing dogfooding is something you should definitely get into.

With this kind of user’s perspective you’ll be able to better understand how your customers use the software, which will allow you to continually improve your product and make it better for them.

--

--