For novel ideas about building embedded systems (both hardware and firmware), join the 40,000+ engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. Click here to subscribe.
By Jack Ganssle
The Show Myth
Of all of the dysfunctional scheduling techniques used in our business, the very worst is that of capricious deadlines imposed by management to be ready for "the show."
You've heard it before. Maybe it's the primary motivating factor at your company. The boss says something like "well, it'll have to be done by January 21 for The Show." Suddenly a mad rush of engineers fire up the project management software and start diddling with triangles, moving them nervously back and forth, bent on making a schedule that's, maybe, believable. No one actually thinks they have any meaning. Note the that last triangle on the chart, the due date, is the first set instead of the last. No one ever diddles with it. The show sets the pace for the entire project.
This is the Show Myth: the hysterical response of the engineering director to marketing's panicked call for a new or upgraded product.
At first blush it's almost a reasonable schedule-driver. The company will, after all, spend astronomical sums on The Show; why shouldn't engineering deliver a new widget to help justify those costs? Why not introduce a new product to make a splash rather than a whimper?
Any capriciously-assigned deadline is a joke, an exercise in futility. 80% of embedded systems are delivered late, even in those (rare?) cases where careful estimates override marketing's giddily optimistic promises to customers. When The Show's inflexible date sets the project's completion time, we're creating a recipe for disaster.
Hey, go to The Show one year. Whatever show your industry primarily patronizes. Watch the demonstrations of those fancy new products. The average demo lasts maybe 10 seconds. 20 tops.
How much needs to work for a successful 10 second demo? Face it - if the red light comes on when the salesman presses the blue button, you don't need an awful lot of working firmware.
If The Show is indeed important for business reasons - as they often are - then maybe we should rethink the schedule. Instead of saying "let's complete this by then", isn't it more reasonable to implement a subset of features? Just a few things that demo very well, that look cool. Identify features knowing that the goal is passing a 10 second demo, not an in-depth evaluation that could only really take place at a customer's site over the course of weeks.
If you do go to that show, get an exhibitor's badge and visit the day before the event opens. Walk the floor and watch the chaos as vendors scramble to get booths assembled, carpet down, phone lines installed.
And look very carefully at the sales people pulling the latest new shiny widget from its packing crate. Watch the fear in their eyes, the sweat beading on their brows. They know, with certain clarity, that this is yet another product rushed to The Show with inadequate testing via crazy deadlines. Salespeople have huge egos; bigger even than engineers. All fear the crash when even that 10 second demo fails.
So identify the significant show features, implement those, and only those, very carefully.
And get them right.
What do you think? Is setting deadlines around The Show reasonable? Does your company schedule products that way?