An expert could be described, in the simplest possible terms, as someone who receives information and makes decisions.
The expert has enormous knowledge – experiences and facts – which help her understand what is going on from the data in front of them.
So what the software needs to do, first and foremost, is deliver the relevant information.
This means the software needs to understand what the expert is trying to do and what the expert needs (we can call this ‘modelling’).
Working out what the expert needs will vary as a challenge.
Some experts may have very narrow data requirements. Some may have broad and complex requirements.
Perhaps working out what information the expert needs is the most difficult and critical part of this.