Of Dog Food and Demo's
"Eating your own dog food" is a phrase that's been around a while in the tech industry, though it likely came from outside the industry. It's an important idea that you're building a tool for someone to use, which is supposedly better than the other tools available, so why wouldn't you use it yourself? The implication being that if you wouldn't use it, why would anyone else?
Using your own software can give you valuable insight into what is and isn't working. If you think a feature is a pain in the ass, there's a good chance your customer will too. Or, if a feature would scratch an itch that you have, you're probably not the only one with that itch.
But there are some problems with the idea.
First, you aren't your customer. You're not paying for the product, and your priorities will likely be different for exactly that reason. Ensuring that your priorities align with your customer needs should be the top priority. So, even when you can use your product regularly, you still need to calibrate to your customer's needs.
Second, it is often difficult to use your product in the role on a day-to-day basis. This is often the case with enterprise systems. You may work on a new internal system for the benefit of another team or department. If you work at a bank and you're developing a new product for the tellers or internal audit, you won't ever be a teller or auditor.
This is where live demonstrations become important. On a regular cadence, you should be driving your product with your customers, internal or otherwise. And there are a few good reasons for live demonstrations.
Your customers will gain confidence that you know what's happening with the product if you can use it. It provides visual validation that something works. Demonstrations also allow you to gain confidence about your product. To do a demonstration, you have to spend time learning and working through different use cases. The risk of public failure tends to drive quality, having a demo go badly is a terrible experience. But the reward of having a demo go well is fantastic.
When you run a demo, you have to directly engage with your customers. Talking to and interacting with your customers is the best way to ensure you're aligned with them. Having a product to work with boosts the quality of the interaction by forcing the discussion towards concrete subjects. Hypothetical discussions can lead to a lot of misunderstanding, while having someone witness an activity and respond with feedback provides clarity.
A live demo also requires structure, and a deliberate choice of words. Performing a demo allows you to learn what topics are most interesting to your customer and what words work best to convey purpose and instruction. When you demo, you teach. There is a saying attributed to Yogi Bhajan, “If you want to learn something, read about it. If you want to understand something, write about it. If you want to master something, teach it.”
To be the master of your product, you should "dog food" it if you can, but you should demo it every chance you get.