|
Un élément fondamental de l'approche Nü Echo est son processus de développement systématique et extrêmement rigoureux, qui peut être schématisé ainsi:
Découverte
L'objectif de cette phase est de clairement articuler et quantifier les objectifs d'affaires visés par l'organisation et d'évaluer si des applications vocales pourraient aider cette dernière à rencontrer ses objectifs. Cette phase inclut aussi souvent une analyse financière coûts-bénéfices.
Analyse des besoins
Un projet réussi commence habituellement par une analyse de besoin rigoureuse et détaillée. Beaucoup de projets échouent simplement parce que les besoins n'avaient pas été clairement articulés et quantifiés en début de projet, avec le résultat que ce qui est livré en bout de ligne ne rencontre pas les besoins réels de l'organisation.
Architecture
La phase d'architecture consiste principalement à:
- Identifier les systèmes principaux, les interfaces entre ceux-ci et les technologies (matériel et logiciel) nécessaires à leur réalisation
- Identifier le cadre logiciel, incluant les langages de programmation utilisés et les outils de développement
- Définir le rôle des divers environnements de développement, de test, de pré-production et de production
- Définir ou formaliser les métriques et les objectifs de performance
- Dimensionner les ressources utilisées en fonction du nombre de ports requis, des traitements à effectuer, du débit nécessaire sur les liens de communication, etc.
- S'assurer que les contraintes de sécurité soient respectées (disponibilité, sécurité physique, confidentialité, copies de sauvegarde, journalisation des transactions, etc.)
- Définir si une étape de prototypage est requise
- Identifier les activités à haut risque de façon à permettre au gestionnaire de projet d'effectuer une planification éclairée.
Design
La phase de design consiste à :
- Effectuer le design de l'interface vocale (VUI) et produire la spécification du dialogue
- Définir le persona (si nécessaire)
- Établir le modèle applicatif et identifier les améliorations nécessaires à l'infrastructure (cadre logiciel)
- Produire un design détaillé des sous-systèmes (interface aux systèmes transactionnels, données attachées, CTI, journaux de diagnostic, rapports, console de gestion, alarmes, etc.)
- Produire les plans de test
Développement
Les activités dans la phase de développement incluent :
- La réalisation des diverses composantes logicielles incluant les tests unitaires
- Le développement des grammaires et l'ajustement préliminaire des seuils de confiance (si des données sont disponibles)
- L'enregistrement des segments vocaux
- L'application de correctifs aux composantes logicielles et aux grammaires suite aux changements de design ou suite à la découverte de comportements non-conformes pendant les tests
- Toutes les activités spécifiques à la reconnaissance vocale et à l'optimisation de performance (collecte et annotation de données, expériences de reconnaissance et simulations, implantation de post-traitements spécialisés, entraînement de SLM, etc.)
Tests
L'importance de tests exhaustifs et systématiques ne peut pas être surestimée. Le développement d'une application vocale requiert plusieurs types de tests, incluant :
- Tests d'utilisabilité
- Tests de couverture du dialogue
- Tests de couvertures des grammaires (statiques et dynamiques)
- Test des segments audio
- Tests d'intégration
- Tests fonctionnels manuels et/ou automatiques
- Tests de régression (après des changements) incluant l'exécution des tests unitaires
- Tests de performance
- Tests de stabilité / charge
Il est aussi très important d'automatiser le plus grand nombre possible de ces tests. Ceci permet de continuellement s'assurer de l'intégrité de l'application à chaque fois que des modifications y sont apportées.
Essais pilotes
Les essais pilotes permettent d'accumuler des grands volumes de données avec lesquelles on peut
- Identifier, et résoudre, tout problème résiduel avec l'application
- Optimiser la performance de l'application
|