More frequently everything is a one-off, with failure recurring randomly until a working (though not reproducible) approach is found. I'm not sure how to spin this evolutionary approach positively, as it can result in fragile outcomes.
There is software infrastructure that enables reproducibility (virtual machines, and more recently containerization), but this concept rarely makes it to written documentation.