It sounds like you don't typically create 8-bit, 16-bit, and 32-bit versions of your code then -- only if the specific requirements call for different bit-depth versions. So what is the software version of a pilot plant? Isn't the "start coding now" approach like the laboratory test -> pilot plant -> full-scale strategy?
(BTW, what's interesting about Ariane is that "good" risk management actually caused it. They left in some old code from the older Ariane model rather than risk unintended consequences from removal of the code. But the new rocket's higher speed caused a float->int overflow and literal crash.)