Les facteurs de qualité du logiciel

Les activités mises en œuvre chez un éditeur lors de la réalisation d'un logiciel ont bien évidemment un impact sur la qualité du logiciel produit.

Nous vous proposons ici un parcours des activités qui ont le plus d'effet sur la qualité, raison pour laquelle nous les appelons les facteurs de la qualité. Les autres activités peuvent également avoir un effet sur la qualité. Cependant, leur effet est généralement moindre en comparaison.

Nous allons examiner les facteurs de qualité du logiciel en fonction de la portée des activités : Les facteurs stratégiques, organisationnels et enfin opérationnels.

Pyramide des facteurs de qualité du logiciel

Facteurs stratégiques

La qualité du logiciel se construit dès le niveau stratégique, avant même que la première ligne de code ne soit écrite.

  • Politique Produit

    Il est difficile de résister à un client important qui souhaite une particularisation de votre produit logiciel. Et si plusieurs clients importants souhaitent chacun une particularisation, l'éditeur doit alors gérer un produit avec de multiples variantes.

    La maintenance du produit logiciel et de ses variantes est alors plus coûteuse et plus complexe. Pour conserver un bon niveau de qualité du produit il est alors nécessaire de mettre en place une gestion de configuration et des tests plus élaborés.

    Notre recommandation : bien évaluer les impacts de la création d'une nouvelle variante. Dans le doute préférer un produit unique paramétrable, il sera sans doute plus compliqué à créer mais beaucoup plus facile à maintenir.

  • Pression coût/délai

    La pression cout/délai est récurrente chez tous nos clients : il faut finir à l'heure sans trop dépenser. Mais si le produit fini est de mauvaise qualité, il faudra le retravailler... Et le coût augmentera, parfois dans des proportions plus importantes que l'économie que l'on souhaitait réaliser.

    Le retour sur investissement de la qualité est difficile à évaluer a priori, ce qui explique que les arbitrages entre coût, délai et qualité sont souvent en défaveur de cette dernière.

    Mais attention, notre propos n'est pas que la qualité devienne prioritaire ! L'objectif n'est pas de réaliser un produit parfait, mais seulement de maîtriser son niveau de qualité afin d'éviter les surcoûts ultérieurs et l'insatisfaction des clients.

    Notre recommandation : mesurer les coûts de la non qualité (diagnostic et traitement des défauts, interventions sur site, pénalités…) afin d'évaluer l'investissement qualité qui pourrait être économiquement rentable. Un investissement compris entre 10% et 30% du coût de non qualité permet généralement de le diminuer de moitié, voire plus.

Facteurs organisationnels

On s'intéresse souvent aux processus productifs – la conception, le développement et les tests – et peu aux processus support, pourtant essentiels. Les processus support permettent la maîtrise des processus productifs, c'est à ce titre qu'ils sont des facteurs de la qualité du logiciel.

  • Gestion de la configuration

    Les faiblesses du processus de gestion de configuration se manifestent par des comportements inattendus des composants logiciels durant les tests ("ça marchait avant et je n'ai rien touché !") ou bien par des évolutions dont les impacts ne sont pas maîtrisés.
    Elles occasionnent souvent des reprises de travail (le rework).

  • Gestion des exigences

    La gestion des exigences permet l'identification précise du besoin (les exigences) et sa traçabilité. On sait d'où vient chaque élément du besoin, qui l'a exprimé, dans quels modules logiciels il est implémenté et quels tests permettent de le vérifier.
    Une bonne gestion des exigences permet de faciliter et d'accélérer les processus productifs.

  • Assurance et contrôle qualité

    Le processus de suivi de projet construit l'information coûts/délais permettant le pilotage du projet et les prises de décision. À son instar, le processus d'assurance et contrôle qualité a pour but de construire l'information sur la qualité du produit en cours de réalisation.
    Un bon processus de suivi qualité permet au management de prendre en compte la qualité en même temps que les coûts et les délais pour la prise de décision.

  • Flux d'information

    Tout l'enjeu est d'éviter les pertes et distorsions d'informations. Chaque acteur doit disposer des bonnes informations, à jour, pour son travail.

  • Prise de décision

    Malheureusement, les décideurs désignés ne sont pas toujours les mieux placés pour décider. Ils n'ont notamment pas toujours connaissance de toutes les données nécessaires à une prise de décision éclairée.
    Un bon processus de prise de décision doit permettre au décideur d'évaluer la qualité et la complétude des informations dont il dispose pour prendre sa décision.

Notre recommandation : ne pas essayer de tout mettre en place en même temps. Identifier les processus dont les faiblesses sont les plus dommageables pour le produit logiciel, et améliorer ces processus en priorité. Notre questionnaire (gratuit) peut vous aider dans ce diagnostic.

Facteurs opérationnels

Les derniers facteurs sont au niveau opérationnel. Bien connus des développeurs, ils conditionnent directement la qualité présente et future du logiciel.

  • Qualité de la conception

  • Présence et qualité des tests

  • Automatisation (des tests, de la mise en production…)

  • Intégration continue

  • Refactorisation

Notre recommandation : challenger l'équipe de développement ces aspects : son travail est non seulement de livrer des fonctionnalités mais aussi de produire du code de bonne qualité. La mise en place d'un outil de qualimétrie — tel que SonarQube par exemple — peut vous aider à surveiller concrètement la qualité du code.

En conclusion...

Tous les facteurs ci-dessus conditionnent la qualité finale d'un logiciel, et l'on pourrait en dénombrer encore de nombreux autres. Il est impossible ou presque d'obtenir un produit parfait, il est donc vain de s'acharner à atteindre la perfection pour chacun des facteurs, surtout lorsque le budget ne le permet pas.

Néanmoins, il faut les maîtriser et ne pas les négliger. Ils sont directement reliés à la satisfaction du client et peuvent au moins vous éviter des dépenses additionnelles après livraison, ou mieux, vous rapporter des commandes supplémentaires ! Car "un client satisfait est un client qui revient".

Pas de commentaire.

Ajouter un commentaire