Slide 1

Slide 1 text

& FÉLIX-ANTOINE BOURBONNAIS B.ING., M.SC., PSM v. 2016-07 Les tests et la qualité: moteur de productivité PASCAL ROY ING., CSM, PSM, PMP

Slide 2

Slide 2 text

Selon-vous, combien coûte 1 heure de non disponibilité pour Amazon ? 2

Slide 3

Slide 3 text

3 Image de Eyesplash http://commons.wikimedia.org/wiki/File:Welkom_willkommen_Welcome_Bienvenue_Benvenuto.jpg

Slide 4

Slide 4 text

4 4 Qui sommes-nous ? Pascal Roy Ing., PSM, CSM, PMP Félix-Antoine Bourbonnais B.ing., PSM, M.Sc.

Slide 5

Slide 5 text

5 Formations Accompagnement Diagnostics Conférences

Slide 6

Slide 6 text

6 > AGILE Coachs Mentors Formateurs Tech. ÉQUIPE Gestion TDD Architecture évolutive Essais automatisés DDD … Scrum QA Agile … Gestion de projets Agilité BDD > Nous sommes >

Slide 7

Slide 7 text

LA PROMESSE DE L’AGILITÉ 7

Slide 8

Slide 8 text

Procurer de la valeur au client à un rythme soutenable en maximisant les boucles de rétroaction permettant de livrer fréquemment du logiciel fonctionnel La promesse du développement Agile 8

Slide 9

Slide 9 text

[…] Microsoft reported on a companywide initiative to get agile. 85% of every development dollar was spent on fixing bugs in the non agile groups of over 20,000 developers -- Jeff Sutherland http://blogs.wsj.com/cio/2014/07/15/microsoft-plots-agile-development-course-as-talk-on-job-cuts-loom/ http://scrum.jeffsutherland.com/2014/07/agile-means-get-rid-of-test-teams.html Microsoft L’assurance qualité au centre de la productivité 9 Pour chaque dollar, quel % est utilisé à régler des bogues ?!?

Slide 10

Slide 10 text

[…] “reinvent productivity” in a “mobile-first and cloud-first world.” -- Satya Nadella, CEO Microsoft http://blogs.wsj.com/cio/2014/07/15/microsoft-plots-agile-development-course-as-talk-on-job-cuts-loom/ http://scrum.jeffsutherland.com/2014/07/agile-means-get-rid-of-test-teams.html Microsoft L’Agilité pour répondre aux défis modernes 10

Slide 11

Slide 11 text

Microsoft will likely integrate teams of quality assurance testers with software developers to accelerate its programming processes. -- Al Hilwa, IDC analyst and Microsoft from 2000 until 2007 http://blogs.wsj.com/cio/2014/07/15/microsoft-plots-agile-development-course-as-talk-on-job-cuts-loom/ http://scrum.jeffsutherland.com/2014/07/agile-means-get-rid-of-test-teams.html Microsoft L’assurance qualité au centre de la productivité 11

Slide 12

Slide 12 text

LES PROBLÈMES COURANTS 14

Slide 13

Slide 13 text

15 Les équipes d’assurance qualité peinent à suivre 15 Sprint 1 Sprint 2 Sprint 3 Fonction 1 DONE + DONE ?? Fonction 1 DONE + DONE ! [DEV] Fonction 1 [DEV] Fonction 2 [QA] Fonction 1 [QA] Fonction 2 Véritable itération !

Slide 14

Slide 14 text

16 Dérangement et « Rush » 16 Sprint 2 ? [DEV] Fonction 2 [QA] Fonction 1 Régression VITE VITE ! Intégration F1 + F2 Geler le code ?? Merge et branche ?? Dérangement et frustration !

Slide 15

Slide 15 text

17 Les tests de régressions….

Slide 16

Slide 16 text

18 Allonger le Sprint ??

Slide 17

Slide 17 text

19 Sélectionner les tests en fonction du niveau de risque ?

Slide 18

Slide 18 text

UN CONSTAT 20

Slide 19

Slide 19 text

Mission: Innover 6 000 développeurs >1 500 projets >20 changements/minute 50% du code change tous les mois Présentation: http://bit.ly/cXU02R Article: http://bit.ly/138kE43 Google et les tests 21

Slide 20

Slide 20 text

Plus un problème est découvert tard, plus il coûte cher… La boucle de rétroaction… 22

Slide 21

Slide 21 text

Quelques statistiques 23

Slide 22

Slide 22 text

Selon Google… http://bit.ly/cXU02R 24

Slide 23

Slide 23 text

Google et les tests Statistiques 7 500 000 suites/jour 120 000 000 tests/jour 65 000 « builds »/jour 5000+ CPUs 50TB mem Coût et bénéfices Coût: $260 000 000 $/an Sauve: 420 000 000 $/an Bénéfice : ~160 000 000 $/an 25

Slide 24

Slide 24 text

26 Changement culturel

Slide 25

Slide 25 text

« Si ça n’a pas besoin de fonctionner… alors ça peut entrer dans n’importe quelle planification. » -- Kent Beck http://twitter.com/unclebobmartin/status/375714854679883777 Petite réflexion 27

Slide 26

Slide 26 text

28 La qualité est intégrée à chaque seconde

Slide 27

Slide 27 text

29 Changement fondamental d’approche 29 Contrôle de la qualité Assurance qualité Tests: Dernière ligne de défense contre les défauts Processus intégrant la qualité afin de ne pas produire de défauts

Slide 28

Slide 28 text

30 L’assurance qualité… … n’est pas un coût mais un moteur essentiel pour maintenir la productivité !

Slide 29

Slide 29 text

31 Changement organisationnel

Slide 30

Slide 30 text

32 La qualité logicielle est l'affaire de TOUS !

Slide 31

Slide 31 text

« The burden of quality is on the shoulders of those writing the code. Quality is never “some tester’s” problem. » « Quality is a development issue, not a testing issue ». -- James A. Whittaker, How Google Tests Software C’est l’affaire de tous ! 33

Slide 32

Slide 32 text

34 Responsabilité!

Slide 33

Slide 33 text

35 -- James A. Whittaker, How Google Tests Software C’est l’affaire de tous ! 35

Slide 34

Slide 34 text

36 La qualité effective englobe toute l’organisation…

Slide 35

Slide 35 text

37 Changement organisationnel

Slide 36

Slide 36 text

38 Équipe d’assurance qualité selon Google… 38 Testeurs Engineering Productivity Selon nous… Point tournant ! Collaborateurs et coachs

Slide 37

Slide 37 text

« Quality is achieved by putting development and testing into a blender and mixing them until one is indistinguishable from the other ». -- James A. Whittaker, How Google Tests Software Google : atteindre la qualité 39

Slide 38

Slide 38 text

40 Les « QA » dans un équipe séparée? Cela ne remet cependant pas en question les aptitudes particulières, voire les rôles…

Slide 39

Slide 39 text

41 Le rôle du “QA” est d’aider l’équipe à faire de meilleurs tests et à assurer la qualité en continue. Le rôle du “QA”

Slide 40

Slide 40 text

42 Confiance !

Slide 41

Slide 41 text

44 Changement technique

Slide 42

Slide 42 text

Automatisation des tests 45 Selon nous… Essentiel

Slide 43

Slide 43 text

Qui aime ça faire des tests manuels? 46

Slide 44

Slide 44 text

• Réduire la pression sur l’assurance qualité • Réduire la longueur des boucles de rétroaction • Réduire l’attente • Éviter de sélectionner la « régression » selon le risque Objectifs 47 Confiance !

Slide 45

Slide 45 text

Attention de ne pas arrêter la chaîne de valeur! Attention au Big Bang ! 48

Slide 46

Slide 46 text

Intégration continue https://www.otreva.com/blog/continuous-integration-build-status-board-bamboo-jenkins/ 49 Selon nous… Essentiel

Slide 47

Slide 47 text

Vous voulez aller plus loin? 50 Déploiement continu…

Slide 48

Slide 48 text

DevOps Développement ----->|<------ Opérations Rappelez-vous de ce mot! 51

Slide 49

Slide 49 text

52 DANGER ! Changement technique

Slide 50

Slide 50 text

Pourquoi certains efforts d’automatisation échouent? 53

Slide 51

Slide 51 text

Fragilité ! Image par Gamma-Ray Productions sur Flickr La fragilité des test… 54 Danger! On ne rigole pas…

Slide 52

Slide 52 text

55 Pourcentages selon Google. La pyramide ! 55 Bout en bout Service Unitaire % du portfolio de tests Large (L) Moyen (M) Petit (S) ~10% ~20% ~70%

Slide 53

Slide 53 text

« Small tests lead to code quality. Medium and large lead to product quality » -- James A. Whittaker, How Google Tests Software 56

Slide 54

Slide 54 text

Un test est une sonde! Placez-la judicieusement…

Slide 55

Slide 55 text

58 Changement de ses pratiques

Slide 56

Slide 56 text

Le bon produit? http://www.coolthings.com/pic-nic-pants/ 59

Slide 57

Slide 57 text

Image de Patrick Bell from Haddonfield, NJ, USA - new 6-5-06 064 60 C’est quoi le problème ?

Slide 58

Slide 58 text

Il faut changer la manière dont nous faisons l’analyse et la spécification des besoins… Pour produire de la qualité intégrale… 61

Slide 59

Slide 59 text

62 Une « Story » est une promesse de conversation Rappelons-nous…

Slide 60

Slide 60 text

63 Les 3 Amigos Affaires (PO) Tests / QA Développement & opérations

Slide 61

Slide 61 text

64 Les critères d’acceptation…

Slide 62

Slide 62 text

Behaviour-Driven Development (BDD) is a collaborative approach to software development that bridges the communication gap between business and IT. -- BDD in the Finance Sector, https://cucumber.io/blog/2015/07/01/bdd-in-the-financial-sector BDD 65

Slide 63

Slide 63 text

Découvrir Spécifier Piloter BDD : Behavior-Driven Development 66

Slide 64

Slide 64 text

67 BDD Les ingrédients BDD + = Spécification par l’exemple 1 Automatisation des scénarios en tests 2 Conversations ∀

Slide 65

Slide 65 text

QUELQUES DERNIERS CONSEILS 68

Slide 66

Slide 66 text

Source: http://ennova.com.au/blog/2011/05/agile-test-strategy 69 Avoir une stratégie de test

Slide 67

Slide 67 text

TDD Code Reviews Architecture flexible Réusinage Préparer pour l’automatisation 70

Slide 68

Slide 68 text

• Valoriser et envoyer un message viral • Responsabilisation • Stratégie de tests • Collaboration PO / QA / DEV • Gérer les attentes • Étape par étape... Autres considérations 71

Slide 69

Slide 69 text

72 Vous travaillez avec des humains… impliquez-les dès le début!

Slide 70

Slide 70 text

73 73 Merci !

Slide 71

Slide 71 text

74 Merci Notre site elapsetech.com Notre blogue developpementagile.com Twitter @fbourbonnais | @elapsetech Nos courriels [email protected] [email protected] Nos LinkedIn linkedin.com/in/fbourbonnais/fr ca.linkedin.com/in/roypa conferences.elapsetech.com Diapositives Nos présentations, chez vous!