I was about to go for a run on the beach when my four-year-old daughter asked, "Daddy, can you bring me back some shells? It's okay if the shell is chipped or missing a piece, but I don't want any shell pieces." Although it was easy for her to distinguish a chipped shell from a shell piece, I had a much more difficult time separating the two while jogging along the beach. Where do we draw the line between a chipped shell and a shell piece? That is, at what point does a shell change so dramatically that it is no longer a shell but now a piece of a shell?
After returning home completely shell-less, I started thinking about how this shell story relates to a challenge we sometimes have to face in capturing requirements. William Kent in Data and Reality raises a similar dilemma on replacing parts in a car. If you replace the windshield wipers, it is still the same car. But what if you replace the car engine and car body? Is it then still the same car? In your organization, if a customer moves to a different location, is it a new customer? If not, is there anything about a customer that could change (name, tax identifier or even gender) that could turn an existing customer into a different customer? What about a product, employee or any other concept important to your organization?
Have you ever had to analyze or model a concept in your organization where enough changes could occur to create a completely new concept? How did you handle it?
Norman Daoust, requirements modeler, uses the term "morphing entity" to describe a concept that changes to the point where it becomes a new concept. Morphing entities can be addressed through a combination of learning the business perspective and identifying those entity properties that must never change.
Learning the Business Perspective
A department or business area can create morphing entities based on entity lifecycle or level of granularity. Janus Camarata, information architect, says that oftentimes when you define a concept there are other concepts with closely related definitions. "The challenge is then to determine where does one concept end and another one begin."
Bruce Baum, global data architect, says that in the power generation industry, "If the gas turbine (i.e., engine) is replaced in a power plant, is this a new plant? Unfortunately, it is often a matter of one's perspective. Sales may count this as a new plant (boosts the count of plants sold, which is a key metric for sales), while engineering or service says it is still the same plant, just with a new component."
Baum gives another example of the importance of perspective, "When is a country not the same country but a new country? Think of the former East and West Germany. Did the physical land change? No, but the defined geopolitical boundaries certainly did. Some guidelines should be stated from the perspective of the business, not IT, as part of any database design that clearly identifies when a new instance of an object should be created."
Identifying Entity Properties that Cannot Change
Dave Hay reminds us that Aristotle also struggled with the morphing entity issue, realizing there is a distinction between accidental attributes whose values do not affect the identity of the entity and fundamental attributes whose values are crucial to the identity of the entity. Steve Turnock, database engineer, supports this distinction through this story, "When I was working for the Department of Corrections, it was very important to correctly identify repeat customers. As you might imagine, mistaken identity could result in a life-and-death situation. The key we came up with for a customer identifier was a hash code created by the state police based on analysis of fingerprints. All other attributes of a customer are considered variables."
Daoust discovered in one organization that when one department needed a new account category, they just updated an old entry they no longer used by changing the name, definition and code of the item. "I was shocked when I heard of this, but it was too late to do anything about that occurrence. To prevent the situation from recurring, we made the critical data items (name and code) for each entry add-only, so they couldn't be changed. This prevented anyone from reusing the same entry to represent a different concept."
If you would like to become a Design Challenger and have the opportunity to submit modeling solutions, please add your email address at http://www.stevehoberman.com/. If you have a challenge you would like our group to tackle, please email me a description of the scenario at firstname.lastname@example.org.
Register or login for access to this item and much more
All Information Management content is archived after seven days.
Community members receive:
- All recent and archived articles
- Conference offers and updates
- A full menu of enewsletter options
- Web seminars, white papers, ebooks
Already have an account? Log In
Don't have an account? Register for Free Unlimited Access