Logo Spiria

Des processus avec une pincée de normes

1 août 2019.

Documentation, cohérence, réutilisabilité, revues de code, tests unitaires, scalabilité… des processus et des normes qui font la différence. Kevin de Spiria Toronto vous en dit plus.
 

Certaines personnes se fâchent devant les mots processus ou normes, mais moi, et d’autres comme moi, nous avons tendance à apprécier une structure claire. Les processus sont partout autour de nous : à la maison, au travail et partout ailleurs. Même les enfants sont exposés aux processus et aux normes dès leur plus jeune âge. Que cela nous plaise ou non, nous suivons tous des processus dans notre vie quotidienne.

Je crois que les processus sont le ciment qui maintient tout ensemble, et que les normes sont ce qui nous aide tous à atteindre un objectif commun avec un haut niveau de qualité. L’expérience nous a montré que nous avons beaucoup plus de succès lorsque nous avons de formidables processus en place avec une pincée de normes. Voici quelques exemples que j’aimerais partager.

Documenter les processus et les normes à la vue de tous

Tout au long de ma carrière, j’ai vu des processus, des normes et des politiques documentés dans divers outils, et l’uniformité semble être la formule gagnante. Vous pouvez placer vos normes méticuleusement documentées sur Internet, les afficher au mur dans votre bureau, ou même créer des skills Alexa pour votre organisation afin d’aider les employés à les trouver. Mais quoi que vous fassiez, assurez-vous simplement que les gens savent où les trouver et que cela demeure cohérent.

Cohérence du projet

Nous avons réalisé de nombreux projets au fil des ans, et bien que chaque projet soit différent, les processus et les normes ont toujours joué un rôle important dans le succès de chacun. Qu’il s’agisse du transfert en provenance des ventes, de la collaboration produit et production, du passage de la production à l’assurance de la qualité, un bon processus assure la cohérence de tous nos projets et aide tous les membres de l’équipe à savoir ce qui doit être fait et comment le faire.

Réutilisabilité

La réutilisation de code doit se faire avec discernement. La question que j’aime garder à l’esprit est la suivante : quelqu’un d’autre peut-il bénéficier de cette fonctionnalité, que ce soit dans mon entreprise ou dans le monde de l’open source ? Si la réponse est oui, vous devriez envisager de concevoir la fonction pour qu’elle soit réutilisable. La création de petits composants réutilisables, au code simple et partageable, vous permettra de :

  • fournir des estimations plus basses et plus précises pour les fonctionnalités communes ;
  • réutiliser un code de qualité production qui a été rigoureusement testé ;
  • consacrer vos efforts à une logique métier complexe qui ne peut pas être réutilisée.

Revues de code

Les revues de code ont une valeur non négligeable, si vous les utilisez correctement. Chaque fonctionnalité que nous créons doit passer par le processus de révision du code par des pairs, ce qui nous aide à écrire un code plus propre et plus homogène, à réduire les bogues et à partager les connaissances entre tous les domaines du développement. Mon collègue, Claude Houle, a écrit un super article sur l’importance de la revue de code qui vaut la peine d’être lu.

Tests unitaires

Les tests unitaires ne sont peut-être pas envisageables dans tous les projets, mais leur utilisation dans les bonnes circonstances a une valeur indéniable. Les tests unitaires peuvent aider à réduire le nombre de bogues pendant le développement, ce qui augmente efficacement votre capacité de production. L’ajout de tests unitaires pour une logique métier essentielle, pour des fonctionnalités complexes ou lorsqu’un problème de qualité est détecté devrait renforcer votre confiance à chaque déploiement. Si vous souhaitez en savoir un peu plus sur ces tests, n’hésitez pas à lire l’article de blogue d’Anthony Giretti.

Scalabilité

La montée en charge est un aspect que vous ne devez pas ignorer si vous voulez que les utilisateurs aient la meilleure expérience possible avec votre site Web ou application mobile. Que vous attendiez 200 utilisateurs simultanés sur votre plate-forme ou 10 000 nouvelles inscriptions après un lancement marketing, essayez de vous poser les questions suivantes :

  • Cette fonctionnalité peut-elle se mettre à l’échelle avec de petits et grands ensembles de données ?
  • Mes pages se chargeront-elles rapidement pour tous les utilisateurs (nouveaux et anciens) quelle que soit la quantité de données en jeu ?
  • Est-ce que j’utilise des techniques comme la mise en cache, et est-ce que je me demande quand ces techniques pourraient compromettre la fonctionnalité ou les résultats escomptés ?

Parlez plus fort (lorsque tout le monde écoute)

Je pourrais parler sans arrêt des différents normes et processus que nous utilisons quotidiennement chez Spiria, mais mon but était de partager quelques idées qui vous aideront à vous interroger et à voir comment vous pouvez faire une différence. Si vous avez l’impression que quelque chose est cassé, examinez vos processus et vos normes et tentez de faire une proposition d’amélioration.

Une chose que je garde toujours à l’esprit, c’est que nous ne pouvons pas faire porter l’échec sur un manque de processus. Nous devons plutôt travailler à la création, à la mise à jour et au partage des informations qui nous aident tous à progresser sur la voie du succès.

Je suis dans le camp du « verre est à moitié plein » et avec cela à l’esprit, tout le monde et chaque processus sont susceptibles de s’améliorer. Cela fait partie de la croissance, qu’elle soit personnelle, professionnelle ou celle de l’entreprise. Quand on arrête de pointer du doigt et qu’on commence à collaborer, tout le monde y gagne.