Beaucoup d’équipes de développement souhaiteraient accélérer les mises en productions. Pour y parvenir, on se concentre généralement sur toute la pipeline d’automatisation: build, tests, déploiement. Seulement, ce n’est pas la technique qui coince le plus.
De ce que j’ai pu observer, ce qui ralentit le plus souvent un déploiement, c’est une validation, un process administratif ou organisationnel. Une recette réalisée par une autre équipe en fin de cycle, le retour d’un product owner indisponible, un client qui souhaite tout valider ou revalider. Cela peut avoir un sens, mais ces étapes ajoutent de l’attente.
Vous pouvez avoir une pipeline de CI complète qui met moins d’une dizaine de minutes à s’exécuter, votre fonctionnalité pourra mettre des semaines à être déployée. Le problème n’est ni le code ni la technique.
Le temps de mise en production reflète les interactions et la coordination entre les différentes équipes. À cela peut également s’ajouter la confiance qu’elles s’accordent. Et plus il y a d’équipes et de process et plus ce temps d’attente peut être long.
Avant de commencer à vous centrer sur la technique et la vitesse de votre CI, afin d’améliorer votre fréquence de déploiement, il convient de lever la tête et de regarder le processus dans sa globalité.
Car on ne déploiera jamais plus vite que ce que l’organisation permet.