Friday night, 11:58 pm, Eastern Standard (or Daylight) Time: 2 minutes to bring your production site down for the latest upgrade.
You have slogged your behind off to meet your ‘code freeze’ deadline. The new development process is challenging and stressful. But you have pulled it off. Post code-freeze, your QA has given you enough hard time to open several ‘Hot’ or ‘P1’ bugs. It just seems nothing works. Your project head is aghast. He yells in the regular bug meeting, ‘what the hell did you guys do?’. You know you’ve worked hard. You know you had some ‘known issues’ going into code freeze. But this is bad. It seems QA is bending over backwards to make you look like an incompetent fool.
The pre-release days are hell. Every bug is carefully monitored. It’s like having a camera in your bedroom and the whole world tuned into it. Of course some people make a pretty good living out of it. But not your friendly neighborhood software programmer. See, software developers despise micro-management. No matter how bad they are and how good they think they are, the last thing they want to feel is the constant breath of the project leader on the back of their necks. But anyone that worked in software development knows: Code freeze period is the time for extreme scrutiny. Every code check-in has to be approved. Nay, frowned upon. For the developers themselves, it’s an embarrassment. It’s like you are being caught out stealing. And those daily calls at 4 pm Pacific. Aargh!
And then the final week arrives. There are still 4 HOT bugs. None of which are yours. But those guys are never called out. They seem to get away with murder. A typo on your screen is an international incident but a null pointer exception for that team is brushed off saying, ‘can you take care of it by release date?’. WTF? Were you an adopted child or something?
Come the day of the release, you are literally hyperventilating. You signed in to the conference call and the chat room. There are all kinds of stuff going on in the chat room. You see the text, ‘I think John was supposed to take care of that’ and you fall off the chair before you see the other John has already responded. There are all kinds of noises in the conference call. Kids yelling, dogs barking, people sneezing and sometimes snoring. Everything. The meeting organizer’s repeated, ‘please mute your line if you aren’t talking’ falls on deaf ears.
Among all this, you are almost certain your piece of the application is going to break and either put you out of job or worse, be the ridicule of company wide email thread. That last bug you fixed 4 days ago, you didn’t get a chance to test the corner case scenario. Shit! It’s going to ‘blow up’ your application. You hurriedly sign in to your development environment to start testing that use case. At that time, you hear, ‘OK we’re live!’ It’s 2:15 am Saturday.
You type in your URL. It says, ‘Unable To Access’. Your fingers are now shaking. It’s mid-December and you are sweating like it’s 95 outside. You are not sure why you can’t even get to your page. Did your last check in go bad? Did the India team check in anything at the last minute without your knowledge?
It takes a few moments to realize you weren’t signed in to VPN. Phew!
Finally you take a moment, sign in and get to your URL. It is working just fine. You test out several use cases. Strangely, this is all too smooth, too good to be true. You wonder if you are on the correct site. You double and triple check. Your QA tester meanwhile has already filed a bug saying she cannot see the data. For the umpteenth time, she uses the test user’s credentials that does not have the right set up. You feel like you could break her neck right now! But decide against it as she’s located in Minneapolis.
Finally after 45 minutes of frantic testing, you figure everything is just fine. In fact, more fine than during development and UAT.
By the time you hit the bed at 3:45 am, you wonder if all that stress was worth it. You decide it was, considering the pay!