During design review, 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 designed properly,
efficient coding techniques were used,
and the database is accessed and
modified correctly and efficiently.
Multiple design reviews should be
conducted over the course of an
application's life. Design reviews are
critical for ensuring that an
application is properly designed to
achieve its purpose. There are seven
basic design review phases that should
be conducted for a database application:
conceptual design review validates the
concept of the database and application;
logical design review reviews all data
elements, descriptions, and
relationships; physical design review
ensures proper database parameter
settings and other physical design
choices were made (including a proper
translation from logical model to
physical database); organizational
design review examines the
enterprise-wide concerns of the
organization with respect to the new
application; SQL and application code
review conducts a rigorous
statement-by-statement review of every
SQL statement in the application;
pre-implementation design review
provides an overall appraisal of the
system components prior to
implementation; finally,
post-implementation design review
reviews the application after it has run
in production for awhile to determine if
the application is meeting its
objectives.
A group consisting of subject matter
experts and the developer's peers and
co-workers should conduct each design
review. The DBA usually will 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.
A design review should be conducted by a
group of people having different
backgrounds, skills, expectations, and
opinions. When any such group is
convened to discuss potential problems
and errors, confrontation is
unavoidable. A required skill for each
participant is the ability to discuss
and reach consensus on issues without
turning the review into an unproductive
battle or argument. One of the biggest
threats to the success of a design
review is the perception of the creators
of the "thing" that is being reviewed.
If the atmosphere of the review is
threatening or the developer perceives
it to be so, the developer is likely to
resist contributing and accepting an
unbiased critique of the work. Be sure
that all participants back up their
assertions and suggestions with facts,
manual references, and experience.
Formal design review roles should
include the leader, the scribe, the
mediator, and the participants. Though
it is not mandatory, the DBA typically
acts as the leader of design reviews for
applications using a database.
|