RequireMINT 2: Add a Data Dictionary
A data dictionary lists each application data element and includes the following fields:

  • ID: Identifier
  • Name: Element name
  • Definition: Brief description
  • Type: Data type
  • Format: Allowable number of characters and default values
  • Condition: Special circumstances related to the display of the field

Requirements related to data entry fields are often neglected for fear of excess documentation and verbiage. The maintainable, tabular format of a data dictionary helps eliminate this fear, resulting in the omission of fewer requirements, thus reducing scope issues. The unambiguous nature of data dictionaries also contributes to improving the clarity (understanding) of requirements. Finally, traceability sees benefits from the granular nature of the requirements presented in a data dictionary.

RequireMINT 3: Implement UML Modeling
The Unified Modeling Language (UML) is a notation for creating diagrams that illustrate system behavior and design. To create these diagrams, you must first interview subject matter experts to gather information about work practices and expectations. In the event that subject matter experts aren't available, information may be obtained from existing project documentation. While the benefits are greater if done early in a software development effort, interviews are still beneficial even when conducted in later stages. Notes taken from the interview are used to provide information for the creation of UML diagrams.

Diagrams improve scope by pointing out holes in the system definition, while representing the system in an understandable manner. This more understandable system leads to reduced instability, because the most basic elements of the system documented by the model have fewer discrepancies. Models also improve traceability by providing a common ground for tracing to requirements, code, and test cases.

About the author

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.