An old software slogan at Living Videotext: "We Make Shitty Software... With Bugs!" It makes me laugh! We never ran this slogan in an ad. People wouldn't understand. But it's the truth. We make shitty software. And so do you!
Software is a process, it's never finished, it's always evolving. That's its nature. We know our software sucks. But it's shipping! Next time we'll do better, but even then it will be shitty. The only software that's perfect is one you're dreaming about. Real software crashes, loses data, is hard to learn and hard to use. But it's a process. We'll make it less shitty. Just watch!
Talking with an unhappy customer, first validate their belief that you've let them down. I agree that our software isn't perfect. You won't get an argument here. Let's move on, find a workaround, a way to get your data back. And we promise to take a look at this problem and, if possible, fix it in the next release.
So, when you get an upgrade, you look for the process, see if they responded to your needs. Which way are they moving?
You heard it here first: all my software is shitty.
There are a handful of programmers in the world capable of producing brilliant, perfect code. All the rest of us can do is keep making our software less shitty over time-- a process of continuous improvement. Given my current status as the best programmer in the world, it's difficult to eke out any improvement, but I do make a noble effort.