2

What Is Dogfooding, and How Does It Help Developers?

 2 years ago
source link: https://www.makeuseof.com/what-is-dogfooding/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

What Is Dogfooding, and How Does It Help Developers?

By Simon Batt

Published 15 hours ago

It may have a silly name, but dogfooding is an important part of the software development cycle.

Image Credit: eva_blanco/Shutterstock.com

It's difficult to imagine a place where software developers and dog food combine, but "dogfooding" is an essential part of making a program good. While it doesn't involve cracking open a can of beef and veal, it does involve developers taking their own creation for a spin before giving it to other people.

As such, let's explore what "dogfooding" means in technology and how it helps.

What Does Dogfooding Mean in Tech?

"Dogfooding" is when a developer tries out the software that they developed as if they were a regular user. It stems from the term "eating your own dog food," which describes someone trying out something they invented or developed from the point of view of their target audience.

Dogfooding is a little different than alpha and beta testing. While both dogfooding and testing involve using the software to see how it holds up, alpha and beta testing focus on finding bugs and errors. And while dogfooding can technically dig up errors that require fixing, the main goal of the process is to "feel out" the software to see how the developer can improve it.

Related: The Top Crowdtesting Websites For You to Test Websites

For example, say you've developed an email client that's almost ready for release. During the alpha and beta testing phases, you'll likely perform specific checks, such as how the client handles incoming emails, how it handles an unstable internet connection, and if you can send emails from it okay. These are specific checks done to weed out bugs that will stop the program from working correctly.

On the other hand, dogfooding is if you use your email client for days, weeks, or months on end. In fact, you'd use your email program as if you were one of your users, who will depend on your tool on a daily basis.

While you're bound to find errors over such a long period of time, the main focus is to see how easy and enjoyable it is to use your program in everyday life. If you find your program simple and easy to use, incredible. However, if you're itching to use a different program while using your own, there's a good chance that prospective customers will feel the same way, too. After all, if you'd instead use your competitor's products over your own, why should anyone else use yours?

How Does Dogfooding Help?

Dogfooding helps developers unearth all the flaws in their original design. When programmers create a specific feature or tool, they usually do so with a plan that works well on paper. However, features proposed in design documents sometimes don't translate into the real world as well as the programmer likes.

Related: Basic Programming Principles Every Programmer Must Know

That's where dogfooding goes in. By using the software daily and as part of their routine, the programmer finds all the annoying and missing parts of their software. For instance, in our email example, perhaps the warning dialog boxes you set up as a precaution get really annoying when you use the program daily. Or maybe you press CTRL + B to type in bold text in an email, only to find you forgot to code in that hotkey.

That's why it's important to give your program a test drive, even if you're pretty confident that it's bug-free. Use it as if you were someone who relied purely on your client, see what problems arise, and fix them so that the real users don't have to go through the same thing!

Don't Make a Dog's Dinner Out of Your Program

Dogfooding may sound weird, but it's a valuable way for developers to weed out all the missed chances and annoying design features in their software. As such, if you're just starting out with programming, be sure to give your program a test drive and note down everything that you think needs to be added or changed.

About The Author

simon-746.jpg?fit=crop&w=100&h=100

Simon Batt (703 Articles Published)

A Computer Science BSc graduate with a deep passion for all things security. After working for an indie game studio, he found his passion for writing and decided to use his skill set to write about all things tech.

More From Simon Batt

Subscribe to our newsletter

Join our newsletter for tech tips, reviews, free ebooks, and exclusive deals!

Click here to subscribe

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK