In the real world, lot’s of things compete for a limited set of resources. Animals compete for food, little kids compete for attention, and in the software world, projects compete for staff, talent, and time.
In the worst of cases, software development devolves to a zero sum game, for one side to gain something the other side has to loose an equal amount. In software it is usually the developers loosing time or focus for others gain/squander it.
I have worked in situations where your management team used to manage sales people and obviously have little understanding between the differences in pitching software and developing it. A favored motivational technique is to “keep raising the bar.” Instead of agreeing on deliverables and marching towards a goal, each milestone becomes a renegotiation for more. Each deliverable could have had more features, buzz words, etc. Like salesmen respond to ringing bells for sales and constant fire drills for 110%, management expects the development team to whip themselves into a cheerleader like frenzy and rally for the next release.
Anyone else who has seen this understands why this is a zero sum moment. Any extra frenzy or gains through renegotiation cost. The lost focus and time result in more bugs, unexpected risks, and poor design that bites you in the next cycle.
The problem is that management isn’t able to see or understand these costs. They think they get these things for free. The development team doesn’t see the benefits of the constant change and just sees work degrading. To the development team, everything is just a reoccurring fire drill that looses all urgency. When everything is important, then nothing is.
So the immediate urgency that management bought came at the cost of long term urgency. In later dates, when you are actually in crunch time, you won’t be able to get it. I worked with a really great operations guy who once told me about his “urgency account.” Each person has a certain amount of urgency they can spend per period of time. Every time you ask that person to hustle, stay late, work the weekend, pull and 80 hr week; you are spending from that account. At some point, you have to stop writing checks and let the urgency account fill up again, or you will find that you have none left to spend when you need it.
And unlike sales people, you don’t want to see the same turn over in your development team that your do on the average call room floor. So calculate your long term goals and start balancing your urgency accounts, otherwise checks will bounce when you don’t have the urgency to spare.