Background Image
DÉVELOPPEMENT DE LOGICIELS

Meilleures pratiques actuelles, partie 1

Daniel Scheufler headshot

February 1, 2023 | 6 Lecture minute

Lorsque l'on aborde une nouvelle technologie ou un nouveau défi en matière de conception, on souhaite généralement commencer par des méthodes qui ont fait leurs preuves. Il n'est pas nécessaire de réinventer la roue, mais il peut être difficile de savoir quelles pratiques appliquer et quand elles sont réalisables. Le conseil habituel est de trouver et de suivre les meilleures pratiques. Mais qu'entend-on par "meilleures pratiques" ?

Une meilleure pratique est généralement définie comme l'opinion actuelle de la plupart des professionnels du secteur sur les meilleures approches, les meilleurs outils et les meilleures techniques à appliquer à des problèmes courants. Étant donné que le temps continue d'avancer et que de nouvelles technologies sont constamment développées, comment pouvons-nous espérer connaître la véritable meilleure pratique ?

Je pense qu'il est préférable de prendre un peu de recul. Étant donné que notre environnement change continuellement et que de nouvelles technologies apparaissent sans cesse, la meilleure pratique ne peut pas être quelque chose de statique. Au lieu de cela, nous devrions probablement considérer la meilleure pratiques pratiques actuelles. Après tout, les meilleurs professionnels changent d'avis au fur et à mesure que de nouvelles informations sont disponibles. Ainsi, au fil du temps, nous pouvons nous attendre à ce que les meilleures pratiques actuelles évoluent et changent au fur et à mesure que l'industrie apprend à tirer parti de ses outils pour relever les défis d'aujourd'hui. (Rappelez-vous qu'à un moment donné, le monolithe était une meilleure pratique).

Les meilleures pratiques sont toujours limitées dans le temps

La meilleure façon d'accomplir quelque chose il y a 20 ans ne sera pas aussi efficace aujourd'hui, et il faut donc s'attendre à ce que les meilleures pratiques actuelles évoluent au fil du temps. De nouveaux outils, de nouvelles options et de nouvelles contraintes existent aujourd'hui.

Avant l'avènement du web, la meilleure façon de diffuser des informations à un grand groupe de personnes aurait pu être une lettre d'information ou un tableau d'affichage ! Il existe cependant un curieux effet de second ordre que la technologie a sur ses meilleures pratiques. La portée des solutions que nous envisageons peut parfois être limitée par nos outils. Rappelez-vous le vieux proverbe :

"Pour un homme qui n'a qu'un marteau, le monde est plein de clous"

Ainsi, bien qu'il soit toujours prudent d'essayer d'apprendre de la sagesse et des échecs des autres, nous devons garder à l'esprit que chaque événement passé n'a pas eu les mêmes outils à sa disposition. Les outils dont nous disposons aujourd'hui DOIVENT pouvoir modifier les solutions que nous envisageons. M. Goldratt, qui a élaboré une théorie industrielle appelée "théorie des contraintes", a souligné la nécessité pour l'industrie manufacturière de réévaluer soigneusement les contraintes réelles qui pèsent sur nos systèmes aujourd'hui.

Il ne suffit pas d'insérer des ordinateurs là où l'on utilisait autrefois du papier. Au contraire, lorsqu'il s'agit de concevoir ou de migrer un processus, nous devons avoir une connaissance plus approfondie de ce dont l'entreprise a réellement besoin pour tirer le meilleur parti des systèmes informatiques. Suivre aveuglément une meilleure pratique sans tenir compte de son contexte et de son époque signifie que nous ignorons les options qui permettraient de maximiser la valeur pour nos clients.

La meilleure pratique actuelle dépend de votre contexte

Les meilleures pratiques actuelles s'inscrivent souvent dans un contexte implicite. C'est-à-dire qu'elles supposent un contexte dans lequel les pratiques sont les mieux adaptées. Par exemple, les microservices sont les mieux adaptés dans l'hypothèse où une organisation s'attend à réduire la redondance grâce à la réutilisation.

En règle générale, les meilleures pratiques actuelles en matière d'infrastructure supposent quelque chose à propos des structures de communication d'une organisation. Il est courant de se référer à la loi de Conway lorsqu'on envisage des changements organisationnels, tels que des structures d'équipe dans ces contextes. Mais ces contextes implicites s'accompagnent d'hypothèses tacites.

Prenons l'exemple de Netflix. Quel type de culture et de maturité technique Netflix avait-il ou a-t-il développé pour rendre son approche des microservices réalisable ? Toutes les organisations n'ont pas la maturité opérationnelle nécessaire pour prendre en charge des microservices mis à l'échelle pour répondre à des millions et des millions de demandes chaque heure. Par conséquent, quel type d'avantages pouvons-nous raisonnablement attendre de l'exécution de la solution de Netflix, le Chaos Monkey de Netflix dans une organisation qui n'est pas préparée à comprendre ou à répondre au type de défaillances que l'outil est conçu pour produire ?

Si ces hypothèses ne sont pas mises en évidence, le simple fait de suivre les meilleures pratiques actuelles peut conduire une organisation immature dans une position intenable. Il est donc absolument nécessaire, pour réussir, de faire émerger les hypothèses, ou au moins de les prendre en compte avant de choisir une pratique à suivre ! Bien que nous devions tirer parti des meilleures pratiques actuelles pour accélérer notre propre livraison, le faire aveuglément revient à prendre des risques cachés. Cela nous engage dans certaines voies d'action que nous pourrions ne pas être en mesure d'accomplir. Toutes les architectures de microservices supposent un certain degré de maintenance et de flexibilité.

De plus, ces architectures ont besoin d'une organisation d'exploitation raisonnablement mature pour faire tourner toutes ces plaques et les mettre au point. Nos choix techniques nous engagent à respecter certains modèles de communication et certains modèles mentaux lorsque nous envisageons des situations futures et que nous nous y adaptons.

Dégager les hypothèses

Alors, que peut-on faire pour dégager les hypothèses inhérentes à nos meilleures pratiques ? Il est préférable de considérer toute meilleure pratique actuelle comme une règle ou un principe de prise de décision. Elle est là pour conseiller et non pour dicter. Comme pour toute règle de décision, il convient de poser des questions sur ses principes fondamentaux. Des questions comme les suivantes :

- Quand ce principe/cette règle s'applique-t-il(elle) ?

- Quand ne s'applique-t-il PAS ?

- À partir de quelle limite ce principe doit-il céder le pas à un autre ?

- À quoi l'application de ce principe nous engage-t-elle à l'avenir ? Ou Pour suivre ce principe, à quoi nous engageons-nous ?

Lorsque l'on envisage une pratique de cette manière, il convient généralement de commencer à considérer toutes les meilleures pratiques actuelles comme un ensemble connu de compromis qui fonctionnent favorablement pour celui qui les prend. L'intérêt d'articuler les hypothèses réside dans l'amélioration de la prise de décision.

Pablo Picasso aurait dit : "Apprenez les règles comme un professionnel pour pouvoir les transgresser comme un artiste". Les meilleures pratiques actuelles peuvent et doivent être apprises en profondeur ! Cependant, nous devons comprendre leur contexte et leurs conditions pour savoir quand et si nous devons les appliquer à nos circonstances spécifiques !

En conclusion, il est judicieux de suivre les meilleures pratiques. Cependant, dans certaines circonstances, en supposant qu'une réflexion intentionnelle ait été menée sur les compromis, il peut être bénéfique d'opter pour une pratique courante qui n'est pas la meilleure. N'oubliez pas qu'il faut du doigté et de l'expérience pour savoir quel est le bon moment pour le faire.

Pour obtenir les meilleurs résultats, faites évaluer les choix et les justifications par des pairs respectés avant de les mettre en œuvre. Revenez la prochaine fois, et nous pourrons discuter de certaines circonstances spécifiques dans lesquelles les équipes peuvent bénéficier du fait de ne pas suivre les meilleures pratiques dans la partie 2 de la série de blogs.

Pour en savoir plus sur les meilleures pratiques, contactez-nous.

Développement de logiciels

Dernières réflexions

Explorez nos articles de blog et laissez-vous inspirer par les leaders d'opinion de nos entreprises.
Blog Image - Unveiling the Future of AI at Google Cloud Next 24 -1
AI/ML

Unveiling the Future of AI at Google Cloud Next ‘24

Get firsthand insights from Improving into the innovation brewing around artificial intelligence and cloud computing at Google Cloud Next '24.