Edit because I posted while running out the door and probably could have explained better: Elsewhere in this thread, dmckeon linked to Spolsky's article on why rewrites are bad. This does a better job than I did of explaining the hidden costs of a software rewrite. In my experience, these costs are rarely tallied up and written down such that they're as visible as, for example, the $50K one spent on creating an injection molding tool, or the millions spent in NRE and component purchases to get an assembly line running. Or even the few thousands spent on a prototype PCBA. In hardware, these capital cost numbers are always in your face. So, even though hardware devs are as bad as software devs in estimating time and accounting for testing, the capital costs provide a built-in, visible incentive to avoid unnecessarily discarding work.