Trovo spesso che le entità di "marketing" non corrispondano esattamente con le entità interne. In questi casi, ha più senso introdurre un'entità a un diverso livello di astrazione, il che rende le differenze terminologiche un punto controverso.
Ad esempio, abbiamo un modello che rappresenta una gerarchia. A ogni livello della gerarchia è associato un termine in base al modo in cui la gerarchia viene utilizzata per modellare le relazioni del mondo reale, ma internamente non esiste una differenza di comportamento da un livello della gerarchia a quello successivo. La terminologia è essenzialmente solo un nome per quel livello nella gerarchia, quindi per un nodo particolare nell'albero il nome descrive semplicemente cos'è il nodo; non prescrive alcun comportamento particolare.
Inoltre, l'albero è multi-root, quindi ci sono diversi nodi senza un genitore. Anche se concettualmente esiste una radice (rappresenterebbe essenzialmente l'universo), e includerla nel modello renderebbe molte operazioni molto più semplici, non ci sono "termini di marketing" per questo.
Naturalmente, diversi componenti del nostro sistema usano una terminologia diversa. Sono stati sviluppati in momenti diversi da squadre diverse, e non abbiamo il controllo su tutti loro. In realtà, a un certo punto, qualcuno ha aggiunto o rimosso un livello in un componente, e quindi gli altri livelli sono spostati l'uno rispetto all'altro. Gli stessi tre livelli sono rappresentati da A, B e C in un componente, ma come B, C e D in un altro.
Fare un passo avanti nell'astrazione e semplicemente modellare tutto come un "nodo" o qualcosa di altrettanto generico rende molto più facile ragionare su questo tipo di modelli. Ogni nodo sa qual è il suo "termine di marketing" e il tipo che rappresenta un particolare termine di marketing può sapere cosa significa quel termine in ogni contesto.