A storm was brewing and once again, I was in the middle of it. I had development managers sneaking over to my desk and asking me if I could take a look at some critical bugs, software developers asking me if I could help troubleshoot some code issues, and systems engineering managers standing on me to help backfill thousands of pages of documentation.
Just when I was seriously considering calling back one of the other companies who had recently made me a job offer, I was saved.
I had sat through several contentious meetings where senior management had directed the development managers to cooperate with systems engineers “without exception”, only to have the development managers loudly protest that it was all a sham and it wouldn’t do a bit of good to document software that wasn’t going to get finished if we didn’t stop wasting their time. These meetings often morphed into general gripe sessions where everyone was accusing everyone else of messing up their code, trashing their databases, or breaking their test environments.
Slowly a picture emerged in my mind of what they were trying to do. They had one test environment for all teams to use for general testing purposes called “sandbox”. This was the environment that was causing so much hate and discontent. With ten to twenty testers constantly testing what was often buggy software fixes, the data got more and more corrupted, versions of software got mixed together, and settings got changed, breaking other tests. It became apparent that the environment should have been named “Swimming Pool” because they were all peeing in it and complaining of the smell.
In a casual meeting in my manager’s office, I mentioned that I had dealt with this sort of problem before and may be able to offer some suggestions to ease the problem. As I was explaining, she began getting an excited look on her face (yes, I am charming, but not THAT charming). Finally she broke in and excitedly explained that one of the major documents that still needed to be finished was the Configuration Management Plan. I tried to hide a yawn.
As it turns out, she had been saying some of the very same things that I was saying about how to manage the environments better, but nobody was listening. She realized that the only way to get them to put aside their finger pointing and get them to actually do something about the problem was to trick them into agreeing to it in a procedural document. A procedural document such as a Configuration Management Plan. Of course she left out the tricking part and just explained to me that if I could come up with some procedures that would help manage the environments and document them in a way that was easy to understand, she would work on getting them to agree to follow it.
I saw an immediate benefit to this idea. It got me out of the meetings with people screaming at each other for hours about things that they had no idea how to fix. I took the extra step of letting her know that, in order to do that, I would need a quiet, out of the way place to work where I wouldn’t be constantly barraged by angry managers. She moved me to a desk in an adjoining building and stopped inviting me to most of the meetings. I started to see a light at the end of the tunnel. I was just hoping it wasn’t an oncoming train.
Knowing absolutely nothing about how to create a Configuration Management Plan, I started downloading examples from the internet and studying them. The first thing I noticed was that there seemed to be an extremely wide opinion of just what configuration management is. Some seemed to think it was a series of meetings while others seemed to think it was just another name for source code control. I can’t count how many times I saw arguments over which was better for configuration management: SVN or Visual Source Safe (hint, neither one are any good for it. They are for source code control).
I knew I was in trouble even as I was reading and walking back from the printer. Right there, in crisp black and white on the still warm paper were the tell-tale words: “The tool that shall be used for configuration management on this project is Visual Source Safe.”
I was in for an uphill battle.
Part 4 - Seek Not and Ye Shall Find
