|
|
|
|
|
by Eatcats
1218 days ago
|
|
I was working for one production company making products out of concrete, and they had this SCADA system. They had 5 factories and 5 versions of the same software.
This software was made by one company, but as factories were built in different times, software was evolving as well, so when I joined the company there were 5 factories with different code bases, that were doing basically the same thing.
Oldest software was written in VB6, newer in .NET 1.1. The problem was that making changes on all factories required making changes in code in 5 codebases, and it was impossible to merge them into one because of subtle differences how the production lines were working. Also it was impossible to run this software locally, so only tests you could do on live production environment. Imagine testing your software, there is a bug, and you just wasted 2 tones of concrete... My solution for this problem was making a checklist of all the things that need to be changed and checked before changing, codebase by codebase. Also keeping the changes in SVN helped a lot for implementation reference. Good commit messages and comments in code were essential not to drown in this mess. In the end, I hired an employee, taught him the ropes and "sold him" to this company. He works there till now and does exactly the same thing (8 years and counting) ;) |
|