Here's the dealio.
We1 have a bad habit of placating the customer instead of educating them. 9 times out of 10, our customers don't know what they need. If they think they know what they want, they can't express it. Even when we've already built something, they can't express how they want to reuse it.
ed‧u‧cate –verb (used with object) ( http://dictionary.reference.com/browse/educate)
1. to develop the faculties and powers of (a person) by teaching, instruction, or schooling.
pla‧cate –verb (used with object) ( http://dictionary.reference.com/browse/placate) to appease or pacify, esp. by concessions or conciliatory gestures.
It's no suprise why there's a great deal of frustration from both parties. What would happen if we took our jobs as an opportunity to educate people, as to what was going on, by giving them rich tools with which to express what we were doing. If we could put tools in their hands to describe in their language, what we're doing, we could re-use the tools we build much quicker. Simply amazing.
1We refers to humanity in general. Especially those of us that work with any kind of customer.