What's the fastest way to get a firmware project out the door? Ship junk. Try unprogrammed flash. One company I know grades developers on the size of the program; a cynic there could do very well by dumping Moby Dick (1,172,046 bytes, by my count) into memory. The system wouldn't work too well, or at all, but the project will beat all development records.
The second-fastest way is to ship insanely high-quality code. Deming, Juran, and the subsequent quality movement taught the manufacturing world that quality and speed go together. Quality stems from fabulous design that requires no rework; no rework means projects go out the door faster.
Alas, in the firmware world, that message never resonated. Most projects devote half the schedule to debugging (which implies the other half should be named "bugging"). Typical projects start with a minimum of design, followed by a furious onslaught of coding and then long days and nights wrestling with the debugger.
Read the rest of Jack Ganssle's blog here.