Datasheet
5
Chapter 1 ✦ The Information Architecture Principle
Simplicity
A simple solution is elegant and appears obvious, but saying that designing a simple solution
is easy is like watching the Olympics — masters always make their skill look easy. To quote
Dr. Einstein,
“Things should be made as simple as possible — but no simpler.”
The “as simple as possible” solution isn’t a simpleton answer. The simplest solution that sat-
isfies the requirements may have a level of complexity, but of all the possible designs, it’s the
simplest. Simplicity is measured as the number of components, technical variables, internal
interfaces, and technologies involved in delivering the solution.
Designing a simple solution, in any discipline, is a difficult task that requires every one of the
following ingredients:
✦ A complete understanding of the requirements
✦ A broad repertoire of patterns and solutions to draw from
✦ A complete understanding of the technical rules and nuances of the profession
✦ A creative mastery of the profession that knows when and how to push the envelope
✦ A solid understanding of the physical tools and materials used to implement the design
and the environment within which the solution must function
✦ Enough trust between the designers that ideas can morph and grow based solely on
their merits without personal egos or ownership
✦ The commitment to continue iterating the design for as long as it takes to design an ele-
gant, slam-dunk, simple solution
✦ A healthy fear of complexity
When developing a design, if a few extra hours, or days, of collaboration results in an idea
that eliminates a table or process while still meeting the requirements, that’s a cause for cele-
bration. Every reasonable reduction in complexity decreases the amount of implementation
work and increases the chance of delivering a working product. Every extra dollar spent on
design will bring a handsome return during implementation and even more in support costs
over the life of the product
Some scoff at naming simplicity as the number one design objective of an inherently complex
task like designing a database. From my experience, however, if the design team “gets” sim-
plicity, then there’s a good chance the project will be a success. If they don’t value simplicity,
I wouldn’t want to be on that team.
The Usability Objective
The second data store objective is usability. The usability of a data store involves the com-
pleteness of meeting the organization’s requirements, the suitability of the design for its
intended purpose, the effectiveness of the format of data available to applications, and the
ease of extracting information. The most common reason a database is less than usable is an
overly complex or inappropriate design.
05_542567 ch01.qxp 9/27/06 9:58 PM Page 5