Design reviews are an important facet of the system development lifecycle for database applications. It is during the design review that all aspects of the database and application code are reviewed for efficiency, effectiveness, and accuracy. It is imperative that all database applications, regardless of their size, are reviewed to assure that the application was design properly, efficient coding techniques were used, and the database is accessed and modified correctly and efficiently. The design review is an important process for checking the validity of design decisions and correcting errors before applications and databases are promoted to production status.
Multiple design reviews should be conducted over the course of an application’s life. There are seven basic design review phases for a database application:
- Conceptual Design Review
- Logical Design Review
- Physical Design Review
- Organizational Design Review
- SQL and Application Code Review
- Pre-Implementation Design Review
- Post-Implementation Design Review
For database applications, the DBA must participate in every design review, at every stage. It is imperative that the application be reviewed before, during, and after implementation. Design reviews are critical for ensuring that an application is properly designed to achieve its purpose.
There are many aspects of the development process and its resulting application that are addressed by design reviews. The underlying intent of imposing the design review process on an application is to expose it to a thorough review of every underlying component, structure and nuance of the application. Some of the areas that can be addressed by a design review include:
- a validation of the intent and purpose of the application
- an assessment of the logical data model
- an assessment of the physical data model
- a review and analysis of the physical DBMS parameters
- a prediction of SQL performance
- a judgement on the practicality of the programming language techniques deployed
- an analysis of overall performance after production implementation
A group consisting of subject matter experts and the developer’s peers and co-workers should conduct each design review. The DBA usually must act as the focal point for organizing and conducting design reviews. Frankly, if the DBA does not organize design reviews it is unlikely that any design review will be conducted. And if design reviews are not conducted, the application is more apt to suffer performance and availability problems in a production environment.
Formal design review roles should include the leader, the scribe, the mediator, and the participants. The leader can change from one design review to the next, but within the scope of a single design review a single leader must be assigned. The primary role of the leader is to act as a master of ceremonies to keep the review process moving along. Other duties include creating an agenda and ensuring that the agenda is followed, engaging all participants of the design review to solicit everyone’s input, ensuring that all participants maintain proper decorum, working with the proper participants before the meeting to ensure that all required documentation will be made available for the design review, and any other tasks necessary to ensure a successful design review. Though it is not mandatory, the DBA typically acts as the leader of design reviews for applications using a database.
By establishing and following a systematic approach to database application design reviews, the likelihood of implementing optimal applications increases. Database development can be very complex. Only by managing and documenting the implementation process can you ensure the creation of successful and useful application systems. The design review process is an efficient way to encourage a rigorous and systematic pre and post-implementation review of database applications.
This blog post was adapted from Craig S. Mullins’ book Database Administration: The Complete Guide to Practices and Procedures.