On utilise des logiciels chaque jour. Sur nos téléphones, sur des ordinateurs, à la gare pour acheter un billet, … les logiciels répondent à nos besoins. Nous accédons à la version officielle du logiciel. La version officielle, la version 1.0 et numérotations supérieures. Avant, le logiciel, nous ne le voyons pas mais il avait d’autres petits noms.
Un logiciel a une genèse, une histoire avant sa sortie officielle. Au début, il se présente sous formes de maquettes et de prototypes :
- les maquettes permettent de présenter aux utilisateurs les interfaces, le rendu du futur logiciel. On vérifie ainsi que le besoin attendu est couvert. Pour une application de gestion d’appel dans une classe, les écrans présentés doivent permettre à l’enseignant de saisir, pour une classe, les élèves présents.
- Les prototypes permettent de valider la plateforme technique. Où sont disponibles les sources de données ? Comment est assuré la sécurité et l’accessibilité des données ? Des problématiques techniques sont validées à partir des prototypes. C’est moins parlant que les maquettes pour l’utilisateur mais tout autant indispensable.
Le logiciel évolue beaucoup avant d’arriver en version 1.0. Il commence par une version 0.1. À ce stade, le logiciel ne peut être proposé aux utilisateurs. Il n’intègre qu’un minimum des fonctionnalités attendues. Insuffisant pour une utilisation normale. Il s’agit du prototype pour lequel on a implémenté une fonctionnalité présentée dans la maquette.
Les autres fonctionnalités sont implémentées peu à peu. L’application évolue : 0.1, 0.2, … jusqu’à la version 1.0. Pour cette version, toutes les fonctionnalités attendues sont implémentées.
Ces versions avant la version finale ont des petits noms plus sympathiques qu’une série de nombre. Au début d’un projet, les premiers logiciels présentés sont appelés Alpha. La version Alpha correspond à un prototype évolué. Si le prototype n’est pas utilisable on parle de pré-alpha ou de pré-pré-alpha si on doit présenter quelque chose. Lorsque le logiciel commence à présenter une bonne partie des fonctionnalités, on parle de Bêta. Cette version peut être proposée à des utilisateurs pour tester le logiciel.
Parlons de cette notation. 1.0. Parfois 1.0.0. ou 0001.0000.0000 ou …
- Le premier nombre, 1.0.0, correspond à la version majeure. Si le périmètre du logiciel évolue de manière importante (de nombreuses fonctionnalités nouvelles) ou si la plateforme technique change complètement, ce nombre est incrémenté.
- Le deuxième nombre, 1.0.0, correspond à la version mineure. Son incrémentation indique que le logiciel intègre une nouvelle fonctionnalité attendue par les utilisateurs.
- Le dernier nombre, 1.0.0, correspond à la ‘release’. Souvent ce nombre est incrémenté lorsque des corrections mineures ou un élément d’une évolution mineure est ajouté au logiciel.
On peut trouver des projets qui utilisent plus de nombres dans leurs numérotations, mais dans ce cas, soit le projet est très complexes, soit ses responsables sont très arrogants.
Contrairement à un produit physique, aujourd’hui le logiciel peut être mis à jour quasi automatiquement et ne coûte presque rien. Il n’est pas rare que des versions Bêta sortent à destination de son public final. Cela permet de rassurer l’utilisateur, de lui montrer que le logiciel est bientôt prêt, de le faire patienter … de le facturer 😉 Parfois, le logiciel arrive prématurément et présente de nombreux problèmes. On parlera de bugs pour simplifier.
Avant Internet, mettre à jour un logiciel était un autre sport. Il fallait échanger des disquettes ou des cd-roms. Se déplacer chez les utilisateurs pour mettre à jour les logiciels. On ne sortait un logiciel que lorsqu’on pensait avoir une version stable. Les tests et recettes étaient donc plus sévères. ‘O tempora, o mores !’.
Ne pensez pas que la version 1.0 est sa version finale. Dans un prochain article on s’intéressera à son évolution et à son abandon. Tout ce qui se passe à partir de la version 1.0.