So I bring to you, The Two Ronnies in Four Candles ...
It's a great piece of comedy, but what has this got to do with building software? A lot more than you would believe.
At it's heart, Four Candles is a comedy about miscommunication. There are two perspectives to this sketch, either it's about a customer who comes into a hardware shop with a list of things that he clearly want, and finds himself increasingly bemused by a somewhat surely and agitated shopkeeper. Or it's about a shopkeeper who finds himself frustrated by a customer who seems to be trying to be deliberately difficult, and evading any attempt to be specific.
Both points of view have some justification.
Of course within the world of software, this is where we have some empathy to this scenario. How often have we either been supplying software to a customer, or else sending work outside of our organisation. There is always a spectre of "how much information to supply", and no matter how much information you give or get, there is a potential for misinterpretation. Which means software delivered which doesn't match someone's expectations of it.
This was one reason (in the early 2000s) I was pretty sure that outsourced work and distributed teams just could not work. When everyone was located in a single office block (as my projects at the time were) when requirements were delivered in phone book sized monuments - even then I'd seen the potential for communication to fail, and what was being delivered to be less than ideal.
In our software delivery groups, we probably have more empathy with the shopkeeper than with the customer in the scenario above. He's doing his best to deal with his customer, but he feels the customer isn't really helping him.
After being caught out over the "four candles" really being a request for "fork handles", the shopkeeper realises he'll need to ask for more information. So when asked about "plugs", he asks for more information "what kind?", and is told "rubber, bathroom". So he finds his box of sink plugs and asks for a size to be told he needs to supply a "13 amp" one ... that is an electrical one.
It goes on this way (hilariously), and the shopkeeper tries various tactics to try and get more information out of his customer, and thus evade a lot of needless effort (such as going up a stepladder to get a box for the wrong thing).
In the end, the shopkeeper tries to break the cycle, by asking for the list, because as it is, this is just not working, and he's becoming increasingly frustrated. Reading through the list, he sees something, and decides at this point that it's time to walk away, and gets someone else to deal with his customer. It turns out the item that caused the shopkeeper to decide to break the cycle was a request for "bill hooks" (bollocks - a UK swearword).
Getting out of customers what they really want is a tricky business. But it's important though, you want happy customers, because generally happy customers equals successful business. But also you want to save yourself wasted time when you can. We've all been the shopkeeper who feels frustrated going back to get the box of letters from the top shelf for the "Ps". And the customer trying to give clarification by just "repeating their ambiguous original request" doesn't help.
Like the shopkeeper we should try different tactics (clarification, getting the list from the customer etc) to try and break through the frustration. But if we can't break through and make progress, as frustrating as it is, we have to be prepared to walk away and let someone else try.