Making the Choice
So, how do you choose between Agile and Waterfall? For example, in the original author's case they may change the game a little (which is what most software development organizations do anyway). They may define their own process through a variation on the traditional Waterfall methodology. Such modifications include use of prototyping where possible to provide the customer a better view of their finished product early in the design/development cycle.
This helps to improve the team's understanding of requirements and communication with the customer. After the primary framework of the application is completed according to high-level requirements, they continue to develop and also to reach out to the customer for refinement of requirements. In this way, they strive to be as iterative (Agile) as possible without compromising their overall system architecture.
Once they've decided which basic methodology to use, they can further refine the process to best fit their project goals. Ultimately, although the way in which they do the work is important, delivering a solid and maintainable product that satisfies the customer is what really counts.