вторник, 20 октября 2015 г.

"Eat your own dog food" - стань клиентом самого себя

Сегодня познакомимся с фразеологизмом: "Eat your own dog food", который давно используется в IT индустрии.

Дословно переводится как: "ешь сам свою собачью еду" и определяет практику, при которой компания разработчик собственного продукта или сервиса использует его сама. Сокращенно практику называют dogfooding. Считается, что на определенных этапах такая практика позволяет увидеть и оценить своими глазами собственный продукт или сервис со стороны клиента.

Как это можно реализовать

Для начала в вашей компании должна быть потребность в функциях разрабатываемого продукта. Иначе вы не можете посмотреть на ваше решение глазами клиента. Если потребность в функциональности есть - внедряйте продукт и удовлетворяйте потребности. На этом можно остановиться и работать с собой, как с обычным клиентом.

Но можно пойти дальше. Следующим шагом к совершенству будет включение методики dogfooding в процесс тестирования: на этапе alpha или beta тестирования очередного релиза продукта устанавливайте новую версию себе. Пытайтесь использовать новые фичи релиза и встроить их в ваш собственный процесс. Такой подход позволит вам найти очевидные баги, которые выявляются на этапе эксплуатации и не видны в момент разработки и тестирования.

На текущем месте работы мы применяем данную практику достаточно широко. Многие внутренние сервисы автоматизированы с помощью нами же разрабатываемого продукта. Все процессы, связанные с эксплуатацией продукта внутри компании организованны таким образом, что мы как будто являемся полноценным клиентом для самих себя.

Осторожно, можно увлечься

В любой жизненной ситуации должен преобладать здравый смысл и dogfooding не исключение. Можно увлечься и забыть про контроль качества и реальные требования настоящих клиентов. Нужно понимать, что внутренние пользователи являются первыми клиентами, но не тестировщиками. Также, как правило, внутри своей компании вы не сможете проверить все кейсы, которые возникают у клиента и, поэтому не стоит делать приоритетней внедрение сервиса или продукта у себя чем внедрение у клиента. Помните, что dogfooding не заменяет мануальное, автоматизированное и нагрузочное тестирование, а только дополняет.

Dogfooding Широко применяется в IT компаниях. Например, Microsoft использует ее с 1988 года.

Дополнительные ссылке по теме