For novel ideas about building embedded systems (both hardware and firmware), join the 35,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
Failure To Launch
EDN magazine conducted a survey of the electrical engineering profession recently. Most of the data is proprietary, but in his May 11 column Editor-In-Chief Maury Wright revealed that, worldwide, only 59% of our projects reach the market. In Europe only a meager 45% get shipped.
I don't know how much effort goes into the average cancelled project. Are these abandoned at the 50% completion level? 80%? Is all of the engineering complete but then marketing decides they don't like the product's look and feel, or do the recurring costs give accounting migraines? Presumably the amount of wasted engineering is staggering. In an average high tech company engineering represents 10 to 20% of costs. If about half of that is wasted, well, that's about equal to most outfits' after-tax profit.
Now <i>that's<i> a number that should give accounting and the CEO gas.
Cynics might call this a full-employment program for engineers.
Where does the fault lie? Have we developers so missed the schedule that there's no need for that wonderful widget anymore? Has marketing so misread customers' needs that we've built a white elephant? Or did funding dry up, or the company go bankrupt?
If one studies airplane incidents one finds there's never a single proximate cause of the disaster. Several factors develop, sometimes each quite small, but all synergistically contribute to the tragedy. Perhaps these cancelled projects are subject to the same sort of complex drivers.
Sometimes I'm called by management in various companies to give insight into a troubled project. It's amazing how many of these suffer from the same general sorts of problems. Typically engineering has responded to too many needs, too many disparate directives from too many stakeholders. The projects tend to look the same: lots and lots of middleware layered on top of many components in an attempt to abstract out every sort of behavior. Engineering hopes against hope that this layering will let them toss in all sorts of additional functionality as it's discovered during the project's evolution. Pretty soon it's a hopeless hodgepodge no one understands that runs too slowly and does too little. All too often the only recourse is to start over or just give up.
Yet never do these companies study what went wrong to create a model of behavior to avoid. It's amazing how many ultimately repeat the same dysfunctional process, with the same disheartening result. None of these are small projects; they typically burn tens of millions of development dollars.
With CEOs cutting wages, benefits, tools and even stationary in an effort to squeak out just a bit more profit, wouldn't you think that they'd be all over this level of wasted expenditure? There's so much we do know about building complex products, and so much we can learn from our mistakes and those of our peers. Yet such "lessons learned" evaluations are rare.
What do you think? Why are your projects abandoned?