Page 16 - The Art of Designing Embedded Systems
P. 16
Introduction 3
harder without getting smarter. Another is a feeling of frustration, of think-
ing, “What is wrong with us-why are our projects so much more a prob-
lem than anyone else’s?’ In fact, most embedded developers are in the
same boat.
This book comes from seeing how we all share the same problems
while not finding solutions. Never forget that engineering is about solving
problems . . . including the ones that plague the way we engineer!
Engineering is the process of making choices; make sure yours re-
flect simplicity, common sense, and a structure with growth, elegance, and
flexibility, with debugging opportunities built in.
In general, we all share these same traits and the inescapable prob-
lems that arise from them:
We jump from design to building too fast. Whether it’s writing
code or drawing circuits, the temptation to be doing rather than
thinking inevitably creates disaster.
We abdicate our responsibility to be part of the project’s manage-
ment. When we blindly accept a feature set from marketing we’re
inviting chaos: only engineering can provide a rational costhene-
fit tradeoff. Acceding to capricious schedules figuring that heroics
will save the day is simply wrong. When we’re not the boss, then
we simply must manage the boss: educate, cajole, and demonstrate
the correct ways to do things.
We ignore the advances made in the past 50 years of software en-
gineering, Most teams write code the way they did at age 15, when
better ways are well known and proven.
We accept lousy tools for lousy reasons. In this age of leases,
loans, and easy money, there’s always a way to get the stuff we
need to be productive. Usually a nattily attired accountant is the
procurement barrier, a rather stunning development when one re-
alizes that the accountant’s role is not to stop spending, but to
spend in a cost-effective manner. The basic lesson of the industrial
revolution is that capital investment is a critical part of corporate
success.
And finally, a theme I see repeated constantly is that of poor detail
management. Projects run late because people forget to do simple
things. Never have we had more detail management tools, from
PDAs to personal assistants to conventional Daytimers and Day
Runners. One afternoon almost a decade ago I looked up from a
desk piled high with scraps of paper listing phone calls and to-dos
and let loose a primal scream. At the time I went on a rampage,

