You can work on modules independently, thus reducing the need to debug and deploy the entire application. Reducing your load time Before the platform can begin executing a VoiceXML application, it loads it into memory and parses it. The more code that needs to be loaded and parsed, the longer your upfront load time is. By splitting up the code you can reduce this time. Consider your application's call flow.
Chances are, the caller goes through an introduction state before arriving at a main menu.
Depending on the complexity of your applications, the caller usually chooses one of several paths from this menu. It's likely that the average caller won't take all the paths available in the same session. For instance, a caller to Tellme Movies is unlikely to want to choose a movie by saying the name of a movie, and then to ask for movie listings, and then to want theatre listings. Usually they will choose one or maybe two of those choices. In these situations, having the platform parse all of your code upfront is inefficient.