Desarrollador ágil JAVA. ¿Oxímoron?

Yo me considero un desarrollador ágil JAVA, o mejor dicho yo me considero un desarrollador ágil Tapestry. Pero he de reconocer que si bien la velocidad de desarrollo con Trails y/o Tapestry está entre las mejores del (sub)mundo JAVA, no sirve ni siquiera como punto de referencia cuando se la compara con la de otros lenguajes y frameworks.
Uno de los principales problemas del desarrollo en JAVA es la agilidad y productividad del programador. Realmente estamos lejos de imitar la agilidad con la que se puede desarrollar en lenguajes como Ruby o PHP, y si hablamos de frameworks web en particular, estamos lejísimos de frameworks como Rails o Akelos.

¿Por qué el desarrollo con Akelos o Rails es tanto más rápido/ágil que el desarrollo con cualquier framework web JAVA?
La clave es el Zero Turnaround Time (ZTT), que podría traducirse como: "Recarga sin demora" o "Recarga inmediata" o "Cero tiempo de recarga".
El ZTT permite que cualquier pequeño cambio en la aplicación se pueda ver inmediatamente en el navegador, simplemente alcanza con hacer "refresh" en el navegador y listo, "feedback inmediato".

El gran beneficio del feedback inmediato es que permite determinar muy rápidamente si los cambios en la aplicación son correctos o no, y ésta es la gran ventaja que hace que el "desarrollo ágil" vaya de la mano con ZTT.

Este es el punto de partida de una serie de posts donde compartiré mis trucos para agilizar mi proceso de desarrollo y para aproximarme (aunque sin alcanzarlo nunca) al ZTT.