Over the years, my gears have been completely stripped on this particular front. For example:
me: hey coworker, I hear you’re planning to upgrade application X in a few weeks.
coworker: yes, the new version has some new features we’re really excited about. Management’s all-in, so we’re full steam ahead!
me: cool, cool. Do you know if the new version of application X will work with resource dependency Y [which I manage]? The current version of resource Y is pretty old, so I feel obliged to ask…
cow: No worries. Vendor X assures us that the new version of application X will work with the old version of resource Y.
me: OK, have fun.
[weeks pass]
cow: [running around like a chicken with it’s head cut off] ZOMG, mission critical feature Q of application X is totally broken after the upgrade, and the only solution is to upgrade resource Y! How soon can you have that finished?
me: it’s two days before Christmas, and I’ll need things from Infrastructure Guy, who’s currently on vacation in another state (because, again, it’s two days before Christmas). Why don’t you just roll back the upgrade?
cow: it took us two days to figure out what the problem was, and now it’s too late to roll back. How soon can you upgrade resource Y?
me:
me: [finds a very short term workaround, then bends over backwards to build out a new parallel instance of resource Y and migrate application X in record time. mission-critical feature Q is restored to full functionality, and there is much rejoicing.]
me: OK, I’m glad we got that fixed, but we still need to do A, B, and C to clean things up. It’s not an emergency, per se, but until we do this, I’ll have double the support and maintenance work for this system. Here is specifically what I’ll need from you to make this work…
cow: no problem, we’ll get right on it!
[six months pass]
me: um, guys? about that stuff I need from you?
me: hello? guys?
cow: