Hardware development incorporates four parallel, synchronized projects: 1) The detailed design
of the manufacturable product; 2) the manufacturing process and tooling; 3) the test and
inspection process and equipment; and 4) the supply chain for purchased parts. In software
development, the detailed design is the product, and production deployment consists of moving
the product into a context where it can be used.
• The cost of development for software products is relatively flat over time (aside from the usual
hiring and attrition). However, the cost of hardware development rises rapidly towards the end of
the development cycle for hardware products.
• Due to many of the above factors, it is possible to make major changes in direction for a planned
software-product upgrade in mid-development, without massive disruption and waste. Attempts
to make such changes in hardware development come at a much higher cost, in terms of sunk
costs wasted, and shipping schedules postponed. As a result, major changes must either be
deferred to a future product upgrade, or are done when an assessment is made that the impact
is justified by the magnitude of the benefits