Les déploiements lents provoquent des réunions
- La conception de logiciels est un entraînement aux relations humaines. Les autres compétences utilisées en développement logiciel le sont aussi.
- Le fait qu’un ingénieur se plaigne de ne pas pouvoir déployer du code à cause du trop grand nombre de réunions peut résulter de limites de capacité de déploiement.
- Chuck Rossi a observé chez Facebook qu’un nombre fixe de changements peut être traité par déploiement. Pour en avoir davantage, il faut davantage de déploiements.
- Facebook a fait passer la cadence de déploiement des 5 dernières années d’une par semaine à quotidienne, puis à trois fois par jour, et a réduit le cycle de déploiement de l’application mobile de 6 semaines à 4 semaines, puis 2 semaines.
- Le nombre de “changements par déploiement” est un indicateur peu élastique, mais qui peut être amélioré. Si le nombre de changements dépasse le seuil actuel, il faut réduire la quantité de changements.
- L’augmentation de la surcharge organisationnelle déclenche une boucle de rétroaction positive : baisse de la charge de travail -> hausse de la pression -> hausse des erreurs -> baisse des changements par déploiement -> hausse de la surcharge -> baisse de la charge de travail.
- Pour traiter plus de changements, il faut augmenter la capacité de déploiement. Pour cela, il faut réduire la fréquence des déploiements ou augmenter le nombre de changements par déploiement.
- Les tentatives visant à réduire la surcharge peuvent finalement mener à des réunions. Cela permet d’éviter de trop vouloir déployer de code.
Conception logicielle : Tidy First ?
- La conception de logiciels est un entraînement aux relations humaines. Améliorer ses compétences techniques en est une manière d’améliorer les relations.
2 commentaires
C'est une bonne opinion.
Avis Hacker News
Réduire le risque de déploiement en améliorant les tests et les aspects organisationnels est important, mais ce n’est pas la seule approche
Ils ont voulu expliquer la notion de « software literacy »
Dans la pipeline CI, le temps des tests ayant été jugé trop long, ils ont décidé de se concentrer sur la reprise
L’organisation peut empêcher l’amélioration des déploiements
La peur des changements de grande ampleur augmente les tests
Question sur la raison pour laquelle CloudFormation est lent
Les microservices permettent de faire monter en charge horizontalement la fréquence de déploiement
Les performances logicielles, c’est-à-dire la performance humaine, sont importantes
Les déploiements rapides provoquent des réunions de gestion d’incidents