The early morning email from the fellow developer, "What platform was the the application I'm working on developed in?" Huh? The email clarified: One of the other developers, I'll call him Dev Hero, had taken the code she was working on and tried to upgrade it to the latest version of .NET so we could work on the code in VS 2013 instead of VS 2010. Well, that had broken it so she wanted to try and downgrade the version of .NET it was using in VS 2013. Why didn't she just get an older version out of source code and look?
Because we didn't have source control. Well, we did, but you couldn't get to it from here anymore.
When I got there, at this job, we didn't even have source control. The Dev lead would get on our case if there wasn't a new zip file up on the file server at least once a week, or so. That was about a decade ago but things had changed for the better. It took a lot of work but a year or so ago we were at a stage where we could go to a web page and click a link and the code would compile and be deployed to the Dev, Test, or Pre-production web servers. Deployment Integration (DI) is so cool. Database changes still required one of the DB admins to log in and run a script but the database structure was stable enough it wasn't much of an issue for us. Most saw the value. Others, well, didn't. We were fat, dumb, and happy. (Pick two if you want to be more realistic)
Super SA had done a lot of the work to get us there. He loved Linux and the RaspberryPI. He was the kind of guy that wanted to show you how he could log into his entertainment server at home to change the the TV channel from his smartphone. He also liked to use free software to run our enterprise sized organization. He was the guy that everyone went to for a miracle. We needed and still need those because of the overall environment we were working in. (I'll not go into this now.)
Eventually, Super SA got tired of his position as Miracle Max with us and left to go play in the woods with the Merry Men. A coworker turned to me the next day and said, "Everyone said that when Super SA left everything would fall apart. Well, it's all still running isn't it." I shook my head as he went back to browsing the Fox "News" website.
Then came the edict: All desktop machines will stop using XP and servers will stop using Windows 2003. The two replacement SAs (Yes, Super SA was replaced with two people) were working like crazy. Software was moved to new machines with new(er) operating systems, databases were upgraded, and most everything was locked down so the developers couldn't get into it.
Neither could the Deployment Integration server. First, it was locked out of the web servers so it couldn't deploy. At least we still had automatic builds we thought. While the web server access was (supposed to be) getting worked on by the new SAs the version control software quit working. Drastic measures were taken and a whole lot of hours were spent by Dev Hero and myself getting it up and running again. And again. And again. Nothing was stable. Machine names were changing. Permissions were changing. Patches were being installed and rolled back. You see, the plan to move things wasn't very well planned so machine names and permissions changed every couple of weeks or so for a period of about six months. Notifications were handled using the interrupt technique. When you noticed that your website went down you had been notified.
I mentioned that developers weren't allowed into the servers anymore. This included the ability to setup and administer the Constant Integration server. It didn't matter because of what happened to the sever with SVN version control software on it.
The SAs were finally told to get the final Windows 2003 machine off of the network. It was a special machine. It had free virtual machine software running on it with an installation of Linux running on that with our SVN version control software running on that. Because they couldn't figure out the configuration of this server they put the old machine in an enclave. As far as I know, and enclave is a place on the network where no one can get to it if you don't have permissions and know the right magic incantations and have an adult virgin that isn't yourself to sacrifice. They had trouble with that move because some production applications were running on it that no one knew about. So it was moved out of the enclave for a couple of weeks while that production software was moved to another development server and our precious version control server was put in the enclave.
In the mean time, the New Guy saw our plight and with the blessings of the new Dev Lead he setup a windows version of SVN, the version control software, on his desktop machine. All was great and good with that except none of the old code was on it, it wasn't getting backed up anywhere, he either restarted the machine many times a day or was remoting into it and shut off the version control software because it was slowing down the machine. The final nail in that coffin was when the network powers that be uninstalled the version control software because it wasn't approved for the network, even though it was.
End of Part 1