Only to then get a big fat "NO" from management because "it already works fine".
This is where your department head or intermediate manager needs to raise the following issues:
* The ability to sell the code to others
For reasons like the above, I support extending liability to software. If it drops your data, it's an error in the code, and someone should pay. Watch management change their tune after that!
Also, to the parent comment:
In the real world, almost everything is a prototype because the demands were too unimportant to be written down in the rush to get something coded that was clickable
This is why many experienced coders eventually migrate into management. Their job becomes managing their employees' time so that management's demands are met, but also so that behind the scenes, the job can get done right.