Many years ago, one place I worked at had the following setup: a closed source application would generate a CSV file, which was then FTPed to another server, where a Perl script translated from CSV to fixed-column-width format (which happened to be identical to the output format of an old mainframe application that we'd migrated off), and then the fixed-column-width file was FTPed to yet another server which loaded it into a database. Now, the CSV file had a number of fields - name, address, etc; but it also had an encrypted password field. We didn't use the encrypted password for anything, we didn't even know what format it was in (hashed or reversibly encrypted or so on). The CSV format was fixed by the vendor and we couldn't change it. However, rather than being output in Hex or Base64 or similar, the closed source app just put the binary data of the encrypted password into the CSV file, which would randomly contain comma or new line characters. The author of the Perl script wasn't aware of this possibility, so the Perl script would die, complaining it had got an invalid input line (wrong number of fields), whenever that randomly happened (sometimes several days in a row, other times it could go weeks without happening).
I proposed to modify the Perl script to fix this issue. However, management refused to let anyone modify the Perl script. The guy who wrote it was a contractor who had moved on years ago. This Rube Goldberg file conversion and transfer formed part of a critical business process. A couple of years earlier it had failed, and its failure resulted in bad press and reputational damage. So they were way too scared to let anyone modify the code of the Perl script.
Instead what happened, was each day a person would manually check if the script had run successfully the previous night. If it did, they'd fix up the data issue in the input CSV file using a text editor then manually start the Perl script again. Management agreed that we could automate that checking process, and if the Perl script failed they would get an alert on our service availability dashboard. But no way would they let anyone fix the bug in the Perl script.
I proposed to modify the Perl script to fix this issue. However, management refused to let anyone modify the Perl script. The guy who wrote it was a contractor who had moved on years ago. This Rube Goldberg file conversion and transfer formed part of a critical business process. A couple of years earlier it had failed, and its failure resulted in bad press and reputational damage. So they were way too scared to let anyone modify the code of the Perl script.
Instead what happened, was each day a person would manually check if the script had run successfully the previous night. If it did, they'd fix up the data issue in the input CSV file using a text editor then manually start the Perl script again. Management agreed that we could automate that checking process, and if the Perl script failed they would get an alert on our service availability dashboard. But no way would they let anyone fix the bug in the Perl script.