One of the most important things to do when designing a system for a customer is to to try create a common business language between you and the people who understand the problem domain. A lack of what is known as “the ubiquitous language” can result in misunderstandings and a failed project.
I had a real life experience of a ubiquitious language failure yesterday. My brother went to the shop to buy some credit for his phone and offered to take my children with him to buy sweets. When they got back my son asked me
“How come uncle Stephen was able to buy credit for his phone?”
When I asked what he was talking about he described the sign on the wall in the shop, it read
“Please do not ask for credit as refusal often offends”