In my Bio/Guestbook entry I invite people to ask questions and I'm finally getting around to answering one...the only one I might add. :) The catalyst for this wasn't a sense of guilt or responsibility about meeting the expectations I've set, but rather a post from Josh Ledgard that I read last night. It's titled, "The Effects of an Angry Customer E-Mail Regarding the Forums," and sparked a thought process inside my mind, which doesn't happen all too frequently so I kind of stood up and took notice. In short, Josh relates an angry email he receives about MSDN's new forum (which I think looks pretty damn good) and how it really affected him.
Now, back to the question in my Guestbook. Daveeelyyy states "Always did wonder what softies think of the never ending supply of negative criticism that they receive over product, ship dates, etc?"
Here's my take on it...
First off, I have always worked in operations, not a product group, so I don't really have a personal bond or tie to any specific product we develop. Having said that I think that criticism is a good thing. Without it we wouldn't know what features people like/dislike, what new features people need/want, what UI designs do more harm than good, what features people rarely use, but really need every so often and so on and so on... Criticism can help drive a product down certain roads (read ShaykatC's blog for some insight on this issue and C#), although it may only change the width of the shoulder and not the direction. How's that for an analogy.
Now, as I see it, there are two cruxes that get in the way of making criticism constructive...
Crux # 1 - MSFT. People who work intimately developing a product for months and years become personally attached to it. They've invested thousands of hours into making the best product they possibly can and have gone through several cycles of gathering requirements, developing, and testing. I think it's only natural for them to be a little defensive or protective when someone comes along and says "WTF were you thinking when you did X because it's the stupidest thing I've ever seen." I see this all the time on an internal DL for VBScript where one of the original developers is constantly answering questions about why this was done or why that wasn't implemented.
Crux # 2 - Consumers. People who use the products and provide some of the loudest criticisms become personally attached to it (yes, I just said the same thing about MS). They've invested hundreds and perhaps thousands of hours into learning the intricacies of how to use a product and often in very specific ways. Let's face it, most of us are creatures of habit and once we learn how to do something we don't care to learn another way. When new versions are released and changes are made it's not always possible to retain 100% backwards compatibility so cuts have to be made. This is obviously going to be a pain point for current users. There are many other ways that consumers become personally attached to the products they use (that we develop) and I think that's the root of the conflict.
I think we all need to do one thing and that is to assume positive intent. Now, before you go off on me saying this isn't Leave it to Beaver where we all tell the truth and bake homemade cherry pies every afternoon, let me finish my thought. Microsoft doesn't set out to make a crappy product (did anyone actually use ME longer than they had too?). We try to make the best damn products we can! If angry consumers would assume our positive intent to provide them with quality products then perhaps they could provide more constructive criticism instead of angry finger-pointing. But alas, it goes both ways! Consumers (well, most anyway) don't want to be angry with us, they just want their software to run and they get upset when it doesn't. That's just human nature. That's where we need to assume positive intent on behalf of the consumer. We need to remember that they're not yelling at us because they want to make us angry, they're yelling at us to fix something they don't know how too.
There's my take on it, in a nutshell! 
~tod