La réalité d’un apprentissage inexistant des méthodes de développement de logiciels de qualité
(florianbellmann.com)Absence de formation sur la manière d’assurer la qualité logicielle
- Lors des études d’informatique à l’université, la formation à l’assurance qualité logicielle (QA) est absente.
- La majeure partie du temps est consacrée aux algorithmes, au fonctionnement des ordinateurs, à l’histoire des langages et des concepts, etc.
- Il existe parfois un semestre sur les approches de gestion de projet et Scrum, mais la QA n’est pas abordée du tout.
Comment les entreprises livrent leurs produits dans les délais
- Pour des raisons budgétaires, les entreprises retirent souvent en premier du projet les standards et mesures de QA.
- Quand le développement prend du retard ou que le périmètre s’élargit, il ne reste pas assez de temps pour la QA.
- Des logiciels instables sont mis en production après un minimum de tests non structurés.
Comment sortir de cette roue de hamster
- Il faut des années pour acquérir l’expérience et la confiance nécessaires pour signaler les mesures de QA manquantes dans un projet.
- On découvre des lacunes de monitoring et l’on subit des problèmes comme des défaillances du système en production.
- Si les mesures de QA ne sont pas mises en place, on ne peut pas vraiment apprendre à bien faire.
Parler d’argent
- Expliquer qu’un logiciel sera « plus stable » ou « beaucoup plus facile à maintenir » n’est pas assez concret pour des non-développeurs.
- Il faut parler du coût de l’absence de QA.
- Il est efficace d’expliquer les mesures de QA en termes de coûts, avec des exemples.
Dose minimale efficace
- Il ne faut pas surconcevoir les mesures de QA ni bloquer l’avancement du projet.
- Il est important de tester les fonctionnalités essentielles de l’application et de vérifier qu’elles se comportent toujours comme prévu.
- Le concept de « dose minimale efficace » (MED) permet de commencer par les éléments les plus importants.
Points à examiner attentivement
- Lorsqu’on lance un nouveau projet ou qu’on le rejoint, il faut rechercher les concepts de QA en place.
- Il est important d’avoir des documents ou un plan de test qui montrent que l’équipe a réfléchi à la QA.
- Écrire les tests en même temps que le nouveau code permet de structurer ce code pour qu’il soit réellement testable.
Bénéfices pour le projet
- En parlant de qualité et en proposant des solutions possibles, on élargit son impact en tant que développeur.
- Les mesures de QA permettent au projet de croître à un rythme sain.
Comment améliorer le projet
- En utilisant des mesures de QA, on peut être reconnu dans un projet comme quelqu’un qui produit un logiciel de qualité.
- Il faut garder la MED à l’esprit dans le projet et devenir une voix du changement au sein de l’équipe.
L’avis de GN⁺
Le point le plus important de ce texte est le manque de prise de conscience de l’importance de l’assurance qualité (QA) dans le processus de développement logiciel et de la manière de la mettre en œuvre. La QA est souvent négligée, alors qu’elle est essentielle à long terme pour la réussite et la stabilité d’un projet. Ce texte est intéressant et utile, car il aide les ingénieurs logiciels débutants à comprendre l’importance de la QA et propose des moyens concrets de l’intégrer dans des projets réels.
1 commentaires
Avis Hacker News
L’ingénierie logicielle n’est souvent pas un sujet central de l’informatique (CS) et est fréquemment enseignée dans d’autres cursus, comme des options ou des parcours dédiés au software engineering.
Beaucoup constatent qu’il est plus facile de collaborer avec des personnes titulaires d’un diplôme en informatique. Elles comprennent l’importance de bons algorithmes et n’essaient pas d’implémenter elles-mêmes un parseur ou de la cryptographie.
Le développement de logiciels de haute qualité peut s’apprendre dans des entreprises expérimentées.
Affirmer qu’il faut livrer un logiciel sans bug dans les délais est un mauvais point de départ pour un article sur le logiciel de qualité.
Il existe des programmes de computer engineering et des universités qui mettent l’accent sur les stages et la pratique.
L’idée que l’université enseigne la construction de logiciels industriels est exagérée.
L’argument selon lequel un logiciel sera « plus stable » ou « plus facile à maintenir » n’est pas convaincant pour les personnes qui ne travaillent pas directement sur la base de code.
On peut choisir trois éléments parmi la qualité, le temps, la complexité de la communication et le coût.
Les développeurs logiciels ont appris à produire des logiciels de qualité, mais il leur est difficile de l’appliquer en pratique parce que les MBA ou les conseils d’administration qui dirigent l’entreprise ne le comprennent pas.
La qualité est en réalité une propriété qui ne peut s’acquérir que par la pratique.