Concepts : Prototypes
Rubriques
Les prototypes s'utilisent de façon dirigée afin de limiter les risques. Les prototypes peuvent restreindre les zones d'ombre concernant :
- La viabilité commerciale d'un produit en cours d'élaboration
- La stabilité ou la performance d'une technologie importante
- L'implication ou le financement d'un projet : construction d'un petit prototype pour le bien fondé de la conception
- La compréhension des exigences
- L'aspect du produit, sa convivialité.
Un prototype peut contribuer à l'élaboration d'un support pour le produit, en présentant aux utilisateurs, aux clients et aux responsables quelque chose de concret et d'exécutable.
La nature et le but du prototype doivent toutefois rester clairs tout au long de sa durée de vie. Si votre intention n'est pas de faire évoluer le prototype jusqu'à ce qu'il devienne le vrai produit, ne supposez pas tout à coup que parce que le prototype fonctionne, il devrait évoluer et devenir le produit final. Un prototype d'exploration fonctionnel dont le but est de tester très rapidement une interface utilisateur devient rarement un produit solide et élastique.
On peut envisager les prototypes de deux manières différentes : en fonction de ce qu'ils explorent ou en fonction de leur évolution ou du résultat obtenu.
Pour ce qui est du premier point de vue - ce qu'ils explorent - il existe deux sortes de prototypes :
- Le prototype fonctionnel, qui repose sur l'exploration d'un comportement spécifique du système.
- Le prototype structurel, qui explore des aspects architecturaux ou technologiques.
Quant au deuxième point de vue - leur résultat - il existe aussi deux sortes de prototypes :
- Un prototype d'exploration, qui est abandonné une fois réalisé, aussi appelé prototype jetable.
- Un prototype évolutif, qui évolue progressivement jusqu'à devenir le vrai système.
Un prototype d'exploration est conçu comme une petite "expérience" destinée à tester des hypothèses clés du projet, qu'il soit question de la fonctionnalité, de la technologie ou bien des deux. Il peut très bien ne comporter qu'une centaine de lignes de code et être créé pour tester la performance d'un logiciel clé ou d'un composant fondamental du matériel. Il peut aussi constituer un moyen de clarifier les exigences, un petit prototype élaboré afin de voir si le développeur a compris un comportement particulier ou une exigence technique.
Les prototypes d'exploration sont généralement volontairement "jetables", et leurs tests sont habituellement plutôt informels. La conception des prototypes d'exploration est normalement assez informelle et elle est l'oeuvre d'un ou de deux développeurs tout au plus.
Les prototypes évolutifs, comme leur nom l'indique, évoluent d'une itération à l'autre. Même si au départ leur production n'était pas de qualité, leur code est retravaillé au fur et à mesure de l'évolution du produit. Afin de pouvoir continuer à gérer ce remodelage, ils sont généralement conçus et même testés d'une façon plus formelle lors des premières étapes. Au fur et à mesure de l'évolution du produit, les tests ainsi que la conception se font de plus en plus formels.
Les prototypes fonctionnels sont généralement des prototypes d'exploration; ils ne tentent pas de reproduire l'architecture du système à développer mais se concentrent surtout sur la façon dont le système va réagir du point de vue des utilisateurs (la"peau"). Souvent, cette sorte de prototype est "rapide et peu soigné," et n'est pas construit selon les normes du projet. Par exemple, Visual Basic peut être le langage utilisé pour la construction de prototypes, tandis que C++ est surtout employé pour les projets de développement. Les prototypes d'exploration sont temporaires, réalisés avec un effort minimal et jetés une fois qu'ils ont atteint leur objectif.
Les prototypes structurels sont généralement des prototypes évolutifs; ils sont plus susceptibles d'utiliser l'infrastructure du système final, (les "os"), et évoluent généralement vers le système définitif. Si le prototype est conçu en utilisant le langage et l'ensemble des outils de "production", il aura donc l'avantage supplémentaire de pouvoir tester l'environnement de développement et de permettre au personnel de se familiariser avec les nouveaux outils et procédures.
|