in reply to
Executive support is way at the top of the list. Along with that - having a good manager that will keep your projects in the minds of the executives and who can run interference is very important.
Next, change management (and I don't mean CVS) is critical if your project brings about a change. Remember all change is bad an everyone fears change. I'm involved in a project to consolidate web development. Talk about a jolt to the system. Change management for me includes talking to the stakeholders constantly to make them a part of the process - to hear their concerns and account for them in the project plan.
And then there is scope. Make sure everyone has a clear notion of the project's scope. Even if everyone hears the scope and all nod in agreement, there could be many different interpretations of what that scope was, so be as clear about the details and definitions as possible.
To have better control over a project, a good communications plan helps. I also like to have a single point of contact with the client. "All requests shall flow from Joe Client and no one else". You can't have 12 people all sending you different information and making independent requests.