Page 47 - The Art of Designing Embedded Systems
P. 47
34 THE ART OF DESIGNING EMBEDDED SYSTEMS
we fail-a lot. It seems the most common way to compensate is a promise
made to ourselves to “try harder” or to “do better.” It’s rarely effective.
Change works best when we change the way we do things. Forget the
vague promises-invent a new way of accomplishing your goal. Planning
on reducing your drinking? Getting regular exercise? Develop a process
that ensures that you’re meeting your goal.
The same goes for improving your abilities as a developer. Forget the
vague promises to “read more books” or whatever. Invent a solution that
has a better chance of succeeding. Even better-steal a solution that works
from someone else.
Cynicism abounds in this field. We’re all self-professed experts of
development, despite the obvious evidence of too many failed projects.
I talk to a lot of companies who are convinced that change is impos-
sible; that the methods I espouse are not effective (despite the data that
shows the contrary), or that “management” will never let them take the
steps needed to effect change.
That’s the idea behind the “7 Steps.” Do it covertly, if need be; keep
management in the dark if you’re convinced of their unwillingness to use
a defined software process to create better embedded projects faster.
If management is enlightened enough to understand that the firmware
crisis requires change-and lots of it!-then educate them as you educate
yourself.
Perhaps an analogy is in order. The industrial revolution was
spawned by a lot of forces, but one of the most important was the concen-
tration of capital. The industrialists spent vast sums on foundries, steel
mills, and other means of production. Though it was possible to hand-craft
cars, dumping megabucks into assembly lines and equipment yielded
lower prices, and eventually paid off the investment in spades.
The same holds true for intellectual capital. Invest in the systems and
processes that will create massive dividends over time. If we’re unwilling
to do so, we’ll be left behind while others, more adaptable, put a few bucks
up front and win the software wars.
A final thought:
If you’re a process cynic, if you disbelieve all I’ve said in this
chapter, ask yourself one question: do I consistently deliver products
on time and on budget?
If the answer is no, then what are you doing about it?
I 1

