> You just shouldn't fall into the trap of thinking that once the prototypes work, they are ready for production.
That is a huge “just” and painfully laughable when many of those architects were young men. The industry was practically incapable of looking at software that looks like it should work and declaring victory. Not just to the level of trope, but to the level of trauma. It was fucking brutal.
But we haven’t solved this problem, we’ve just gotten really good at avoiding that situation (eg, CI/CD). That fence is there for a reason, don’t remove it.
“Solutioning” is just corporate buzz phrase for the XY problem. I threw away a day’s worth of code yesterday because I realized at the last moment that I was solving the wrong problem, literally as I was writing the summary for the PR. We have to do A because of B, and we can’t change B because of… umm, why can’t we change B? Because I didn’t understand all the consequences of B the last time I faced a related problem. But now I do, and it’s fairly arbitrary if I fix the error handling in two methods and a couple of tests, OK.
Every line of code you write has to be maintained forever. Most of the ones you delete do not. A few have to be added back in later. Big whup.