Why do we compare software systems to automobiles?
Cars contain thousands of details. They are produced en masse, according to the blueprints that are developed over years. Changes are expensive. It could be appropriate for the software circa 1970, but not for the modern systems — and it is definitely not the best metaphor to keep in mind while designing one.
If anything, modern software system is a car factory. It has to manage resources and data, employ external contactors, adapt to changes in the blueprint, optimize itself — all for a single goal, stamping out new shiny cars that the customers will happily drive away.
Why do we still build software as if we were building cars?