On Waterfall vs Agile
This post on G+ inspired me to write this (you may or may not have access to it)
Project management methodology, business model and software engineering practices need to go hand in hand.
A fixed price project needs to be accompanied with a more rigid waterfall Project Management methodology and need to be supported by a clear scope, arc & solution design. Change request control obviously have to be tight and clearly communicated to the people who are paying for it.
A flexible agile methodology has to be supported by time & material billing so that business owners/client understand the implication of each change. it also need to be supported by discipline software engineering practices like automated regression testing, adhering to open closed principle, etc to allow change to happen frequently without sacrificing quality of the product.
Mixing and matching the 2 composition will often give you the worst of both world.
Both rigid & flexible approach can work well with the right "support".