But as a consulting type, I've never understood how you run a project with a fixed (well, ok, continuously growing usually) scope, a fixed budget and a fixed timeline. Which are basically the constraints on every single project.
I think I have found though, that if you can get a client that will spend the time to really define the project goals and how they will be measured, you can almost steer the scope in the direction of priority features.
Then, you can be somewhat successful with running agile on certain parts of a project (like UX design), while "phase-gating" other components of the project that have real dependencies.
You end up, in effect, with a waterfall process with some phases being done using agile methodologies.