This afternoon was a classic example of missing the point of having a staging server. You know, the one that is mostly a mirror of the production environment which, being one of those web applications that thousands of customers consider mission critical, isn’t ever allowed to be down. The one that is supposed to have code and database changes intended for release migrated to it a week in advance so that any problems with integrating the several hundred bajillion lines of interesting code that have evolved over the years into a tentacly mess to rival Cthulhu himself can be found well before the targeted deployment date so that pushing changes to the live servers goes as smoothly as humanly possible.
What actually happened was this: integration started after lunch today. For a deployment tomorrow at oh god am. It finished shortly before I usually leave. So instead of several days to test the targeted items and maybe do some regression in the critical areas (trust me, full regression is the kind of dream that makes winning the lottery look like something that happens to you on a daily basis) I have in “official” work time maybe fifteen minutes. Naturally, I stayed until my balance started to go, and the developers were still arguing with the Wonderful Source Control that doesn’t understand the difference between a change and a file with a change so dragged in a bunch of other changes that aren’t going out at oh god am tomorrow morning.
Ladies, gentlemen, and others, the point of having a staging server is not so you can have two nervous breakdowns for each deployment instead of just the one when your integration crashes and burns on the mission critical live environment. The point is so you can do this strange thing called planning and have everything ready and tested against something that was just like the live environment until you did the integration. So you know (within reason – this is a black art we’re dealing with) that you won’t have any serious issues when you do deploy.
Oh, and when your one and only tester is narcoleptic? It’s a really, really bad idea to leave it all until the evening before you deploy. Just saying.