Current Articles | RSS Feed RSS Feed

Dogfooding and Guineapigging

Posted by Andy Singleton on Mon, Nov 19, 2012

You are probably aware that when developers use their own software, we say they are “eating the dog food.”  This motivates them to improve usability, quality, and features.  I’m going to mangle this into the verb form “dogfooding” to describe the practice of using software prior to a public release.  I’m also going to introduce the concept of “guineapigging,” in which you force innocent users to consume your dog food (guinea pig food?).  You might find it useful to throw around some of these terms at a meeting where you are discussing product management, test, and release.

In the old days, dogfooding was called “alpha testing.”  People working on the software would periodically get disks containing pre-release software, and they would install it, or else.  The practice is extremely common among modern Web developers.  They use switches, as described here, to show early features to employees.  It’s common to show new features for employee accounts, even at banks and insurance companies that have conservative QA  practices.  Dogfooding is everywhere.  If you are aggressive in forcing your stakeholders to try new features, you will make rapid progress.

Guineapigging was called beta testing.  You could often find users who would be willing to take “less stable” builds of software in order to see new features.  During the browser wars of the 90’s, Netscape gained the lead for a time by always offering a beta version.  It’s usually possible to find some set of users that will submit to beta testing if you make it part of your product strategy.

Guineapigging is often more risqué.  On high-volume Web sites, it’s pretty common to turn on new features or changes for just a few servers or user accounts.  Then, you measure what happens.  Where switches are a key technique for dogfooding, logging and measurement are a key technique for guineapigging. Users don’t even know that they are part of a vast evolutionary conspiracy.



Love your articles. 
I think it is worth mentioning that Guineapigging is related to A/B testing, if not the same. 

posted @ Monday, November 19, 2012 12:34 PM by Tom

These are two well known concepts already: : "Eating your own dog food, also called dogfooding" 
'Guineapigging' is nothing more than A/B testing.  
This is nothing new.

posted @ Thursday, November 22, 2012 2:59 PM by Abhi

None of this stuff is new. However, I thought it was worthwhile to comment on how diverse and widespread these techniques really are. It would be useful to have a menu of options for trying out software so that you can pick the option that matches your situation.  
I do NOT agree that "guineapigging" is always the same as A/B testing. That's a very narrow definition, and the whole idea of this post is to get people thinking about expanding the definition. For example, you might be working with multiple variables. A/B testing is specifically comparing one case B against a baseline A. Already, this isn't a very efficient way to work. Mathematically, we know that we get more information per trial if we vary more than one variable, although the information is harder for a human to interpret. Also, the testing might be exploratory. A/B testing tests the effect of a change on one specific metric. You take the case with the better metric. You might try things where you are looking at any and all results - various user metrics, comments, and operational metrics like "did my serve crash".

posted @ Friday, November 23, 2012 12:12 PM by Andy Singleton

Comments have been closed for this article.

Follow Assembla

twitter facebook youtube linkedin googleplus

Get Started

blog CTA button

Subscribe by Email

Your email: