The DDD literature is quite clear that when a word/term has a different meaning for different users, a Bounded Context should be created to be able to separate the domain models.
I’m facing the situation where two different terms are being used to describe the same concept and I’m having a hard time figuring out how to handle this situation. Should I hold a popular vote among the domain experts to pick the most widely used term? Should we discuss it further and come up with a third name that would satisfy everyone (not sure it’s possible)? Any other suggestions?
Note that in the UI it wouldn’t be so hard to show the ‘correct’ term to the users. I’m mainly talking about how to call the concept in the model and source code.
Some context:
Organisation has two existing off the shelf applications. Application A calls a concept Foo and application B calls the same concept Bar. Both applications have API’s and I’m creating an integration application that allows users to get and manipulate data from both applications.
Application A is the source, when a new Foo is created, my application will create a new thing. Application B also reacts to the creation of Foo and my application will use data from B as well. Various users will work with the thing, until the process is complete and the thing will dissapear. My application will be used by users who work with Application A or Application B.