mercredi 14 juillet 2010

De la qualité logicielle.

Il existe de nombreuse définition de la qualité. L’édition logicielle est une industrie. La définition de la qualité industrielle est la suivante :

Un produit de qualité correspond aux exigences exprimées du client. Ce n’est pas le meilleur produit, c’est le produit demandé par le client.

Il est important de comprendre que la qualité n’est pas l’excellence. Une exigence du client peut être la durée de vie du produit.

Pour la réalisation des logicielles, nous disposons de deux méthodes de travail principalement ; le cycle en V et les méthodes agiles.

Le principe du cycle en V est de réaliser en logiciel en 6 étapes successives qui traitent la totalité du projet :

  • L’analyse des besoins.
  • Les spécifications.
  • La conception.
  • La réalisation.
  • Les tests.
  • La livraison.

La vérification de la qualité du logiciel a lieu à la fin du processus et concerne la totalité du projet. Ces tests sont souvent réduits suite au retard pris par le projet. Ils correspondent aussi à l’expression des besoins du début du projet. Pour tous projets de plus de trois mois, ils traitent d’un besoin qui a au moins partiellement changé. La qualité d’un logiciel dépend de la parfaite réussite de toutes les étapes du projet.

Pour les méthodes agiles, La situation est différente. L’un des principes est d’adapter le logiciel au besoin du client pendant toute la durée du projet. En conséquence, les exigences définies au début du projet ne correspondent pas forcément aux exigences de la livraison. Ce qui a priori interdit au projet d’être un logiciel de qualité.

La pratique de la qualité actuelle a mené à compléter la définition de la qualité pour tenir compte des changements des besoins au cours du temps. Un constructeur construit une chaîne de fabrication pour une voiture, l’utilise et l’adapte pendant environ 10 ans. Durant cette période, les normes et le goût du public évoluent. Il faut donc adapter les exigences originales à ces nouvelles contraintes. Pourtant, les voitures vérifient les contraintes de la qualité industrielle. Dans l’industrie, la qualité est organisée par couche et doit être vérifiée pour chacun des composants et de leur montage du moteur au montage final.

L’application de cette approche permet de considérer que les méthodes agiles vérifient bien plus la qualité industrielle que le cycle en V. L’un des fondements est le développement dirigé par les tests. Chaque élément du logiciel est testé et les tests sont exécutés à chaque modification. Les tests concernent les objets, les fonctions du logiciel et les performances du logiciel. D’autre part, les étapes de la réalisation livrent un logiciel de qualité même s’il est incomplet. Pour les méthodes agiles, le concept de beta testeur n’existe pas. Il est remplacé par celui d’utilisateur averti ou de super-utilisateur. Cet utilisateur est une personne qui connaît bien le métier et aussi de préférence l’informatique, il est capable d’utiliser les livraisons partielles et de donner un avis pertinent sur les adaptations à faire. Il n’a pas pour fonction de découvrir les anomalies du logiciel mais de montrer les améliorations qui permettront de réaliser le produit le plus adapté aux besoins du client et des utilisateurs.

Aucun commentaire:

Enregistrer un commentaire