Are you eating your own dog food?

When we ask, “Are you eating your own dog food?”, we don’t mean it literally. Eating your own dog food – or ‘dogfooding’ – is slang that means using your own software products internally.

There are two main areas in which you might be eating your own dog food. One is when you use your software within your everyday operations, in much the same way that a customer would. The other is when you use your software in a testing capacity, ironing out any performance or usability kinks before releasing to customers.

As unseemly as it might sound, dogfooding is a great practice to pick up. So, if you’re not already chowing down, here’s why you should dig a fork into your own dog food.

 

 

Origins of ‘eating your own dog food’

Dogfooding was first coined by Microsoft manager Paul Maritz in 1988. In an email with the subject line, “Eating our own Dogfood”, Maritz challenged a colleague to increase internal usage of the company’s product. Somehow the phrase stuck.

In meaning, ‘eating your own dog food’ is not unlike ‘practice what you preach’ or ‘what’s good for the goose is good for the gander’. But, it does undoubtedly have more of a shock factor. Other, less grotesque iterations such as ‘icecreaming’ have tried to replace the term, but to no avail.

The implications of using ‘dog food’ rather than something tastier says it all. It makes your product seem unappealing.  By ‘eating’ it yourself, then, you’re demonstrating to audiences that it’s a good product despite any contrary perceptions they might have. ‘Eating your own cake’ sounds nicer, but who needs to be convinced that cake is worth buying, trying or eating? After all, it’s like the saying goes: you can’t have your cake and eat it too.

 

 

A world of difference

The fact is that developing a product is worlds away from being the end user trying to operate it daily. Coding and consuming are poles apart. Or, in the words of Joel Spolsky, “Sometimes you download software and you just can’t believe how bad it is, or how hard it is to accomplish the very simple tasks that the software tries to accomplish. Chances are, it’s because the developers of the software don’t use it.”

When you show that you’re eating your own dog food, you’re demonstrating the worth of your product. You’re closing the gap between you and your users by putting yourselves in the customers’ shoes. Eating your own dog food, then, helps you to understand your product from their point of view.

 

 

Taste the benefits

So, dogfooding is important, but what specifically does your company get out of it? The benefits of eating your own dog food spread surprisingly far throughout your organisation.

 

  1. Product confidence

If it’s good enough for Rover and Fido, it’s good enough for you. Eating your own dog food adds authenticity to your marketing efforts. When you use your own software, you demonstrate that you have confidence in your products.

This not only promotes trust from your customers, but saves the potential damage control (and embarrassment) when customers start to question why you’re using a competitor’s product. Isn’t your product supposed to be superior? In other words, dogfooding puts your money where your mouth is.

 

  1. Identify with customers

By eating your own dog food, you get first-hand experience of the way your customers view your product. Using your own software means that you can see clearly the customer pain points with your software.

Without using your own product, you don’t discover all the annoying little usability issues that your customers have to deal with. Nor do you get the rush of satisfaction from features that work excellently. So, dogfooding means you can identify with your customers better – making for better, more empathetic customer service.

 

  1. Find bugs

A good way to find the bugs that are most likely to affect your customers is to be one of your customers. After all, real end users will typically find bugs that weren’t uncovered in the standard testing process. (It’s Murphy’s Law.)

To find your product’s faults, you need warts and all knowledge. Eating your own dog food, then, gives you an extra way to find bugs in your software and improve the quality of your product.

 

  1. Encourage cooperation

Eating your own dog food can be eye-opening for development teams. Development is often detached, distant from the front-facing service and support teams. Programmers have their head in the code, and don’t have to deal with the end user.

But when you use your own software, you become the end user. You get to see what the user experience is like first-hand. This can lead to questions and cooperation between different teams. When everyone is experiencing the product as a user, it’s easier to get on the same page.

 

 

A dog’s dinner?

Of course, there are some arguments against eating your own dog food.

 

  1. Your team isn’t representative of your target audience

You might have a product that’s aimed at one particular sector or skillset. It’s not a given that your team automatically has need of the product you develop; it might be entirely wrong for your own organisation but a great fit for certain companies.

By eating your own dog food, then, you could be testing your product on an audience that isn’t representative of your customers. So, what’s the point?

 

  1. Tastes bad

Dog food, unsurprisingly, doesn’t taste good. When eating your own dog food as part of your testing process, your own ideas on what quality is acceptable can taint the view of the product. You might be making it taste worse than it is.

Members of the company are arguably too close to the product to recognise where its value lies – particularly if you had a different vision for the end product.

 

 

Keep eating

So, what’s to be done about these shortcomings? When you’re eating your own dog food you should do so companywide. Everyone should be using your software: yes, the developers, but also your marketing team, your customer support wizards, your HR department.

By operating your software companywide, you expand the knowledge base, experience and variety of user needs to be more representative of your users. Plus, the wider the range of people in your company using your product, the more you reduce the likelihood of biased views. This way, you really put your software to the test.

 

 

Pass the plates

Eating your own dog food helps you make sure you’ve not made a dog’s dinner of your software product. From practicing what you preach to putting yourself in the customers’ shoes, eating your own dog food instils trust and confidence. To boot, dogfooding improves your service and software, and encourages teamwork across your organisation.

So, isn’t it about time you tucked into a plate of your own dog food?

 

Useful links

What is a user story and why should you be writing them?

A guide to conducting effective code reviews

Tech assumptions make an ass of your users