Here is the methodology I used on my latest project (it turned out that by focussing on the first development as waterfall we could produce a set of reusable beans that allow us to now select the most appropriate methodology for future developments).
We focussed on one particular application, used UML to capture the design and then built individual components using a waterfall method.
The design divided the components into a reusable layer, and an application specific layer (effectively a layer that provided various services, and a layer that co-ordinated those services together)
We have effectively built other applications now by using a strong design to identify functionality that can be reused (from the service layer) and functionality required in the application specific layer. Any new service layer components can be built using the most appropriate methodology.
Building a client and the application specific layer we have done using both classical waterfall and RAD approaches, depending upon which is most appropriate. Development times are obviously reduced since we have a pool of service layer bean functionality.
Adam