Conduite de tests agiles pour SAFe et LeSS
Éditions ENI
Préface
Avant-propos
1. Pourquoi ce livre ?11
2. A propos du titre de ce livre13
3. Pour qui est ce livre ?16
4. Qui suis-je ?17
5. Comment lire ce livre18
5.1 La revue Jackie Brown du test agile à l'échelle18
5.2 Modes de lecture18
5.3 Avertissement19
Chapitre 1
Pantesting
1. Vue d'ensemble21
2. Testabilité22
3. Panarchie29
3.1 Le concept29
3.2 Panarchie et panarchie31
3.3 Panarchie et résilience33
4. Théorie des contraintes - TdC34
5. Double boucle d'apprentissage37
6. Pantesting en entreprise42
6.1 Atelier « Panarchy »42
6.2 Panarchie et tests44
Chapitre 2
Pantesting appliqué au métier
1. Introduction47
2. Testabilité des fonctionnalités47
2.1 Capture du besoin et génération des idées47
2.1.1 Lean Canvas et compagnie50
2.1.2 25/10 Crowdsourcing pour dégager des idées d'un groupe53
2.1.3 1-2-4- Tous53
2.1.4 EventStorming53
2.1.5 User Story Mapping55
2.1.6 Autres moyens56
2.2 Affinage des PBI57
2.3 User Stories - US62
2.3.1 Rédaction des US62
2.3.2 Vision de SAFe62
2.3.3 Vision de LeSS64
2.3.4 US et spécifications exécutables65
2.3.5 Estimation des US68
2.4 Macro-US72
2.4.1 Préparation des macro-US72
2.4.2 Estimation des macros US74
2.5 Enablers76
3. Testabilité des exigences non fonctionnelles78
4. Documentation liée à la solution81
4.1 Modélisation82
4.1.1 Solution Intent de SAFe85
4.1.2 CMDB d'ITIL87
4.1.3 Living documentation - la documentation c'est le code88
4.2 Pantesting lié à la documentation90
5. DoD à l'échelle92
6. DoR à l'échelle94
7. Résumé95
Chapitre 3
Panfesting appliqué à la testabilité technique
1. Architecture agile99
1.1 Principes d'architecture102
1.2 Autres visions sur les principes d'architecture agiles109
1.3 Adaptation TOGAF à SAFe111
1.4 Vision architecturale112
1.5 Conception et partage113
2. Domain-Driven Design - DDD121
2.1 Techniques de compréhension et de communication du domaine124
2.2 Techniques de préservation de l'intégrité du modèle126
2.3 Conception dirigée par le modèle133
2.4 Processus de modélisation143
2.5 Exemple de combinaison SAFe-TOGAF-DDD145
3. Model-Based System Engineering - MBSE147
3.1 Présentation du MBSE147
3.2 MBSE et cycle de vie150
3.3 Du MBSE vers le PBSE153
3.4 MBSE et les tests154
3.4.1 Model-Based Testing - MBT154
3.4.2 MBS A159
3.4.3 Pantesting et MBSE161
4. DevOps164
4.1 Visions sur DevOps164
4.1.1 Vision de Kim164
4.1.2 Vision de SAFe165
4.1.3 Vision de Spotify166
4.1.4 Vision de Barclays Bank166
4.1.5 Vision de Google - SRE167
4.2 Le pipeline170
4.3 Continuous Testing - tester continuellement189
4.3.1 État d'esprit193
4.3.2 Le CT c'est où on peut, dès qu'on peut !194
4.3.3 Le CT, ce n'est pas que l'automatisation196
4.3.4 Automatiser en continu c'est apprendre en continu197
4.3.5 Automatisation et Craftsmanship dans l'équipe198
4.3.6 Automatisation et autonomie199
4.3.7 Le temps d'exécution202
4.3.8 L'environnement d'exécution205
4.3.9 La portée du CT209
4.3.10 Un banc de test idéal (ou presque)211
4.3.11 Module de planification212
4.3.12 Manager de tests214
4.3.13 Dictionnaire de données215
4.3.14 Tableau de bord216
4.3.15 Interface de pilotage logicielle218
4.3.16 Interface de pilotage matérielle218
4.3.17 Interface de pilotage d'outils externes222
4.3.18 Interface de pilotage du banc223
4.3.19 Solutions sur étagère224
4.4 Infrastructure229
4.5 Transformation DevOps232
4.6 Mesure de la maturité DevOps237
4.6.1 Evaluation DevOps selon sa vision237
4.6.2 Évaluation DevOps selon SAFe238
4.6.3 Évaluation DevOps selon Humble241
4.6.4 Métamodèle de maturité243
4.6.5 Évolution du pipeline244
4.6.6 Évolution des équipes246
4.6.7 Définition de la notion de maturité250
4.6.8 Évaluation de la maturité252
4.7 Pantesting et DevOps254
5. Du code propre avec le Software Craftsmanship257
6. Architecture Decision Record - une pratique autour de la prise de décision architecturale265
7. Résumé266
Chapitre 4
Pantesting appliqué au cycle de développement
1. Introduction269
2. Rôle de la vision270
3. Cycles de développements de solutions Lean272
3.1 Design Thinking274
3.2 Lean Startup278
3.3 Lean UX280
3.3.1 Identifier les hypothèses283
3.3.2 Créer un MVP283
3.3.3 Expérimenter289
3.3.4 Feedback et analyse290
3.3.5 Lean UX à la sauce SAFe291
3.4 Cycles de développements de la solution et Pantesting292
4. Value Stream (courant de valeur)294
5. Planification à l'échelle299
5.1 Contexte de la solution299
5.2 Préparation du Backlog302
5.3 PI Planning de SAFe304
5.3.1 Préparation du meeting305
5.3.2 Déroulé du meeting307
5.3.3 Sessions de travail sur les fonctionnalités308
5.3.4 Identification des risques sur le PI309
5.3.5 Vote de confiance310
5.3.6 Rétrospective311
5.3.7 Program Board312
5.4 Alternative au PI Planning avec LeSS314
5.5 Planification et Pantesting316
5.6 Roadmap de la solution320
6. Mêlée quotidienne321
7. Acceptation des PBI et de la solution322
7.1 Tests pendant le sprint323
7.1.1 Commencer par les tests - la qualité intégrée à la conception323
7.1.2 Cas des ENF326
7.1.3 Tests induits par les dépendances à la réalisation328
7.1.4 Qui teste ?331
7.2 Revue d'itération333
8. Synchronisation des développements337
8.1 Flux tirés337
8.2 Modèle VATI de la théorie des contraintes340
8.3 Outils de synchronisation de la théorie des contraintes345
8.3.1 Le tambour346
8.3.2 Le tampon349
8.3.3 La corde350
9. Rétrospective à tous les niveaux351
9.1 Meeting I&A de SAFe352
9.2 Point de vue LeSS353
9.3 Pratiques et principes sous-jacents355
10. Résumé357
Chapitre 5
Pantesting appliqué au support
1. Introduction359
2. Rôles359
2.1 Les équipes de composants et de fonctionnalités359
2.2 Les communautés369
2.3 Le management agile382
2.3.1 Vision historique du management383
2.3.2 Raisons d'une transformation inéluctable387
2.3.3 Propositions existantes390
2.3.4 Les écocycles du management agile et Pantesting414
2.3.5 Spécificités du manager de test agile431
2.4 Le client436
2.5 Le fournisseur438
2.5.1 Sélection des fournisseurs439
2.5.2 Contractualisation agile443
2.5.3 Suivi du fournisseur452
2.6 Les équipes distantes453
2.6.1 Types de distance453
2.6.2 ChatOps454
2.6.3 Synchronisation460
2.6.4 Organisation des équipes462
2.6.5 Indépendance et séparation entre les développeurs et les testeurs464
2.6.6 « Translocation » des équipes et des compétences466
2.6.7 Rôle de l'empathie dans le Pantesting471
2.7 Les Ressources humaines472
2.7.1 Généralités sur les RH472
2.7.2 RH et agilité474
2.7.3 RH et Pantesting484
3. Budget au niveau de l'entreprise486
3.1 Budget traditionnel487
3.2 Budget agile489
3.3 Période de budgétisation490
3.4 Flux des idées491
3.5 Équipe de budgétisation492
3.6 Priorisation des idées493
3.7 Suivi du budget494
3.8 Budget et Pantesting496
4. Outils et automatisation498
5. Lean QMS502
5.1 Description du Lean QMS504
5.2 Transformation d'un système qualité existant517
5.3 OKR pour des métriques Lean521
5.4 Lean QMS et Pantesting524
6. Gestion de la connaissance526
6.1 Stratégies de gestion de la connaissance526
6.2 Focus sur la transmission de la connaissance529
6.3 Connaissance tacite et Ba530
6.4 Format de la connaissance tangible534
6.5 Pantesting & gestion de la connaissance537
7. Culture d'entreprise541
7.1 Généralités sur la culture d'entreprise541
7.2 Pièges des organisations543
7.3 Propositions pour lutter contre ces pièges546
8. Résumé549
Chapitre 6
Mise en place du Pantesting
1. Introduction551
2. Démarrer551
2.1 Vision pour le changement551
2.2 Roadmap552
2.3 Pièges de la roadmap554
3. Maintenir et améliorer559
3.1 Diversifier les écocycles et les prioriser559
3.2 Ajouter de la testabilité560
3.3 Gérer le Pantesting561
3.3.1 ASCCR deVance561
3.3.2 Double boucle d'apprentissage manageriale d'Augustine561
3.3.3 Niveaux de connexion inter-écocycle562
3.4 Mettre en musique le Pantesting562
3.4.1 Cartographie562
3.4.2 Rôles dans le Pantesting564
3.4.3 Métriques565
Chapitre 7
Annexes
1. Quelques abréviations567
2. Valeurs et principes du manifeste agile et principes du test570
3. Pratiques agiles571
4. Basiques du test agile572
4.1 Principes du test572
4.2 Vision du test agile572
4.3 Quatre quadrants du test agile573
4.4 Valeurs du test agile574
4.5 Manifeste du test agile574
4.6 État d'esprit du Testeur agile575
5. Techniques de Test575
6. Pratiques Lean576
6.1 Challenge « 30 jours sur le Lean »576
6.2 Lean Software Development - les principes Lean pour le logiciel578
6.3 Kaizen580
6.3.1 Les vingt règles Kaizen de Kobayashi581
6.3.2 Les dix règles Kaizen de Dobbs582
6.3.3 Les douze défis Kaizen pour le test classique582
6.4 Kanban583
7. SAFe vu d'en haut585
7.1 Pourquoi SAFe est-il le plus utilisé ?585
7.2 Les valeurs de SAFe585
7.3 Les dix principes de SAFe586
7.4 Description sommaire et spécificités588
7.4.1 Couches588
7.4.2 Meetings clés de SAFe589
7.4.3 Le PI Planning589
7.4.4 ART Sync : PO Sync et Scrum of Scrum590
7.4.5 Éléments d'idéation591
7.4.6 Rôles593
7.4.7 Estimations WSJF593
7.4.8 Story Points - la vision SAFe594
8. LeSS595
8.1 Smaller LeSS597
8.2 Huge LeSS598
9. Comparatif de modèles d'agile à l'échelle599
10. Crédits601
11. Références bibliographiques604
Index
653