Dogfood

source: https://www.joelonsoftware.com/2004/04/16/news-3/

  • eating your own dogfood means being a user of your own code. being both the user and the developer.
    • user empathy comes automatically.

source: https://en.wikipedia.org/wiki/Eating_your_own_dog_food

  • The practice of using your own prodicts or services.

  • act of quality control

  • a kind of testimonial advertising.

  • can demonstrate develops confidence in their own product.

  • The practice enables proactive resolution of potential inconsistency and dependency issues, especially when several developers or teams work on the same product.

  • origin of term

  • criticism

    • The people who make the product (developers) may not be the best people to understand the end users.

source: https://instabug.com/blog/the-risks-of-dogfooding-and-when-not-to-dogfood/

  • It's not just about testing your app.
  • It's about putting yourself in your users' shoes and see things from their perspective.
    • Something that needs to be embedded in your culture to unlock it's potential.
    • Using your app in a real-world environment for the same purpose and in the same way your end-users would.
  • You need to define your target audience.
    • and close you are with them.
    • you need to make sure that the feedback you get from dogfooding is in line with what the users are thinking.
      • otherwise you are risking building a tool that fits your team, but not the end users.
  • Your team is a lot more familiar with your app than your customers are.
    • You need a fresh set of eyes to view your product in this case.
  • it is natural for your team to be biased towards the app
  • dogfooding is great but it's not a replacement for proper QA testing.
  • if your app does a very specific / specialized task and cannot be adapted to you, it is best to avoid dogfooding as it will likely give a false feedback.
  • doing it too early when the product is immature may backfire as well. In this case dogfooding could be more of an obstacle.

source: https://www.computer.org/csdl/magazine/so/2006/03/s3005/13rRUygBwg0

  • Lorne Greene was a pitchman for Alpo dog food and showed a commercial that he fed Alpo to his dogs.

  • The president of Kal Kan Pet Food would eat a can of the company's dog food at the annual shareholder's meeting.

  • At some point "dog food" became a verb.

  • The software industry has adopted the phrase to mean that they use their own products.

  • evidence that the company has confidence in its own software.

    • pitfalls:
      • they are getting it for free.
      • ultimately, the people who select what software gets used are more likely to be the ones paying for it than the ones using it.
  • finding bugs through dogfooding

    • makes you wonder how confident the company is in its testing and QA process.
      • may actually reduce confidence in testing.
  • companies using only their product may not be able to realize alternative approaches exists.

    • failing to appreciate and respect good features of other companie's tools.
  • peer pressure to use your teams product

  • Not Invented Here syndrome.

    • scarce resources might get allocated to building tools taht could easily be purchased from others.