Search code examples
database-designterminologyrequirementsnomenclaturecardinality

How to ask a business user for cardinality information?


When collecting requirements from business users, I run into a point where I need to understand the cardinality between two concepts in the business user's domain.

This is usually something I want to know early in the process, since it affects database design which is hard to change later.

For example, the busines user may have a domain-specific concept of a "Lead" and a "Reference". It's not always easy to get them to tell me how many References a Lead has, or vice versa.

If I was asking a DB programmer, I may simply ask, "what's the cardinality between a Lead and a Reference?" However, this doesn't always make sense to a business user.


Solution

  • I can't see your problem here. You shouldn't use terms like cardinality to business people, you'll just get a blank stare or someone who thinks you're a pretentious &%^$#$@. :-)

    The two questions:

    • How many leads can a reference have?
    • How many references can a lead have?

    are simple English, understandable by anyone who speaks the language.

    But, as always, requirements gathering is a teasing-out process. If you can't get clear answers to those simple questions, you need to:

    • make it clear to the person you're asking that it's necessary to know (and that not knowing will delay the delivery).
    • sit them down in front of a whiteboard and walk through the possibilities (there's only four, assuming they have a relationship at all: one-one, one-many, many-one, many-many).

    Sitting down with them is a good idea for both of you. It makes them understand why you need to know and it gives you the information you need and more domain knowledge.