La qualité n’est pas un vain mot chez Agilap. Elle anime notre équipe car nous avons la fâcheuse tendance à détester devoir « refaire » un développement ou « jeter » une application. Or nous pensons que la meilleure manière d’avoir des applications évolutives, c’est de bien coder tout de suite ! Et là vous vous dites, très bien mais ça veut dire quoi « bien coder » ou « qualité des développements » ?
Le développement c’est un peu comme l’écriture, on peut avoir plusieurs « styles » pour exprimer une même idée comme on peut avoir plusieurs manières de coder une même fonctionnalité. Et malheureusement, dans ce genre d’exercice tous les chemins ne mènent pas à Rome, la route pavée est rare… Rare mais pourtant possible si l’on applique certaines bonnes pratiques. Pour nous, la qualité de développements web correspond à la capacité à faire évoluer son développement par un autre développeur.
Nous utilisons des critères pour évaluer cette capacité. En tant que critères objectifs, trois bonnes pratiques doivent être mises en place pour favoriser la qualité d’un projet : l’utilisation de frameworks connus ou standardisés (sortes de grosses boites à outils des développeurs), l’écriture d’une documentation technique pour expliquer la logique macro du projet (arborescence, schéma d’architecture, description des fonctionnalités), et l’ajout de commentaires réguliers au sein même du code pour expliquer la logique micro du projet (c’est-à-dire la logique du développeur). Pour les critères subjectifs, nous noterons particulièrement l’expérience et l’expertise de l’équipe de développement.

Pour mesurer ces cinq critères de qualité, nous vous proposons une méthode simple : établir une note de 1 à 5 pour chaque critère en répondant aux questions suivantes (5 étant la perfection mais pour cette méthode nous vous conseillons de ne pas le réserver à Dieu 😉) :
– Frameworks du projet : Avez-vous des frameworks dans votre projet ? Les frameworks utilisés sont-ils des standards ? Apportent-ils de la valeur ajoutée pour résoudre une problématique technique ?

<em>L’œil du CTO</em>
L’utilisation d’un ou plusieurs frameworks standards et reconnus permet de ne pas « réinventer la roue » car de nombreuses problématiques techniques sont communes à un ensemble de projets informatiques (créer, mettre à jour, supprimer des données dans une base de données). Le développeur peut donc seulement ajouter la logique métier et les spécificités du projet au-dessus du framework, ce qui permet de gagner en temps, fiabilité, évolutivité du projet.
Attention à l’excès inverse comme l’utilisation du framework « maison » maintenu par 2 développeurs qui n’apporte pas une valeur ajoutée spécifique, et la prolifération des frameworks à la mode. Il vaut mieux un framework un peu plus mature, mieux maitrisé par l’équipe, que de céder aux sirènes de la nouveauté en implémentant sans recul un nouveau framework qui nécessitera forcément un temps d’apprentissage au détriment du projet.

– Documentation technique : Quelle est la documentation technique ? Ces documents sont-ils adaptés à la complexité de votre projet ? Les documents sont-ils mis à jour au fur et à mesure des développements ?
L’œil du CTO
Il n’y a rien de pire qu’une documentation de début de projet qui ne correspond plus au projet final. Nous vous conseillons de tenir un journal de bord du projet (l’équivalent du fichier README) pour concentrer la documentation minimale du projet, et surtout renseigner les choix techniques et métiers qui ont été faits. La « patte » de l’auteur ne se retrouve pas dans 80% du code mais dans l’architecture globale (à documenter) et certaines parties du code qui ont poussé le développeur à s’interroger sur la façon de transcrire tel ou tel aspect métier du client. Ce sont ces points-là qui doivent être documentés à tout prix.

– Commentaires : Y a-t-il des commentaires dans le code ? Quelle est leur fréquence ? Sont-ils compréhensibles ?
L’œil du CTO
Ce n’est pas la quantité de commentaires qui comptent mais leur qualité et leur pertinence. Les commentaires simples permettent de faciliter la compréhension pour un nouveau développeur qui viendrait à faire appel à tel ou tel morceau de code.
Au-delà des commentaires, le respect des conventions de nommage avec des noms explicites apportent déjà beaucoup en lisibilité.

– Expérience de l’équipe : Y a-t-il des développeurs expérimentés dans votre équipe ? Quelle est leur importance dans l’équipe ?
L’œil du CTO
A noter que ce n’est pas toujours une mauvaise chose d’avoir de jeunes développeurs dans une équipe à condition qu’ils ne soutiennent pas tout le projet et qu’ils soient encadrés par des profils plus expérimentés.

– Expertise de l’équipe : Les développeurs ont-ils déjà travaillés sur des applications similaires ? Les développeurs ont-ils déjà travaillés sur les frameworks du projet ?

En évaluant ces cinq critères, vous aurez une idée de la qualité des développements qui vous seront livrés. Vous pouvez dormir tranquille si vous obtenez une moyenne supérieure à 4 (👌), tandis que vous ne pourrez pas faire évoluer vos développements si vous obtenez une moyenne inférieure à 2 (🚧). Autour de 3, vous devrez être vigilant et vous impliquer dans le projet pour exiger que les critères objectifs soient au moins respectés (🔎).
Développer des applications web de qualité est un investissement rentable car l’effort pour faire évoluer votre solution sera moins important et donc moins onéreux.

Bons projets et à bientôt, l’équipe Agilap 🌈

Categories: Techno

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Related Posts

Techno

Développer un smart-contract sur Ethereum ou Solana

La blockchain Ethereum, lancée publiquement en 2015, est actuellement la plateforme la plus plébiscitée par les développeurs pour la création d’application décentralisées, de marketplaces ou bien sûr de nouvelles solutions de paiement en cryptomonnaies💰. Cependant, Read more…

Techno

La blockchain est-elle devenue incontournable sur le web ?

Avez-vous déjà raté la 3ème révolution du web 🤔 ? S’agit-il d’un mirage ? Quel avenir peut-on envisager pour les technologies liées à la blockchain ? Comment fonctionne une blockchain ? Une blockchain est une base de données partagée 💾 Read more…

Techno

Découverte du framework Phoenix

Nous avons testé pour vous le framework Phoenix sous le langage Elixir avec Erlang/OTP, et tant qu’à faire nous avons développé un petit Quiz (pour les joueurs comme nous 🤗) que vous pouvez rejoindre ici ! Read more…