Embedded Muse 35 Copyright 1999 TGG April 27, 1999

You may redistribute this newsletter for noncommercial purposes. For commercial use contact jack@ganssle.com.

EDITOR: Jack Ganssle, jack@ganssle.com

- Embedded Seminar in Baltimore/DC
- Book Review
- Thought for the Week
- About The Embedded Muse

Embedded Seminar in Baltimore/DC

I’ll present the seminar "The Best Ideas for Developing Better Firmware Faster” in the Baltimore/DC area on May 12, 1999.

The focus is uniquely on embedded systems. I'll talk about ways to link the hardware and software, to identify and stamp out bugs, to manage risk, and to meet impossible deadlines. If you’re interested reserve early as these seminars fill completely.

A lot of folks have asked me to bring this seminar to their company. Email me at jack@ganssle.com if you’re interested.

Book Review

Here’s an older book, copyright 1988, yet one whose ideas are timeless: “Principles of Software Engineering Management”, by Tom Gilb (ISBN 0-201-19246-2, The Bath Press, Avon).

One quote that shows some of the book’s tenor follows a discussion about beating deadline pressure. Gilb’s partial solution is to decline responsibility – in writing - for impossible deadlines. Now, we know management will often go right ahead and impose the schedule anyway. He says “If this diplomatic attempt to avoid responsibility doesn’t work, don’t worry. The project is sure to be late, or there will be some kind of disaster. You can then prove that you were wise enough to disclaim responsibility in advance. If, by some miracle everything succeeds, you can safely assume that your disclaimer will be forgotten in the euphoria of success.”

Gilb shows how evolutionary delivery can help deal with schedule issues, using such aphorisms as the Mountain Goat Principle: Take one step at a time up the slippery mountainside, and make absolutely sure that each hoof is on solid ground before you take the next step.

Specification, solution, and risk management are all critical components in the success of any software project, yet in the embedded world these areas just don’t get the attention they deserve. A number of chapters give practical “how to” advice.

Gilb, famous as an advocate of Inspections, devotes a very succinct and worthwhile chapter to these as well, giving lots of quantitative assessments of how Inspections will get the project out better and faster. If you’re having trouble getting people to buy-into the idea of Inspections, this chapter alone makes the book worthwhile.

The style is generally readable and often fun, though not as breezy as what we’ve come to expect from authors like Tom DeMarco. It deserves a place on every embedded developer’s desk.

Thought for the Week

Abbott and Costello Meet Windows 95

Costello: Hey, Abbott!
Abbot: Yes, Lou?
Costello: I just got my first computer.
Abbot: That's great Lou. What did you get?
Costello: A Pentium II-266, with 40 Megs of RAM, a 2.1 Gig hard drive, and a 24x CD-ROM.
Abbot: That's terrific, Lou.
Costello: But I don't know what any of it means!!
Abbot: You will in time.
Costello: That's exactly why I am here to see you.
Abbot: Oh?
Costello: I heard that you are a real computer expert.
Abbot: Well, I don't know-
Costello: Yes-sir-ee. You know your stuff. And you're going to train me.
Abbot: Really?
Costello: Uh huh. And I am here for my first lesson.
Abbot: O.K. Lou. What do want to know?
Costello: I am having no problem turning it on, but I heard that you should be very careful how you turn it off.
Abbot: That's true.
Costello: So, here I am working on my new computer and I want to turn it off. What do I do?
Abbot: Well, first you press the Start button, and then-
Costello: No, I told you, I want to turn it off.
Abbot: I know, you press the Start button-
Costello: Wait a second. I want to turn it Off. I know how to start it. So tell me what to do.
Abbot: I did.
Costello: When?
Abbot: When I told you to press the Start button.
Costello: Why should I press the Start button?
Abbot: To shut off the computer.
Costello: I press Start to stop.
Abbot: Well Start doesn't actually stop the computer.
Costello: I knew it! So what do I press?
Abbot: Start.
Costello: Start what?
Abbot: Start button.
Costello: Start button to do what?
Abbot: Shut down.
Costello: You don't have to get rude!
Abbot: No, no, no! That's not what I meant.
Costello: Then say what you mean.
Abbot: To shut down the computer, press-
Costello: Don't say, "Start!"
Abbot: Then what do you want me to say?
Costello: Look, if I want to turn off the computer, I am willing to press the Stop button, the End button and Cease and Desist button, but no one in their right mind presses the Start to Stop.
Abbot: But that's what you do.
Costello: And you probably Go at Stop signs, and Stop at green lights.
Abbot: Don't be ridiculous.
Costello: I'M being ridiculous? Well. I think it's about time we started this conversation.
Abbot: What are you talking about?
Costello: I am starting this conversation right now. Good-bye.