Todo aquel que alguna vez desarrollo un proyecto, se topo por ejemplo, con la tediosa tarea de que a cada cambio realizado, se necesitaba una acción de "refresco" en el proyecto, es decir: cambios en ciertos ficheros fuentes, necesitan una recompilación de los mismos, lo cual suponiendo la magnitud del proyecto mediana a grande, y estando estos archivos en diferentes localizaciones, puede transformarse en una terrible pesadilla, ni hablar si queremos hacer pruebas sobre los cambios añadidos, por mas testeos unitarios que usemos tendríamos que correrlos a mano uno a uno, y si a eso le sumamos la generación de nueva documentación, o porque no, la generación de una archivo de distribución (.exe, .jar, etc..), y la lista de posibles sigue..., de seguro nos sentiríamos bastante agotados con solo pensar que debemos hacerlo, obviamente nos esta haciendo falta algo.