Mercredi 31 mars 2010 Suivre les commentaires de cet article par le biais de RSS 2.0

La qualité logicielle = le budget + le temps + les besoins

Il est possible de concevoir un logiciel sans erreur, jusqu’au moment où on en trouvera une… Les logiciels sont soumis et confrontent les rudes épreuves des différents comportements humains et aux différentes technologies qui évoluent continuellement et très rapidement. Du plus petit aux plus grands créateurs de logiciels de la planète, dès le déploiement d’un logiciel, une mise à niveau sera effectuée tôt ou tard pour appliquer des correctifs , des modifications ou améliorations.

Bien que l’idéal serait de développer des logiciels exempt d’erreurs, d’espérer la « Perfection totale » risque d’éliminer elle-même l’existence propre des technologies. Mais avant de signer un projet en TI, notamment dans la création d’un logiciel pour ce qui nous concerne, il est impératif que les parties prenantes (clients et développeurs) s’entendent parfaitement sur les attentes et en matière de tolérance aux risques.

Par exemple, un programme qui effectue des transactions financières, comme un guichet automatique, peut exiger une très grande quantité de tests pour éviter des cas de fraude, ou pour éviter des erreurs de communication, car l’entreprise financière pourrait subir des pertes très importantes. Il faut identifier les pistes critiques afin d’éliminer les erreurs qui entraineraient d’importantes répercutions. Une entreprise manufacturière peut se voir dans une situation insoutenable si la production est arrêtée pendant plusieurs heures à cause d’une faille dans une application qui guide le travail des employés.

Selon le cas, il faut prévoir et identifier leurs impacts, préparer les bons scénarios d’essais afin de mettre le nouveau programme à l’épreuve, documenter et automatiser les essais pour éviter la reprise manuelle de ces derniers. Dépendamment du système, si les attentes ne sont pas claires, l’envergure des essais peut devenir impressionnante. Il arrive que pour un programme spécialisé et relativement simple à concevoir à la base, que le coût des essais surpasse plusieurs fois le coût du programme lui-même.

Combien le client est-il prêt à payer pour obtenir le niveau de qualité qu’il exige ? Envers quel type d’erreur le client ne voudrait pas être confronté ? Quand on crée un logiciel sur la base d’un processus existant, ces questions sont plus faciles à répondre car on connait bien le domaine et on sait déjà à quoi s’attendre. Mais la création d’un nouveau logiciel sur un processus d’affaires inexistant, hausse nécessairement le degré de difficulté. Cela demande parfois beaucoup plus d’analyse et d’imagination. C’est là que peuvent se cacher la plupart des surprises informatiques.

C’est pour cette raison que les créateurs de TI doivent mettre les efforts nécessaires pour trouver les éléments de risques et déterminer à l’avance les meilleures scénarios de tests.  Le tout en étroite collaboration avec les clients pour en arriver avec une solution fiable et de qualité, permettant d’éviter les erreurs ayant des impacts critiques. Cela semble simple, mais souvent difficile à accepter quand ce travail, intangible au départ, frappe de plein fouet le budget.
Qualité logicielle
Le niveau de la qualité logicielle doit être déterminé par les vases communicants que sont le budget, les efforts alloués (temps) et l’étendu des besoins. C’est l’harmonie de ces 3 facteurs combinés qui déterminera donc le succès d’un projet.

Michel Corbin
Président chez NéoSynergix inc.
(514) 271-2779 poste 221

Référence :
Creating A Software Engineering Culture.
Auteur: Karl E. Wiegers.
Publié par Dorset House Publishing.
ISBN 0-932633-33-1

Mots-clefs : , , , ,

Laisser une réponse