I'm our companies only PC software programmer so I often end up in meetings with customers discussing what they want. We have developed custom hardware and software, but some of our customers are very very non-technical.
You show them a 'cool' animated realtime display of data coming from multiple sensors over a network and they get so excited. However, they find it very difficult to understand that the UI is less that 10% of our whole development time/cost.
Another customer wanted to generate historical reports and statistics from 1-2Gb of data per year, but they insisted that they didnt want or need a database.
We end up with two outcomes:
- You finally work out what you think they want, write a spec and they sign it off and still dont understand what they want
- They insist on specifics that really dont matter ('cool' things generally) and dont care about important things like how the data is stored
Either way I feel it will end in tears. Should we be bothered if they are willing to put up big money for it? Can contracts like this be managed and end with a good outcome?