Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation...

61
Surmonter les anti-patrons culturels nuisant à DevOps Jean-Marc Lavoie (SingularIT Solutions) Sylvie Trudel (UQAM)

Transcript of Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation...

Page 1: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Surmonter les anti-patrons culturels nuisant à DevOps

Jean-Marc Lavoie (SingularIT Solutions)Sylvie Trudel (UQAM)

Page 2: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Pour mieux comprendre les anti-patrons

• Bref historique• DevOps: capacités requises• Quelques anti-patrons communs

2

Page 3: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Je n'ai pas besoin de savoir où je vais, j'ai juste besoin de savoir où je suis allé.Tow Mater (Cars, 2006 )

Un bref historique

Ceux qui ne peuvent se souvenir du passé sont condamnés à le répéter.George Santayana (Vie de raison, 1905 )

3

Page 4: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

4

1945 19851965 1999 2001 2009

• Premiers ordinateurs numériques• Premiers bogues

Page 5: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

5

1945 19851965 1999 2001 2009

• Industrialisation des ordinateurs• Stockage• Premiers processus

Analyse Conception Code Installation Maintenance

NATO Software Engineering Conference 1968

Herbert D. Benington, 1956

Analyse Conception Code Vérification Maintenance

Page 6: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

6

1945 19851965 1999 2001 2009

La crise logicielle

Conception Code InstallationQualité

Analyse Conception Code MaintenanceVérificationMaintenance

Analyse Conception CodeCoûts Délais Livraison

Code

InstallationTraçabilité Décès

* Many artworks by Peggy und Marco Lachmann-Anke

Page 7: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

7

1945 19851965 1999 2001 2009

Émergence de procesus et outils

Sheard, Sarah. (2011). The frameworks quagmire. 10.1109/9781118156667.ch1.

Page 8: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

8

1945 19851965 1999 2001 2009

Le processus classique

DéploiementAnalyse Conception Code Test OpérationUATInt.

6 mois - 2 ans

Page 9: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Quel est le problème ?

9

Page 10: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Considérer la régression

https://me.me/i/53b02b890dad454988db62dd6d4d4c9210

Page 11: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Ajoutez quelques cycles d'évolution

Dépl.Analyse Conc. Code Test OpsUATInt.

Dépl.Analyse Conc. Code Test OpsUATInt.

Dépl.Analyse Conc. Code Test OpsUATBogues Régr.Bogues Régr.Int.

11

Dépl.Analyse Conc. Code Test OpsUATBogues Régr.Bogues Régr.Int.

Page 12: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Ajouter quelques murs de confusion (silos)

Dépl.Analyse Conc. Code Test OpsUATBogues Régr.Int.

12

Page 13: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Impossible à accélérer

13

Page 14: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Comment s'en sortir?

14

Page 15: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

15

1945 19851965 1999 2001 2009

Extreme Programming 1999++

1-6 Mois en 1999

Dépl.Analyse Conc. Code Test OpsUATInt.

Automatisation

CodeTest

Page 16: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Ops

Depl

.

Plan

Revu

e

TestCode.

Depl

Conc.

Sprint n

Depl

.

Plan

Revu

e

TestCode.

Depl

Conc.

Plan

Sprint n + 11-4 Sem.

16

Mouvement Agile 2001++

1945 19851965 1999 2001 2009

x fois x fois

Page 17: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Plan

Bâtir

Code. Plan

Opération

DéploiementSortie

Test Rétroaction

Continu

17

Mouvement DevOps 2009++

1945 19851965 1999 2001 2009

Page 18: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Le DevOps ca vaut le coût?

18

Page 19: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

19

Page 20: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Comment se mesure la performance de livraison de logiciel?

* Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations, Nicole Forsgren PhD, Jez Humble, Gene Kim

Performance de livraison de logicielDélai de réalisationFréquence de déploiementDélai moyen de remise en servicePourcentage de défaillances

20

Page 21: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Quel est l'impact sur l'organisation?

Performance non commercialePerformance non commerciale

Performance de livraison de logiciel

* Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations, Nicole Forsgren PhD, Jez Humble, Gene Kim

Performance organisationnelle

21

Page 22: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Par où commencer?

* Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations, Nicole Forsgren PhD, Jez Humble, Gene Kim

22

Leadership transformationnel

Développement de produit Lean

Lean Management

Techniques

24 capacités classées en 4 catégories

Responsabilité

Amélioration continue

Automatisation

Petits lots

Qualité

5 principes clés

Page 23: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

* Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations, Nicole Forsgren PhD, Jez Humble, Gene Kim 23

Notification proactive

Surveillance

Gestion des données de test

Contrôle des versions

Intégration Continue

Équipes autonomes

Architecture découplée

Décalage à gauche de la sécurité

Développement sur le tronc

Automatisation du déploiement

Automatisation des tests

Capacités techniques

Page 24: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Culture organisationnelle

de Westrum

Livraison continue

Performance de livraisonde logiciel

Performanceorganisationnelle

* Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations, Nicole Forsgren PhD, Jez Humble, Gene Kim

24

Capacités techniques

Page 25: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Lean management

Performance de livraisonde logiciel

Culture organisationnelle

de Westrum

* Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations, Nicole Forsgren PhD, Jez Humble, Gene Kim

25

Limite des travaux en cours

Gestion visuelle

Rétroaction de la production

Approbation simple des modifications

Page 26: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Développement de produit Lean

Culture organisationnelle

de Westrum

* Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations, Nicole Forsgren PhD, Jez Humble, Gene Kim

26

Travailler en petits lots

Rendre le flux de travail visible

Recueillir et appliquer la rétroaction des clients

Expérimentation de l’équipe

Performance de livraisonde logiciel

Page 27: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Leadership transformationnel Technique

Développement de produit Lean

* Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations, Nicole Forsgren PhD, Jez Humble, Gene Kim

27

Vision

Communication inspirante

Stimulation intellectuelle

Meneur supporteur

Reconnaissance personnelle

Page 28: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Anti-Patrons CulturelsCe n'est qu'un sous-ensemble...

28

Page 29: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Anti-Patron Culturel

• Solution qui semble bonne

• En usage depuis plusieurs années

• Ne convient plus ou pas à la réalité actuelle

29

Page 30: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Anti-Patron No 1: Project Owner (au lieu du Product Owner)

30

Page 31: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Conséquences• Solutions prédéfinies

• Retient la livraison

• Dissociation de l’équipe et de l’application à la livraison

Anti-Patron No 1: Project Owner (au lieu du Product Owner)

31

Responsabilité

Rétroaction de la production

Travailler en petits lots

Rétroaction des clients

Expérimentation de l’équipe

Page 32: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Anti-Patron No 1: Project Owner (au lieu du Product Owner)

Solutions• Travailler sur la création d’un produit qui évoluera

32

Page 33: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Anti-Patron No 2: Vite vite vite

33

Page 34: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Conséquence• Met de coté les 5 principes clés

34

Qualité

Petits lots

Automatisation

Amélioration continue

Responsabilité

Anti-Patron No 2: Vite vite vite

Page 35: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Solutions• Implémenter les 4 indicateurs clés

• Évaluer régulièrement les capacités DevOps

• Former les gestionnaires

35

Anti-Patron No 2: Vite vite vite

Page 36: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Anti-Patron No 3: Planification par budget (au lieu de par valeur)

36

Page 37: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Conséquences• Le contrôle est parfois excessif

• Budget désaligné avec les besoins évolutifs

• Affecte les capacités inter-silo

• Mal appliqué, peut limiter la transparence

37

Anti-Patron No 3: Planification par budget (au lieu de par valeur)

Expérimentation de l’équipe

Équipes autonomes

Limite des travaux en cours

Gestion visuelle

Flux de travail visible

Page 38: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Solutions• Adopter des budgets leans

• Financer la chaine de valeur

• Ajuster l’horizon d'investissement

• Employer un budget participatif

38

Anti-Patron No 3: Planification par budget (au lieu de par valeur)

Page 39: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Anti-Patron No 4: Mini Waterfall

39

Page 40: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Conséquences• Ajoute des transferts

• Retarde la rétroaction

• Validation déborde du Sprint

40

Anti-Patron No 4: Mini Waterfall

Flux de travail visible

Limite des travaux en cours

Rétroaction des clients

Responsabilité

Page 41: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Solutions• Intégrer le client dans l’équipe• Décalage à gauche des test (ATDD, BDD, TDD)• Envisager Kanban

41

Anti-Patron No 4: Mini Waterfall

Page 42: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Anti-Patron No 5: L’artisan

42

Page 43: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Conséquences• Limite l’automatisation

• “SnowFlake Server” 1

1-https://martinfowler.com/bliki/SnowflakeServer.html43

Anti-Patron No 5: L’artisan

Automatisation des tests

Automatisation du déploiement

Contrôle des versions

Gestion des données de test

Page 44: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Solutions• Formation pratique

• Capacités techniques• Coaching

• Sur la vision DevOps

44

Anti-Patron No 5: L’artisan

Page 45: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Anti-Patron No 6: Externaliser vers des artisans

45

Page 46: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Conséquences• Limite l’automatisation

• Transfert de responsabilités

• Logiciel développé par un tiers Performance1

46

Anti-Patron No 6: Externaliser vers des artisans

Automatisation des tests

Automatisation du déploiement

Contrôle des versions

Gestion des données de test

Responsabilité

1- Forsgren, N., Humble, J. et Kim, G. (2018). Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations. IT Revolution Press.

Page 47: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Solutions• Spécifier par contrat les tests et l’automatisation• Développer les projets critiques à l’interne

47

Anti-Patron No 6: Externaliser vers des artisans

Page 48: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Anti-Patron No 7: Hiérarchie de contrôle

48

Page 49: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Conséquences• Communication entre départements

• Décisions bureaucratiques plus lentes

• Adaptation au changement difficile

• Reconnaissance va aux gestionnaire

• Autorité forte

49

Anti-Patron No 7: Hiérarchie de contrôle

Limite des travaux en cours

Approbation simple

Vision

Reconnaissance Personelle

Meneur supporteur

Équipes autonomes

Page 50: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Solutions• Équipes multidisciplinaires• Donner la récompense selon la valeur d'affaire produite

50

Anti-Patron No 7: Hiérarchie de contrôle

Page 51: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Anti-Patron No 8: Le MVP va en prod(pour y demeurer)

51

Page 52: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Conséquences• Mauvais usage du MVP

• Escamotage des 5 principes clés

52

Anti-Patron No 8: Le MVP va en prod(pour y demeurer)

Rétroaction des clients

Expérimentation de l’équipe

Rétroaction de la production

Qualité

Petits lots

Automatisation

Amélioration continue

Responsabilité

Page 53: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Solutions• Employer un MVP pour expérimenter• Employer un MMP pour la production

53

Anti-Patron No 8: Le MVP va en prod(pour y demeurer)

Page 54: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Anti-Patrons Culturels

1. Project Owner (au lieu du Product Owner)2. Vite vite vite3. Planification par budget (au lieu de par valeur)4. Mini Waterfall5. L’artisan6. Externaliser vers des artisans7. Hiérarchie de contrôle8. Le MVP va en prod

54

Page 55: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Conclusion

• Aux 8 premiers anti-patrons, on ose ajouter

• La fausse Agilité

• Scrum...

• Miser sur les capacités supportant DevOps

• Mesurer correctement les résultats

• 5 principes clés à surveiller

55

Capacity Over KPI

Page 56: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Pour la suite

https://devopsantipatterns.ninja/fr

56

Page 57: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Questions

57

Page 58: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

AnnexesInformations supplémentaires

58

Page 59: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Bénéfices collatéraux

59

Page 60: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Pérennité

Moins de déploiements

douloureux

Moins d'épuisement professionnel

Livraison continue

Lean management

Développement de produit Lean

* Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations, Nicole Forsgren PhD, Jez Humble, Gene Kim

Leadership transformationnel

Technique

60

Moins de travail à refaire

Page 61: Surmonter les anti-patrons culturels nuisant à DevOps · Automatisation des tests Automatisation du déploiement Contrôle des versions Gestion des données de test Responsabilité

Appartenance organisationnelle

Appartenance organisationnelle

Satisfaction au travail

Performanceorganisationnelle

Culture organisationnelle

de Westrum

Lean management

* Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations, Nicole Forsgren PhD, Jez Humble, Gene Kim

Développement de produit Lean

Leadership

Technique Livraison continue

61