Hi Shawn, thanks for sharing. It's nice to hear about your experience. And I love to hear about "realism" and "respect".
Developing software is hard, and it is mainly because the creation of the software itself, opens new opportunities, and because the breach between non-technical people and developers is big. Often, the ones that ask for something, do not know the implications, and they miss quick wins. They can ask for estimates, and developers may nail them, but they may miss other possibilities, just because they don't even know from where to start to ask.
So, sometimes, when the product team ask for estimates, they don't know what is actually possible, and they cut great opportunities just because it is beyond their capacity to understand the internals of the product. And the same for developers, you cannot let developers decide your product, just because the time that they spend working on it, steals time from them to know and understand the customer better. So, the overall objective of the article is asking why not make them team up? Make them to work together? Because, sadly, often when a product team ask for an estimate, they add the item to the backlog, and go for the next item, leaving out any interaction between the two knowledge domains.