I have become a victim of an overly-sensitive and scared IT organization. I understand that deploying my work should be done when the impact to my user base is the least. However, with that said, why should someone who has no understanding of my users tell me when I am able to do my job?
Working as a developer for an airline takes magnitudes of caution - uptime and availability are king, and outages have costs that extend much further than users being unable to interact with your application. Every time a reservation, kiosk, or other operations-oriented system takes a nose-dive, even for a few minutes, the potential to impact every single flight for that calendar day becomes a very real concern and requires very serious consideration. But for every operations-oriented application, there’s at least one that isn’t.
My area of responsibility focuses on the cultural teams at Southwest Airlines; the community outreach and charitable giving teams (my users) are co-workers that I have known since I walked through the doors on my first day. I understand their expectations, how they talk, what they mean, and, more importantly, how they do their jobs. I write, deploy, and maintain applications that enable them. As important as they are, though, they have no bearing on whether or not our planes fly and whether or not our customers travel.
So why, when the impact of my change at 7PM is no different than the impact at 1AM, am I relegated to deploying my work in the middle of the night? Why do we not strive for zero-outage deploys?
I don’t know, an no one seems to have an answer.