I'm a software developer working for a consultancy that undertakes a variety of projects in a variety of domains. Projects typically have a relatively short turnaround (e.g. a few months).
I find that domain expert customers have a habit of not quite answering my questions correctly, completely, or concisely, both via email and over the phone/in person. This frustrates me because I usually don't have very long to do the work, and I feel like I have to keep chasing the customers as they only partially answer my questions, and often introduce new confusion for me.
The questions I typically ask are fairly open-ended, e.g.
I don't understand requirement X, could you please explain what -whatever- means?
Or:
I've encountered -some issue-, here are some proposed ways of solving it, what do you think?
These are usually broad or non-obvious questions that require a bit of thought to answer.
One common problem I experience is that domain experts tend to assume that I know what they're talking about when they use specialist terms or discuss specific things within their domain. They also might start talking about something else entirely e.g. another requirement. Sometimes I get back a verbose reply that may only answer part of the question and requires substantial parsing to get the info I need, or a rant about something tangentially related.
I've found that when I interrupt and ask for clarification, the results really depend on the person; sometimes things might get cleared up, but other times they'll basically repeat back what they already said, and some of them can get impatient and condescending. Even if they do explain what some terms mean, I'm still not a domain expert, so I still only have a shallow understanding of what they're talking about, and it's hard to know what bits are relevant or not.
Here's a contrived, falsified example:
Question: You mentioned you wanted the PGA receptors to be displayed in a list - each PGA contains a lot of data, so here's how I'm thinking of displaying it. Does that look ok to you?
Answer: We want a way of showing the PGA receptors coming in in real-time. We currently don't know where they come from so it'd be nice if we could have a list showing each of their numbers and info. Then the QXT2 comes in and crunches those numbers - can we have a screen for this? Right now it takes a long time to input all the P values for the data, but I'm not sure what the best way of doing this is. The current system was made a long time ago and we've added many different types of LFG since then, each with their own bongo system, which has to be input in a separate spreadsheet and loaded prior to the app running. I think the list of PGAs should go on the main screen and have as many items as were loaded in from file. This may not be the best way of doing it but it will work for now. Just be aware that the bongo system for the PGAs has to be in .xml format, so I don't know how much info you'll want to display for each one. We need each one to calculate the T values over time.
My thoughts upon seeing something like this are that it's kind of answered the question, but it's also opened up a lot of other questions and is full of ambiguity, which may or may not be relevant. I may have a shallow understanding of what e.g. "PGA" is, but nothing else, so I don't know if it's worth asking and chewing up more time.
Am I being unclear in my questions, or should I phrase them differently to elicit better responses, e.g. are they too open-ended? I typically try to avoid constraining the possible responses because I want the clients to think about the problem and/or solution, not just "pick A or B."