It's easy to make a list of everything wrong with your product and spend eternity trying to fix it all. It's harder to reconcile imperfection with the reality of limited resources and business objectives.
Content has a way of their own. Appreciation never really reaches upto the perceived recognition.
Being in content game and UX occasionally gives in the same.
LedgerSMB has had one horrendously slow release (1.3). It was driven around the wrong priorities and tried to fix too much. The mistake nearly sunk my business. We learned our lesson and will continue to plan for significant but manageable releases in the future.
The following story may make the difference easier to see. I've been interviewing a lot of independent filmmakers, asking if they'd be interested in pitching ideas for webisodes to brands that want entertaining content. The prize if their pitch is chosen is that the brand would pay for them to produce the series. So far the filmmakers I've talked to fall into two camps (actually one camp and one individual, but I'm sure there are other filmmakers like this person): the first absolutely love the idea, and the second basically said the money would never be worth it. The essential difference is whether they are creatives.
All of these filmmakers are paid very well for taking someone else's creative idea and converting it into a video. All of them love their jobs. But the first group of filmmakers then spends all their extra time and money making their own creative work. The second group has no narrative films of their own, and talked about what a relief it is that they don't have to be involved in the script, the storyboard, or any other part of "creative" (their word).
Software engineering is similar. I became a software developer after being a jazz trumpet player for 10 years, and the single biggest surprise for me was how creative programming is. You can come up with an idea and create almost anything with nothing but your brain and an internet-connected computer! The creativity in that is awesome.
But many developers don't actually have an interest in coming up with the concept or UI. And certainly most developers, whether they'd like to or not, have very little involvement in the core concept behind the software they're developing.
At Pixar, the software engineers have little to do with the plot, characters, dialog, or storyboarding. While I'm sure they solve problems creatively, and they do actually create the story by bringing the already drawn characters to life with realistic animation, this isn't what Pixar means by creative.
Many believe that software engineering is closer to art then it is to engineering.
In the same manner, it seems like the take-away is: if you create something, then you'll always spot the flaws, but when the benefits outweigh those drawbacks enough, you'll probably be the only one who really notices them.
All accounting software sucks, LedgerSMB included. We are working hard to reduce that until eventually we will be the first accounting software that doesn't suck. But that is no reason to withhold our progress from our userbase!
I've used the software, and it's pretty great. It's easy to use, powerful, and nothing else really compares to it, but he still thinks it's shit.
It's funny how spending your days making your product awesome will warp your mind into thinking it's terrible.
However, the fact is..... you have to release continuously to make the software better, and quality is also relative. As a friend of mine said, if you are with a dwarf and you run into a dragon, you don't have to outrun the dragon, only the dwarf!
I like to think as bad as the software I work on is, we are outrunning the dwarves!
What if your product actually is shit though? To all the wannabe entrepreneurs on here, if you feel that your product sucks, it's probably because it does, not because it's a beautiful gem that you'll never be satisfied with.
Pixar is such an inspiring company when it comes to creativity, innovation, and values. If you've never seen the excellent documentary "The Pixar Story", I highly recommend it.
If it's a software product, and you're debating whether it's time to release, it's probably time to release.
If your customers try your product and quickly abandon it because of it's imperfections, you prioritize fixing those imperfections. If they complain a little, and a few of them leave after a while because they're fed up, it's probably worth fixing those imperfections at some point, but you may want to focus on other priorities.
Nearly two years later, in October of 2001, when I wrote what I felt was a great post (http://boston.conman.org/2001/10/23.1) that I said "to hell with this, this goes live!" and bam! Whatever I had at that point went "live".
So, for me, I released the program despite all the shortcomings because I wanted it released. Since October 2001, it's gone through three (four maybe?) major revisions and while it's closer to what I envisioned, I still have some work to do on it.
As an aside, certain features I envisioned, but never got around to implementing, turned out to be The Wrong Thing To Do. Also, one feature that took the longest to implement (and for the most part, hasn't changed at all in twelve years) rarely gets used in the manner I expected it to (it's used, but it has way more flexibility than I've ever used and there are still some corner cases not handled properly even today).
On the flipside - there is usually also a bunch of stuff that you know is freakin' awesome, but which sits way in the background, and explaining what it is and why it is nearly impossible without the context of having worked on the project.
Consequently I think engineers naturally focus on what is undone, rather than what is finished.
This is inaccurate, IMO. Rather, engineers are constantly working on improving things. If it was perfect, we would stop working on it, but nothing is ever perfect.
Hence why knowing what is worth fixing and what is not can be just as valuable as knowing how to fix it.
- The familiar becomes common quickly, thus losing the shine & new car smell.
- Your imagination will always outpace your productivity and imagination is where the fun is...
The desire to be perfect is part of that. We wish to delight, not annoy.
But sometimes we are just afraid of having our egos bruised.