meetups

L’impact du mouvement software craftsmanship sur la qualité logicielle

Sujets : Software craftsmanship, qualité, clean code, tests

19/09/2019 - 12h45 - 13h45

Par Arthur Magne (Promyze). Merci !

C’est quoi le software craftsmanship ?

C’est une pratique en pleine explosion, un mouvement qui pousse un état d’esprit.

L’historique

Et 10 ans plus tard ?

Il y a une communauté vivante :

Qualité logicielle, c’est quoi ?

Elle se retrouve dans trois grands domaines : l’architecture, les tests et le clean code.

Architecture

Tests

Il en existe différents types selon les besoins : unitaires, d’intégration, IHM… Arthur nous présente un graphique montrant la corrélation entre un nombre de tests élevé et un nombre de bugs faible. La couverture de code c’est bien mais attention à la pertinence du contenu des tests. Le tests de mutation permettent génération de mutants (Stryker pour JavaScript par exemple, ils existent aussi pour Java et d’autres langages). Le GitHub awesome-mutation-testing recense les frameworks de tests de mutation.

Clean code

Il y a une corrélation entre le nombre de bugs et les code smells. La dette technique est détectée notamment avec SonarQube.

Constats et tendances

L’étude “Le coefficient développeur” de 2018 sur la qualité logicielle montre que les développeurs passent 42 % de leur temps à la maintenance. L’impact de la dette technique sur les développeurs est énorme : découragement, lenteur, perte de créativité, érosion des compétences… Pourquoi la dette augmente ? À cause de certaines règles, parfois de nouvelles technologies, des différences de niveaux dans l’équipe…

La tendance actuelle est à la réduction du risque, des coûts et à la valorisation de la qualité logicielle.

Attention à la poudre aux yeux :

Comment favoriser la qualité ?

Arthur travaille sur et avec la plate-forme collaborative Themis développée par sa société Promyze.

En synthèse