Brian Marick writes about how projects need to adapt to their environment:
I wasn't at all clear in my description ofteams succeeding in their own terms.By that, I meant to suggest that the team is delivering what some representative of the business said was business value, but that either the representative was wrong or someone with more power wasn't interested in that business value. So the project gets canned because it wasn't adapted to its real environment, only to an economic fairy tale: the corporation run by profit-maximizing economic actors.
In the XP the whole problem of navigating corporate and ensuring the project is delegated to the onsite customer. Books on project management do usually tend to go by the fairy tale.
It's good to have a reminder: people's motivations are rarely simple. Organizations are often not rational in the economic sense. Having access to a customer is no substitute for understanding the overall background to the project and the organizational politics involved. The project can fail despite meeting its technical goals. That's a given. It's less obvious that the project can fail even if it is meeting its nominal business goals as defined by the official customer.
That last failure mode indicates far deeper problems than could be covered in any book on technical projects. Every unhappy organization is unhappy in its own way. It's easy for a software development team to put its head down and concentrate on narrow project goals. It's also dangerous.