Alistair Cockburn has a new article up entitled "Are Iterations Hazardous to Your Project?". I found a lot to like in this article. The hostile attitude in the beginning had me scratching my head, but as I continued reading, I realized that Alistair was talking about some of the exact same issues I'm seeing in the wild... and he's absolutely right about the solution.
My favorite line: 'The key is to spot that "iteration" has devolved to mean "planning window".'
One thing I would add: there's nothing wrong with short iterations if the team can actually deliver to customers that frequently. (Web-based software is a good example of software that can be deployed ultra-frequently.) And there's nothing wrong with short planning windows if you there's a good reason you can't deliver frequently, so long as you can accomplish meaningful work in each planning window. But given the choice, I'd rather deliver more frequently.