# Dogfooding

Eating your own dog food (aka. tomar de tu propia medicina), también llamado dogfooding (lit. "comer su propia comida de perro"), es un término usado para describir cuando una organización usa su propio producto. Esta puede ser una forma para que una organización pruebe sus productos en el mundo real. Por lo tanto, dogfooding puede actuar como control de calidad y, finalmente, como una especie de publicidad testimonial. Una vez en el mercado, dogfooding demuestra confianza en los productos propios de los desarrolladores.

## Uso en el mundo real

InfoWorld comentó que esto debe ser transparente y honesto: "los ejemplos diluidos, como la política de los concesionarios de automóviles de hacer que los vendedores manejen las marcas que venden, o que Coca-Cola no permita que los productos de Pepsi lleguen a las oficinas corporativas... son irrelevantes". En este sentido, una cultura corporativa de no apoyar al competidor no es lo mismo que una filosofía de "comer su propia comida para perros". Este último se centra en los aspectos funcionales del producto propio de la empresa.
Dogfooding permite a los empleados probar los productos de su compañía en situaciones de la vida real; una ventaja percibida, pero aún controvertida, más allá del marketing, que le da a la gerencia una idea de cómo podría usarse el producto, todo antes de su lanzamiento a los consumidores. En el desarrollo de software, dogfooding puede ocurrir en múltiples etapas: primero, se usa una versión estable del software con solo una nueva característica agregada. Luego, se pueden combinar múltiples funciones nuevas en una única versión del software y se pueden probar juntas. Esto permite varias validaciones antes de que se lance el software. La práctica permite la resolución proactiva de posibles incoherencias y problemas de dependencia, especialmente cuando varios desarrolladores o equipos trabajan en el mismo producto.
Los riesgos del dogfooding público, específicamente que una compañía pueda tener dificultades para usar sus propios productos, puede reducir la frecuencia de dicha práctica.

## Origen del término

En 2006, el editor de IEEE Software relató que en los anuncios de televisión de 1970 para la comida para perros Alpo, Lorne Greene señaló que alimentaba a sus propios perros con dicha comida. Otro posible origen que recuerda es del presidente de Kal Kan Pet Food, de quien se decía que comía una lata de comida para perros de la compañía en las juntas de accionistas.
En 1988, el gerente de Microsoft, Paul Maritz, envió a Brian Valentine, gerente de pruebas de Microsoft LAN Manager, un correo electrónico titulado "Comiendo nuestro propio alimento para perros", desafiándolo a aumentar el uso interno del producto de la compañía. A partir de ahí, el uso del término se extendió por la empresa.
La insistencia de Dave Cutler en febrero de 1991 de practicar el dogfooding en el desarrollo de Windows NT en Microsoft se documentó en el libro de Pascal Zachary de 1994, Showstopper! The Breakneck Race to Create Windows NT and the Next Generation at Microsoft. Microsoft desarrolló el sistema operativo en computadoras que ejecutan compilaciones diarias de NT, inicialmente solo texto, luego con gráficos, y finalmente con redes.

## Ejemplos

El desarrollo de Windows NT en Microsoft involucró a más de 200 desarrolladores en pequeños equipos, y se mantuvo unido por la insistencia de Dave Cutler en febrero de 1991 en dogfooding. Microsoft desarrolló el sistema operativo en computadoras que ejecutan versiones diarias de NT. Inicialmente era propenso a los errores, pero la retroalimentación inmediata del código que rompía la construcción, la pérdida de orgullo y el conocimiento de impedir el trabajo de otros eran motivadores poderosos. Los desarrolladores de Windows normalmente Windows para compilar sus propios programas iniciales (alfa) a modo de dogfooding, mientras que el resto de los empleados partirían de las versiones beta más estables que también estaban disponibles para los suscriptores de MSDN. En 2005, InfoWorld informó que un recorrido por el centro de operaciones de red de Microsoft "mostró bastante más allá de la duda razonable de que Microsoft ejecuta su nodo de más de 20,000, la red internacional en un 99% de la tecnología de Windows, incluidos servidores, estaciones de trabajo y seguridad de vanguardia". InfoWorld argumentó que "el uso de Windows por parte de Microsoft para sus operaciones de alto tráfico llevó a muchos dudosos al lado de la cerca de Windows".
A mediados de la década de 1990, el sistema interno de correo electrónico de Microsoft se desarrolló inicialmente alrededor de Unix. Cuando se les preguntó por qué, se mudaron públicamente a usar Microsoft Exchange. En 1997, una tormenta de correo electrónico conocida como el incidente de Bedlam DL3 hizo que Microsoft construyera características más robustas en Microsoft Exchange Server para evitar correos electrónicos perdidos y duplicados y el tiempo de inactividad de la red y el servidor, aunque la práctica de dogfooding rara vez es tan dramática. Una segunda tormenta de correo electrónico en 2006 fue manejada perfectamente por el sistema.
En 1999, el personal de Hewlett-Packard se refirió a un proyecto que utilizaba productos propios de HP como "Proyecto Alpo". Casi al mismo tiempo, Mozilla también practicó el dogfooding con ese nombre exacto.
La contratación pública ecológica gubernamental que permite probar las políticas ambientales propuestas ha sido comparada con el dogfooding
El 1 de junio de 2011, YouTube agregó una función de licencia a su servicio de carga de videos, lo que permite a los usuarios elegir entre una licencia estándar o una licencia Creative Commons. La etiqueta de la licencia fue seguida por el mensaje "(Shh! - Internal Dogfood)" que apareció en todos los videos de YouTube sin licencia comercial. Un empleado de YouTube confirmó que esto se refería a productos que se prueban internamente.

## Apoyo y críticas

A veces se cree que obligar a quienes diseñan productos a utilizarlos y a confiar en ellos mejora la calidad y la usabilidad, pero los desarrolladores de software pueden ser ciegos a la usabilidad y pueden tener conocimiento para hacer que el software funcione que un usuario final no tendrá. El director de información de Microsoft señaló en 2008 que, anteriormente, "Tendemos a no pasar por la experiencia real del cliente. Siempre estábamos actualizando desde una versión beta, no desde un disco de producción a un disco de producción". Dogfooding puede ocurrir demasiado pronto para ser viable, y quienes se ven obligados a usar los productos pueden asumir que otra persona ha informado del problema o pueden acostumbrarse a aplicar soluciones provisionales. Dogfooding puede ser poco realista, ya que los clientes siempre tendrán una opción de productos de diferentes compañías para usar en conjunto, y el producto no se puede usar como está previsto. El proceso puede llevar a una pérdida de productividad y desmoralización, o en su extremo al síndrome "No se ha inventado aquí", es decir, solo se utilizan productos internos.
En 1989, Donald Knuth publicó un artículo sobre lecciones del desarrollo de su software de composición tipográfica TeX, en el que se mencionaban los beneficios del enfoque:

## Términos alternativos

En 2007, Jo Hoppe, CIO de Pegasystems, dijo que usa la frase alternativa "beber nuestro propio champán". El jefe de relaciones públicas de Novell, Bruce Lowry, al comentar sobre el uso de Linux y OpenOffice por parte de su compañía, dijo que también prefiere esta frase. En 2009, el nuevo CIO de Microsoft, Tony Scott, argumentó que la frase dogfooding no era atractiva y debería reemplazarse por icecreaming, con el objetivo de desarrollar productos como "helado que nuestros clientes quieren consumir". Un término alternativo menos controvertido y común que se usa en algunos contextos es el self-hosting, donde las estaciones de trabajo de los desarrolladores, por ejemplo, se actualizarán automáticamente de la noche a la última compilación diaria del software o sistema operativo en el que funcionan. Los desarrolladores de los sistemas operativos de mainframe de IBM han usado durante mucho tiempo el término "eating our own cooking".