Boost Firmware Productivity Almost Without Pain—Betcha Won’t Do it! But You Should.
How’s your latest firmware project going? Bugs? Schedule slipping? Resource problems? Headaches? Not sleeping well at night? Driving you to drink? Thought so. It’s the same for everyone. The usual schedule slip for embedded firmware projects is 100%. It always take twice as long as our most coldly realistic estimates. You say you’d like to escape this particular hamster wheel? Really? Honestly? OK, I can tell you how—but there’s a catch. After I tell you, most of you won’t do it. How do I know? Because you never have.
OK, OK, I’ll tell. You can escape the traps quickly and inexpensively without a lot of pain by embracing Jack Ganssle’s vision of firmware development and managing your software projects with realism and managerial backbone. Who is Jack Ganssle you ask? He’s the Thomas Paine of firmware development. You know Paine. He’s the guy who wrote Common Sense, the pamphlet that made the case for American independence from England.
Jack Ganssle is the Thomas Paine of firmware development because he’s studied the topic for decades and he has common-sense ideas about how to slice through the Gordian Knot of firmware development. He’s been giving the lecture “Develop Firmware…In Half the Time” for many years at the Embedded Systems Conferences and on demand at corporate locations around the world.
Too expensive you say, especially for unproven ideas? Can’t afford the time to go to the Embedded Systems Conference and can’t afford to bring Jack in for a personal visit? How would you know? Did you ever call the guy? OK, OK, sorry to ask such a personal question.
Let me summarize Jack’s position. Are you a software professional? Are you certain? If you’re a real professional, like a doctor or a teacher, your profession requires you to keep up with new developments in your field and incorporate those developments that are known to work (like penicillin) into your daily practice. So I (and Jack) ask again, “Are you a professional?” Thought so.
“Stasis is Death” says Jack.
If you and your team are developing code today the way you did a few years ago, you have nowhere to look but in the mirror if you want to see the source of your troubles.
“The way to code faster,” says Jack, “is to change your methodology, but new methods don’t work because we lack the discipline to implement them.” We try to measure our way to success but we measure the wrong things. We write 300-page software-development standards that are too complex for individuals to keep in their heads so, in the end, the standards aren’t followed.
So what do you do? I’m not going to steal Jack’s thunder except to say that you can get a very long way down the road to better firmware-development success by spending $349 on Jack’s two-DVD video and then sitting yourself and your team down to watch all three hours of it. Then you and your team should discuss it and decide how much of Jack’s common-sense approach to firmware development will work in your situation. Most of it will. I’m very confident of that.
Sounds too simple, doesn’t it? In my opinion, the video’s cheap for what it delivers. You and your entire team can watch it again and again for one low price, until the common sense sticks. You can stop arguing about stuff that doesn’t matter—like where to put the braces in your C source code—and start using techniques that will help you immensely—like banishing global values, creating prioritized feature lists, and planning on what you’ll do when the deadline arrives and all of the code isn’t finished.
It really is too simple.
And again, I betcha won’t do it.
So ask yourself this one question, “Why on earth wouldn’t you?”
M. Simon commented:
Steve Leibson commented:
M. Simon commented:
M. Simon commented:
M. Simon commented:
Steve Leibson commented:
Steve Leibson commented:
M. Simon commented:
The proper rules for firmware development are available free on line in a book called Thinking FORTH.
And it should be mentioned that the #1 thing killing firmware development is the use of the "C" family of languages.
The stack thrash on context changes is a killer in terms of time.
So what do developers do to make up for that? They use bigger, harder to test modules.
And who remembers FORTH? Just a few of us old farts and the smart guys at FED-EX who get firmware out on time and on budget.
When the pain gets bad enough there will be a revolution. We are getting close. BTW Ganssle knows FORTH pretty well. Why does he keep it a secret?
1. It is not popular
2. It would kill his cash cow
Not that I blame him any for either point. Selling people what they want is good business. Telling them what they really need will get you kicked out the door. "But look at all the money we have invested in legacy code. I will look stupid if I junk it. It is just not done."
Me? I'd rather go hungry. A rather unusual attitude to be sure.















