|
A fundamental element of the Nu Echo approach is its rigorous and systematic development process, which can be summarized as follows:
DiscoveryThe objective of this phase is to clearly articulate and quantify the business objectives that are targeted by a proposed development project and to evaluate whether and to what extent the proposed project will be able to achieve them. Requirements AnalysisA successful project starts with a detailed and rigorous requirements analysis. Many projects fail simply because the requirements hadn't been clearly articulated and quantified from the beginning. ArchitectureThe architecture phase consists in: - Identifying all systems involved in the solution and the interfaces between them
- Defining the software frameworks and development tools to be used in the project
- Defining the role of all environments (development, test, pre-production, production)
- Defining all performance metrics to be met by the solution
- Doing all required system sizing
- Ensure that all security and availability constraints are met
- Identify all material risk factors in the project
DesignThe design phase consists in: - Producing the Voice User Interface (VUI) design specification (a central activity in the design phase)
- Defining the application's persona, if required
- Designing the application software model
- Producing a detail design of all required sub-systems (back-end interfaces, attached data, CTI, logs, reports, administration console, alarms, etc.)
- Design test plans
DevelopmentActivities in the development phase include: - Implementing the VUI design, as well as supporting software components
- Implementing all unit tests
- Grammar development and preliminary threshold determination
- Voice prompt recording and integration
- Any speech science activities required by the application (speech data collection, recognition experiments, implementation of specialized post-processing, SLM training & tuning, etc.)
TestsThe importance of rigorous and extensive testing cannot be overstated. There are many different types of tests, including: - Usability tests
- Dialog traversal tests / functional tests
- Grammar coverage tests (for both static and dynamic grammars)
- Audio segment tests
- Integration test
- Accuracy and performance tests
- Load and stability tests
The ability to automate as many of these tests as possible is also extremely important. This makes it possible to continuously validate the integrity of the application whenever it undergoes any kind of modification. Pilot TrialsPilot deployments make it possible to collect large volumes of call data, with which: - Any remaining problems with the application can be identified and resolved
- The application performance can be tuned
|