Dans le dernier épisode de "Nom d'un Pipeline !", Julien accueille Matthieu, un expert en performance software avec 15 ans d'expérience. Ensemble, ils explorent les aspects techniques et culturels de la performance dans le développement logiciel, offrant une perspective approfondie sur les exigences fonctionnelles et non fonctionnelles ainsi que l'importance des valeurs organisationnelles communes.
Matthieu partage ses insights sur la façon dont la performance peut être améliorée non seulement par des solutions techniques mais aussi par des facteurs culturels. Il souligne que la clé du succès réside dans l'alignement des exigences fonctionnelles, qui définissent ce que le logiciel doit faire, et des exigences non fonctionnelles, qui couvrent comment le logiciel doit le faire, en termes de performance, sécurité, et maintenabilité.
Une partie essentielle de la discussion porte sur l'importance des valeurs communes au sein d'une organisation. Matthieu et Julien insistent sur le fait que pour réussir, il faut que les équipes partagent des objectifs et des principes communs, ce qui facilite la collaboration et l'atteinte des performances souhaitées. Ces valeurs créent un environnement où les équipes peuvent prospérer et innover.
L'épisode met également en lumière la création d'environnements de staging pour les tests de performance. Matthieu explique que ces environnements sont cruciaux pour faire des tris et s'assurer que les modifications fonctionnent comme prévu avant de les déployer en production. Aujourd'hui, l'accent est mis sur l'automatisation des processus, mais il est important de réserver une partie de la charge pour l'exploration, en se demandant si cela doit être confié aux développeurs ou à des experts externes.
Matthieu insiste sur la nécessité de comprendre les limites de l'automatisation. "Quand on va vers l’automatisation, il faut bien comprendre quels genres de problèmes on va régler et surtout ce que ça ne règle pas." Il est crucial de savoir quels problèmes spécifiques l'automatisation peut résoudre et d'être conscient des aspects qu'elle ne couvre pas, afin de ne pas travailler à l'aveugle.
Pratiquer le run, c'est-à-dire comprendre comment fonctionne le code dans des conditions réelles, est un autre point essentiel discuté. Matthieu et Julien soulignent l'importance d'impliquer les développeurs dans cette phase, leur permettant de voir directement l'impact de leur travail. La responsabilisation des développeurs et l'expertise métier sont cruciales pour naviguer dans les défis techniques et assurer une performance optimale.
Pour être efficace, la philosophie DevOps doit impliquer toutes les mailles de la chaîne de développement. Mathieu et Julien discutent des outils nécessaires et du coût associé, soulignant l'importance d'instrumenter les applications pour collecter des données en continu via CI/CD. Cela permet de lever les ambiguïtés et d'éviter de travailler à l'aveugle, garantissant ainsi que les efforts d'ingénierie sont bien orientés et soutenus par des ressources adéquates.
En conclusion, cet épisode de "Nom d'un Pipeline !" offre une vision claire et approfondie des aspects techniques et culturels nécessaires pour améliorer la performance dans le développement logiciel. Il rappelle l'importance de l'alignement des exigences, de la culture organisationnelle, de la compréhension des limites de l'automatisation, et de l'implication de toutes les parties prenantes dans le processus DevOps.