Quelle exigence avez-vous fixé sur la qualité du code de votre projet ?

Hervé Rincent

Hervé Rincent

25 août 2020

Je vois parfois passer des annonces de jobs exigeant “minimum 10 années d'expériences en langage ___ ou sur le framework ___ ”.

Mais ce n’est pas tant l’expertise technique qui est recherchée. C’est surtout le vécu sur des projets comparables. C’est la capacité à trouver des marges de manoeuvre parmi toutes les contraintes imposées (délai, budget, périmètre fonctionnel).

Cette vidéo illustre bien cette idée. Un dessinateur (visiblement expérimenté) s’impose 3 délais prédéfinis pour un même dessin : 10 minutes, 1 minute et … 10 secondes !

Dans tous les cas, on obtient à la fin un dessin qui correspond à ce qui était demandé (“la tête de spiderman”).

Evidemment, ce qui change beaucoup, c’est la qualité du dessin.

Et bien c’est pareil pour la conception de logiciels.

La qualité, un concept dépassé.

Disons-le tout net : la qualité du code, tout le monde s'en fout. Car contrairement au dessin, ça ne se voit pas.

Le concensus général est plutôt : “peu importe la méthode pourvu que ça marche”.

Au moins au début. Mais ça peut vite devenir une décision que l’on regrette.

Car un logiciel est vivant. Contrairement à une peinture que l’on ne retouche plus une fois terminée, un logiciel évolue constamment sous l'influence :

Pour lui éviter de sombrer prématurément, un logiciel gagne à être conçu avec un bon niveau de qualité.

Mais comment mesurer objectivement cette qualité ?

Il existe quelques tentatives pour élaborer des métriques. Je ne les trouve pas très convaincantes, et certaines conduisent à une conclusion erronée.

Par exemple : le nombre de commentaires dans le code. Plus il y en a, et mieux c'est ? Au contraire ! Certains considèrent que les commentaires compensent un mauvais nommage ou un mauvais niveau d'abstraction.

Alors si la mesure est difficile, comment améliorer la qualité dans un projet tech/data ?

Choisir une méthode

Ma conviction est que la qualité est d’abord conditionnée par la méthode. La façon de faire.

Ce ne sont pas les méthode de projets qui manquent : Agile, PERT, Lean, Scrum (bon j'arrête là, on en recense une vingtaine à ce jour). Pourtant aucune de ces méthodes n'entre dans le détail de la production du code.

En cotoyant des personnes expérimentées dans le domaine de la tech, je constate qu'avec le temps elles se sont dotées d'un éventail de méthodes personnelles.

Il ne s'agit pas de recettes miracles. Ce sont plutôt des stratégies qui vont permettre d’adapter sa façon de faire au contexte pour produire ce qui est attendu.

Voici 2 exemples de méthodes possibles pour coder un logiciel.

Quelle est celle qui va permettre de produire ce qui est attendu le plus rapidement ? Aboutir à une meilleure qualité de code ?

"Malaxer le code" signifie le ré-écrire partiellement pour en optimiser ses performances, sa modularité, sa compréhension.

En pratique, les 2 méthodes vont aboutir. La #1 sans doute plus rapidement.

Mais avec 2 niveaux de qualité différents : la réalisation des tests en parallèle du code dans la stratégie #2 amènera davantage de qualité.

Choisir ou placer sa marge de manoeuvre

En fixant fermement les contraintes de délai, de budget ou de périmètre fonctionnel, vous ne vous laissez pas d'autre marge de manoeuvre que le niveau de qualité.

Ce n'est pas toujours un mauvais choix.

Pour la réalisation d'une maquette ou d'un prototype, on peut accepter une exigence faible sur la qualité.

En revanche, pour un logiciel destiné à la mise en production, mieux vaut probablement réduire le nombre de fonctionnalités que d'appauvrir la qualité.

Dans tous les cas, choisissez par vous-même la contrainte que vous accepter d’assouplir plutôt que de la subir.


Continuer la lecture

Exploiter le potentiel des données pour rendre nos outils plus intelligents

1 sept. 2020

3 min read

Exploiter le potentiel des données pour rendre nos outils plus intelligents

Lire l'article
La réglementation RGPD se durcit : tant mieux.

18 août 2020

4 min read

La réglementation RGPD se durcit : tant mieux.

Lire l'article
Inscription à la newsletter

Recevez chaque semaine un article pour réfléchir à votre prochain projet tech/data

gratuit, sans spam, désinscription en 1 clic

Merci ! Regardez dans botre boite mail. Un lien de confirmation n'attend plus que votre clic.
Arghh il semble compliqué de vous ajouter à la liste de diffusion. Et si vous m'envoyiez un mail directement à contact@camilab.co ?