Short of early customer engagement, nothing is more important in product development than dogfooding your own creations. The need for active dogfooding cannot be overstated. Few of us would disagree with this in principle but in practice excuses tend to get in the way. A few examples:
- when developing big data solutions, waiting for pilot customers to lend you their "scale" before applying the product to your own environment,
- when developing a monitoring solution, using a more mature stack from another vendor to watch your infrastructure,
- when developing an analytics tool, using only synthetic or mock data for demos so as to "better" convey the point,
Don't let any of these excuses form: make a point of dog fooding your software as the milestone number 0 and make it an integral part of your process - the benefits are surprisingly immediate.
Side note: some people prefer the phrase drinking our own champaign apparently repulsed by the idea of consuming dog food. Other than it being somewhat pretentious and self-congratulatory, this champaign variant totally misses the boat: the point is to use a solution that isn't that glorious (yet), maybe hasn't exactly been built for me as target audience and might not be that great at the current stage of development -- yet I'm still going to derive value out of it in hope of identifying areas for improvement.