All database management systems and programming languages have their own set of datatypes (or data types, if you prefer). But, until now, there was no set of datatypes for use in business analysis.
I've utilized these analysis datatypes for ten years in consulting projects. I've found that people understand them with little explanation and they help make the data requirements gathering, analysis, and documentation processes easier and clearer for everyone involved, as well as providing greater consistency for data element names, definitions, and the specification of their valid values.
We're making this list publicly available to support the business analysis community. We encourage you to use it for non-commercial purposes and tell others. Please contact us with any proposed additions. We'll credit you on this page for accepted additions.
What are they? An easy and simple way to categorize data elements during the analysis process. They are definitely not implementation datatypes, although they can be mapped to a particular database management system's data types. See below for details of these mappings.
Why should I bother? Utilizing analysis datatypes will help your subject matter experts to be clearer about their data requirements. By classifying data elements into these analysis datatypes, you'll improve the precision of your analysis work products, thus helping to reduce the likelihood of misunderstandings. Utilizing analysis datatypes will assist your software and database designers. In each project in which I've used them, they saved many hours of time, as well as provided more consistency and higher quality definitions!
Who? Who assigns the analysis datatypes? Any knowledgeable person, certainly the business analyst would be responsible for this. I've found that subject matter experts frequently understand them easily enough they can assign analysis datatypes themselves! Who uses the analysis datatypes? The people that design the software and database: software engineers, database adminstrators, etc.
When do we assign them? As early as practical during the process of gathering and documenting your data requirements.
Where do we document the analysis datatypes? Wherever you document your data requirements. I recommend using data requirements lists and then an analysis data model.
How do I determine the most appropriate analysis datatype? Begin at the top of the list, work your way down, and stop at the first applicable analysis datatype.
Some of these datatypes (e.g. person name, address) are compound: they can be broken down further. We've found that utilizing these compound datatypes keeps our analysis models smaller, simpler, and easier to understand for subject matter experts. However, don't neglect to document the structure of these compound datatypes in detail as part of your model!
If you're concerned about design and implementation, you'll want to read our Implementation Considerations for Analysis Datatypes.
In case your software developers or database administrators are wondering how to translate these analysis datatypes into the datatypes of your specific database management system, several experts have generously provided that information for you:
If we don't list a mapping to your favorite database management system (DBMS) or programming language, please contact us.
For those that don't understand the need for analysis datatypes in analysis data models and UML class models and only think in terms of a particular database management system's datatypes, I suggest referring to The Zachman Framework, in particular, the What column of the Business row (sometimes known as row 2, column 2). That's the type of model for which these analysis datatypes is applicable.
Thanks to the following people for their contributions: