This is what happens in software. The code is the blueprint, the exact spec, and "building it" means running it through the compilation/deployment pipeline.
Software is a machine, but the main difference with other machines is not that you can't analyze it with math or can't approach it as classical engineering, is that it's not economically feasible to do so. The translation from the blueprint (the unambiguous, absolute and exact spec, the CODE) to the final product (the deployed working system) is "automatic" and basically free from material costs.
PS: And add to this the fact that most software is NOT "critical" (as in "if it fails in production people die").