Употребление в пищу собственного корма для собак или « dogfooding » — это практика использования собственных продуктов или услуг. [1] Это может быть способом для организации протестировать свои продукты в реальных условиях с использованием методов управления продуктами . Таким образом, dogfooding может выступать в качестве контроля качества и, в конечном итоге, своего рода рекламной рекомендацией . Попав на рынок, dogfooding может продемонстрировать уверенность разработчиков в своих продуктах. [2] [3]
В 2006 году Уоррен Харрисон, главный редактор IEEE Software, рассказал, что в 1970-х годах в телевизионной рекламе корма для собак Alpo , пресс-секретарь и актер Лорн Грин указал, что он кормил Alpo своих собственных собак. Другим возможным происхождением, которое он вспомнил, было то, что президент Kal Kan Pet Food, как говорили, съедал банку своего корма для собак на ежегодных собраниях акционеров. [4] [5]
В 1988 году менеджер Microsoft Пол Маритц отправил Брайану Валентайну , менеджеру по тестированию Microsoft LAN Manager , электронное письмо под названием «Едим собственную собачью еду», призывая его увеличить внутреннее использование продукта компании. Оттуда использование термина распространилось по всей компании. [6] [7]
InfoWorld прокомментировал, что это должен быть прозрачный и честный процесс: «разбавленные примеры, такие как политика автодилеров, заставляющих продавцов ездить на автомобилях тех марок, которые они продают, или Coca-Cola, не разрешающая использовать продукцию Pepsi в корпоративных офисах... не имеют значения». [8] В этом смысле корпоративная культура неподдержки конкурента не то же самое, что философия «есть собственную еду для собак». Последняя фокусируется на функциональных аспектах собственного продукта компании.
Dogfooding позволяет сотрудникам тестировать продукты своей компании в реальных ситуациях; воспринимаемое, но все еще спорное преимущество за пределами маркетинга, [3] [9], которое дает руководству представление о том, как продукт может быть использован — все это до запуска для потребителей. [9] В разработке программного обеспечения dogfooding может происходить в несколько этапов: сначала используется стабильная версия программного обеспечения с добавлением только одной новой функции. Затем несколько новых функций могут быть объединены в одну версию программного обеспечения и протестированы вместе. Это позволяет проводить несколько проверок до выпуска программного обеспечения. Эта практика позволяет заблаговременно решать потенциальные проблемы несоответствия и зависимости, особенно когда несколько разработчиков или команд работают над одним и тем же продуктом. [ необходима цитата ]
Риски публичного догфудинга, в частности, то, что у компании могут возникнуть трудности с использованием собственных продуктов, могут снизить частоту публичного догфудинга. [8]
В феврале 1980 года президент Apple Computer Майкл Скотт написал служебную записку, в которой говорилось: «Вступает в силу немедленно!! Больше не нужно покупать, брать в аренду и т. д. пишущие машинки и т. п. ... Мы считаем, что пишущая машинка устарела. Давайте докажем это изнутри, прежде чем попытаемся убедить наших клиентов». [10] Он поставил цель изъять все пишущие машинки из компании к 1 января 1981 года. [11]
К 1987 году Atari Corp. уже использовала Atari ST во всей компании. [12]
В разработке Windows NT в Microsoft участвовало более 200 разработчиков в небольших группах, и она держалась вместе благодаря настоянию Дэйва Катлера в феврале 1991 года на догфудинге. Microsoft разработала операционную систему на компьютерах, на которых ежедневно устанавливались сборки NT. Изначально программное обеспечение было склонно к сбоям, но немедленная реакция кода, ломающего сборку, потеря гордости и осознание того, что мешает работе других, были мощными мотиваторами. [13] [14] Разработчики Windows обычно занимались догфудом или самостоятельно размещали Windows, начиная с ранних (альфа) сборок, в то время как остальные сотрудники начинали с более стабильных бета-сборок, которые также были доступны подписчикам MSDN. [ необходима цитата ] В 2005 году InfoWorld сообщил, что экскурсия по сетевому операционному центру Microsoft «показала вне всякого разумного сомнения, что Microsoft действительно использует свою международную сеть с более чем 20 000 узлов на 99 процентах технологий Windows, включая серверы, рабочие станции и безопасность периферии». [15] InfoWorld утверждает, что «использование Microsoft Windows для своих операций с большим трафиком склонило многих скептиков на сторону Windows». [16]
«Использование Microsoft Windows и .NET было бы несущественным, если бы не одно обстоятельство: руководители ее программных проектов и менеджеры онлайн-сервисов имеют свободу выбора».
Том Ягер, InfoWorld [8]
В середине 1990-х годов внутренняя система электронной почты Microsoft изначально разрабатывалась на основе Unix . Когда их спросили, почему, они публично перешли на использование Microsoft Exchange . [17] В 1997 году электронный шторм, известный как инцидент Bedlam DL3 [18], заставил Microsoft встроить более надежные функции в Microsoft Exchange Server, чтобы избежать потери и дублирования писем, а также простоя сети и сервера, хотя dogfooding редко бывает столь драматичным. Второй электронный шторм в 2006 году [19] был прекрасно обработан системой.
В 1999 году сотрудники Hewlett-Packard назвали проект, использующий собственную продукцию HP, «Проектом Alpo » (имея в виду бренд корма для собак). [20] Примерно в то же время Mozilla также практиковала догфудинг под тем же названием. [21]
Государственные зеленые государственные закупки , позволяющие тестировать предлагаемую экологическую политику, сравнивают с тестированием собак. [22]
1 июня 2011 года YouTube добавил функцию лицензирования в свой сервис загрузки видео, что позволило пользователям выбирать между стандартной лицензией или лицензией Creative Commons . [23] [24] За меткой лицензии следовало сообщение «(Тсс! – Внутренняя испытательная версия)», которое появлялось на всех видеороликах YouTube, не имеющих коммерческой лицензии. [25] [ проверка не удалась ] Сотрудник YouTube подтвердил, что это относится к продуктам, которые тестируются внутри компании. [26]
Корпорация Oracle заявила, что по состоянию на октябрь 2016 года [update]она «использует Oracle Linux на более чем 42 000 серверах, [чтобы] поддерживать более 4 миллионов внешних пользователей и 84 000 внутренних пользователей. Более 20 000 разработчиков в Oracle используют Oracle Linux». [27]
После сбоев CrowdStrike в июле 2024 года генеральный директор Адам Мейерс дал показания перед Конгрессом США, что «тестирование на догфуд» (увеличение внутреннего тестирования перед развертыванием) было одной из мер, принятых компанией для предотвращения будущих проблем. [28]
Иногда считается, что принуждение тех, кто разрабатывает продукты, фактически использовать их и полагаться на них улучшает качество и удобство использования , но разработчики программного обеспечения могут быть слепы к удобству использования и могут обладать знаниями, чтобы заставить программное обеспечение работать, чего не будет у конечного пользователя. [9] Директор по информационным технологиям Microsoft отметил в 2008 году, что ранее «мы, как правило, не проходили через реальный опыт клиентов. Мы всегда обновлялись с бета-версии, а не с рабочего диска на рабочий диск». [29] Догфудинг может произойти слишком рано, чтобы быть жизнеспособным, и те, кого заставляют использовать продукты, могут привыкнуть к применению обходных путей или могут предположить, что кто-то другой сообщил о проблеме. Догфудинг может быть нереалистичным, так как у клиентов всегда будет выбор продуктов разных компаний для совместного использования, и продукт может использоваться не так, как предполагалось. Процесс может привести к потере производительности и деморализации, [9] или, в крайнем случае, к синдрому « Изобретено не здесь », т. е. использованию только внутренних продуктов. [4]
В 1989 году Дональд Кнут опубликовал статью, в которой изложил уроки, полученные в ходе разработки его программного обеспечения TeX Typesetting, в которой были упомянуты преимущества подхода:
Таким образом, я пришел к выводу, что проектировщик новой системы должен быть не только реализатором и первым крупным пользователем; проектировщик должен также написать первое руководство пользователя. Разделение любого из этих четырех компонентов нанесло бы TeX значительный ущерб. Если бы я не участвовал в полной мере во всех этих действиях, буквально сотни улучшений никогда бы не были сделаны, потому что я бы никогда не подумал о них и не понял, почему они важны.
— Дональд Э. Кнут , «Ошибки TeX» [30]
В 2007 году Джо Хоппе, ИТ-директор Pegasystems , заявила, что она использует альтернативную фразу «пьем собственное шампанское». [31] Глава отдела по связям с общественностью Novell Брюс Лоури, комментируя использование его компанией Linux и OpenOffice.org , сказал, что он также предпочитает эту фразу. [32] В 2009 году новый ИТ-директор Microsoft Тони Скотт утверждал, что фраза «dogfooding» непривлекательна и должна быть заменена на «icecreaming» с целью разработки продуктов как «мороженого, которое хотят потреблять наши клиенты». [33] Менее спорный и распространенный альтернативный термин, используемый в некоторых контекстах, — это self-hosting , когда рабочие станции разработчиков, например, автоматически обновляются ночью до последней ежедневной сборки программного обеспечения или операционной системы, на которой они работают. Разработчики операционных систем для мэйнфреймов IBM уже давно используют термин «eating our own cooking». [ необходима цитата ]