Batman once said, “It’s not who I am underneath, but what I do that defines me.” Can we apply this same reasoning when defining key terms on our data models? It can be a daunting task to define a simple term such as “Customer”, but it could be a lot easier (and maybe just as effective) to define instead what these terms do. So can we define something in terms of what that something does instead of what that something “is”?
For example, someone recently shared with me that because their project could not come up with one agreed-upon definition for Customer, he defined Customer as an organization who opens a contract with his company. So any organization with a date in the Contract Open Date field is a customer. (I am simplifying this example, but you get the idea.)
Does defining the actions something performs solve our definition issues? Or are we instead adding complexities? For example, assigning more than one meaning to the same data element (Contract Date is used both for the actual contract date and to distinguish customers from other organization roles). Have you ever defined a term by what that term does instead of what that term “is”? If yes, were you satisfied with the outcome?