Sunday, November 12, 2017

Building a software product - what's one of the secret ingredients?

Recently I am thinking over what are the important ingredients when building a software product in order  to be a success. Investigating my previous experience at work and considering many open source projects, I've came to conclusion that one of the things, that is key in order to make a product people love is:

Dogfooding - Eating your own dog food is a slang term used to reference a scenario in which a company uses its own product to test and promote the product.

Several arguments supporting my claim:

  • Case study - when I evaluate a technology/product, one of the important things is who is using it and for what. No better validation but presenting to the world what you've built with the product or some exposure on how your organization is using the product internally.
  • Instant Feedback - when your company uses your product, internal teams are using it on a daily basis and give you instant and honest feedback. In most cases the feedback is for improvements and bugs.
  • UX testability - everyone wants to complete his work in the most efficient and seamless way, therefore things you don't note cause you're not using the product constantly, but developing it, are noticed easy by people who are trying to optimize their workflow.
  • Upgrades - for On Premise and even for SaaS solutions, upgrading the product may cause various problems to users. It would be hard to cover many real-world scenarios, without having some inside. 
  • Commitment - if you are using your product, it means you won't shut it down - tomorrow. This is more or less tentative, as services are being shutdown anyway. But still shows some good signs to me.

Are you dogfooding your product? If not, what's the reason?

No comments: