Software is very different than other engineering disciplines. It is meant to be malleable. I think you need a better analogy.