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,
   11   12   13   14   15   16   17   18   19   20   21