I'm in a state of constant turmoil about our product. I have this vision of where we want to be and I have the need to ship useful product now. Some people would stamp a product "good enough" and ship. Why? Because I've been in startups that just keep developing product to an ever elusive and changing end goal. But never shipped, never had a customer.
But I'm not happy with good enough. What you ship needs to be much better than anything out there. So I figured out a way to get both done. The key is to focus on core functions we absolutely know will delight our customers today. The rest is "good enough" for now. Why? Because every time you release, and customers use the product you gain more knowledge and clarity on the next set of functions and features.
This constant iteration and innovation drives the product closer to the vision. So "good enough" doesn't cut it for the core features, but is o.k. for the fringe where no one really knows the right answer until they see it, touch it and use it.