A project is bound to change over time. The can easily be managed with the Agile method: we split it into several smaller projects (or sprints) and develop little by little the final project.
With this method we are flexible. Something does not match what you imagined? No problem we change it in the next sprints until it does.
A team is dedicated to your project but rest assured, you will have a single point of contact with the lead developer! She or he is a developer so knows about your project and its challenges. She or he will organize the meetings and reviews and the demos!