> IMHO, the best way to do it is to be sitting with the expert, and observe exactly what they do.
Or you give them a prototype of the program, and see what they complain about?
Or you give them a prototype of the program, and see what they complain about?
Occasionally, you'll randomly get something they accept - but only for a few weeks until they come across some missing capability for some other thing they never told you about.
When you are solving a real problem, you will still receive complaints, but they will be much more constructive.
Yes, I wasn't entirely serious.
Though you can get pretty far by doing some roleplay, where you pretend to be the computer/system (perhaps put up paper screen to make it easier to roleplay, and pass messages written on paper) and have the expert interact.