For Beginning Business Analysts: Software Requirements and Data Dictionaries!

Data Dictionaries are a very useful model for beginning business analysts. In this post, beginners will learn the benefits of using a Data Dictionary to help ensure requirements are complete, as well as why the Data Dictionary is also instrumental for developers and QA/testers.

Deriving from higher level data models, data dictionaries help capture behaviors, attributes, and business rules for all of the data elements in a project. Ideally, all of the business objects that appear on the BDD will be included in the Data Dictionary; this helps guarantee full coverage of all business objects and associates data elements. This information allows a business analyst to ensure that all the business rules for important data elements, as well as other criteria, are accounted for. By having a central location for all of the data-specific attributes, it is easier to ensure that all important characteristics of the data elements in a project are captured.

For example (click on the image to see it a little larger):

Although the structure of the Data Dictionary is set – Business Objects and Data Attributes (elements) as rows, and data characteristics (properties) are the columns – these columns should be adjusted to accommodate what is most important for the project that this is written for.

The Data Dictionary allows you to quickly filter and analyze all of the data elements that exist in the system you are analyzing. Not only does this assist in catching gaps, but it can also uncover additional data elements that have not been addressed yet. This model also works great with the Business Data Diagram (BDD). Ideally, all of the business objects that appear on the BDD will be included in the Data Dictionary. This ensures that full coverage of all of the business objects and the associated data elements. The Data Dictionary is also instrumental for coders and testers. A coder will know exactly what properties and associated business rules will need to be present for a specific data element, and a tester will know exactly what needs to be tested for the specific data element.

Even though the data dictionary can be a great resource, it can be a very time intensive and detail oriented model. The upfront cost in time to produce can be high and client reviews may be tedious, but a data dictionary can be invaluable for a project.