Our project's team members are a big fans of Ubiquitous Language concept from the Domain-Driven Design Community.
And here is the problem we've found:
Non-techy users like to use a simplified names of all the concepts, they don't want to know all the details, and that's OK. But we can't do the same in code, because this concepts aren't as easy as we represent them to users.
Example: User can setup a project and choose any template for it. But under the hood - it is a concept of the Vendor1's Framework, which is third-party component to our software.
So we, as developers can be confused by users' use of the "template" term. Because we already are used to use "template" term in the area of our MVC framework.
The temporary solution we have now is:
- show simple terms for users
- use real terms in code
- explain user terms-to-code terms translation vocabulary in wiki
How should we solve this problem?