Sales: "The customer needs change x done RIGHT NOW!"
Sales: "The customer needs change y done RIGHT NOW!"
Us: "OK, we'll do them concurrently. This means that we CANNOT roll them out separately."
2 days later:
Sales: "Deploy ONLY change y. Change x is not approved."
Us: "That's not possible. It would invalidate all testing."
Sales: "WAAAAAAAAAAAAAAAAAH"
Sales VP: "THIS IS UNACCEPTABLE"
Our VP: "Do it or you're fired."
Us: "Bad things z, w, and q may happen. They will cost the company $r if it does, and we will bill for the support time."
[2 days later]
Operations: "OMFG z, w and q! It's costing us $r!"
Us: "Told you so!"
Our VP: "How could this happen!? We have all these QA processes in place!"
Me: "Well, frankly, the QA processes do a shitty job detecting q"
My boss: "Shutup Weng. Stop speaking truth to power. It's bad for your health."
Our director: "We will correct the problem immediately."
Operations: "$r! Where can we transfer this cost?"
Our VP: "Our cost center is 12345"
[2 days later]
Sales: "OMFG WHY DID YOU y? ONLY x WAS APPROVED!"
[End of month]
Sales: "OMFG YOU CAN'T BILL US FOR SUPPORT UNLESS WE CAN PASS THAT ON TO THE CLIENT! IT WOULD CUT INTO OUR SPECTACULAR DIVISION PROFITS!"
Our VP: {silently cancels the billing ticket for the support, and the tickets for changes x and y}
[Epilogue]
2 months later change y is still 'up the spout' ready to go, and another change request comes in. When presented with the decision to bundle it or roll it back, the client decides they never really wanted it anyway
[Double-epilogue]
Owing to poor financial performance (i.e. we didn't bill enough), we let go 2 developers.