Page 25 - The Art of Designing Embedded Systems
P. 25
12 THE ART OF DESIGNING EMBEDDED SYSTEMS
At the risk of being proclaimed a heretic and being burned at the
stake of political incorrectness, I advise most companies to be wary of
the CMM. Despite its obvious benefits, the pursuit of CMM is a difficult
road all too many companies just cannot navigate. Problems include the
following:
1. Without deep management commitment CMM is doomed to
failure. Since management rarely understands-or even cares
about-the issues in creating high-quality software, their tepid
buy-in all too often collapses when under fire from looming
deadlines.
2. The path from level to level is long and tortuous. Without a pas-
sionate technical visionary guiding the way and rallying the
troops, individual engineers may lose hope and fall back on their
old, dysfunctional software habits.
CMM is a tool. Nothing more. Study it. Pull good ideas from it. Pros-
elytize its virtues to your management. But have a backup plan you can re-
alistically implement now to start building better code immediately.
Postponing improvement while you “analyze options” or “study the field”
always leads back to the status quo. Act now!
Solving problems is a high-visibility process; preventing prob-
lems is low-visibility. This is illustrated by an old parable:
In ancient China there was a family of healers, one of whom
was known throughout the land and employed as a physician to a
great lord. The physician was asked which of his family was the
most skillful healer. He replied, “I tend to the sick and dying with
drastic and dramatic treatments, and on occasion someone is cured
and my name gets out among the lords.”
“My elder brother cures sickness when it just begins to take root,
and his skills are known among the local peasants and neighbors.”
“My eldest brother is able to sense the spirit of sickness and
eradicate it before it takes form. His name is unknown outside our
home.”
The Seven-Step Plan
Arm yourself with one tool-one tool only-and you can make huge
improvements in both the quality and delivery time of your next embedded
project.

