I believe that Hybrid model is the most appropriate methodology for Consulting engagements. Here’s why I think so.
Consulting Partners typically begin with a “Discovery” when engaging with a new client.
This is when a small team is deployed onsite to understand the current business landscape, what the client wants to achieve and put together a plan on how to get there.
The chosen methodology will really impact how well the project will be delivered.
Due to the nature of the consulting and client relationship, there is a need to constrain the costs and risks, to deliver the project as per contract.
Unless the client understands the nature of a pure Agile methodology, attempting to implement a project this way can be quite fraught for all sides concerned.
In my experience, an initial Discovery where a big chunk of requirements are extracted up front, (allowing us to plan and cost the rest of the project more accurately) followed by a hybrid waterfall-with-many-iterations-and-demos, is a better model.
Instead, pure Agile, TDD and other such development methodologies would work better in an in-house dev environment, or a software company.
That’s my 2p.
(ducks to avoid Agile arrows!)