When you are planning your speech application, be alert to places where you can reuse parts of the application in two or more places. Then, when designing and building the application, you can create these parts as modules that you can reuse wherever you need that functionality.
If you plan for these modules ahead of time, you can also develop them before developing your main application project file. That way, they are already available when you create your main application.
For example, you might want to collect bank account or credit card numbers from callers at several points in the call flow. You have figured out that it is the same basic process each time you need to collect such numbers. Therefore, you might want to create a speech project module that you can reuse in your master application whenever you need to collect this type of information from callers.
Using this modular approach to application design has several advantages:
You can "develop once, use many times." This can be a tremendous advantage, especially if you have certain actions or options you want to offer in several places to your callers.
It is easier to maintain the overall application, even if you are not reusing much of the code. When you use a modular approach, you can change one part of the application without necessarily having to rebuild the entire application.
It can make it easier to debug your applications, by making it possible to isolate the trouble spots where errors are occurring.
A team of developers can work on separate pieces of an application separately and then merge their efforts.