71
& 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

Les tests et la qualité: moteur de productivité

Embed Size (px)

DESCRIPTION

Comment transformer la qualité, les tests et le déploiement en moteur de productivité plutôt qu’en simple poste de dépenses? Portés par Lean et Agile, de grands acteurs (ex.: Google) ont transformé leur département d’assurance qualité pour le placer au coeur du processus de production! Limitez les tests réalisés après l’itération et diminuez la pression sur votre équipe qualité.

Citation preview

Page 1: Les tests et la qualité: moteur de productivité

&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

Page 2: Les tests et la qualité: moteur de productivité

Selon-vous, combien coûte 1 heure de non disponibilité

pour Amazon ?

2

Page 3: Les tests et la qualité: moteur de productivité

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

Page 4: Les tests et la qualité: moteur de productivité

4 4

Qui sommes-nous ?

Pascal RoyIng., PSM, CSM, PMP

Félix-Antoine BourbonnaisB.ing., PSM, M.Sc.

Page 5: Les tests et la qualité: moteur de productivité

5

Formations Accompagnement Diagnostics Conférences

Page 6: Les tests et la qualité: moteur de productivité

6

> AGILECoachs

Mentors

Formateurs

Tech.

ÉQUIPE

GestionTDD

Architecture évolutive

Essais automatisés

DDD

Scrum

QA Agile

Gestion de projets

Agilité

BDD

> Nous sommes >

Page 7: Les tests et la qualité: moteur de productivité

LA PROMESSE DE L’AGILITÉ

7

Page 8: Les tests et la qualité: moteur de productivité

Procurer de la valeur au client

à un rythme soutenableen maximisant les boucles de rétroactionpermettant de livrer fréquemmentdu logiciel fonctionnel

La promesse du développement Agile

8

Page 9: Les tests et la qualité: moteur de productivité

[…] 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 ?!?

Page 10: Les tests et la qualité: moteur de productivité

[…] “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

Page 11: Les tests et la qualité: moteur de productivité

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

Page 12: Les tests et la qualité: moteur de productivité

LES PROBLÈMES COURANTS

14

Page 13: Les tests et la qualité: moteur de productivité

15

Les équipes d’assurance qualité peinent à suivre

15

Sprint 1 Sprint 2 Sprint 3

Fonction 1DONE + DONE ??

Fonction 1DONE + DONE !

[DEV] Fonction 1 [DEV] Fonction 2

[QA] Fonction 1 [QA] Fonction 2

Véritable itération !

Page 14: Les tests et la qualité: moteur de productivité

16

Dérangement et « Rush »

16

Sprint 2

?

[DEV] Fonction 2

[QA] Fonction 1RégressionVITE VITE !

IntégrationF1 + F2

Geler le code ??Merge et branche ??

Dérangement et frustration !

Page 15: Les tests et la qualité: moteur de productivité

17

Les tests de régressions….

Page 16: Les tests et la qualité: moteur de productivité

18

Allonger le Sprint ??

Page 17: Les tests et la qualité: moteur de productivité

19

Sélectionner les tests en fonctiondu niveau de risque ?

Page 18: Les tests et la qualité: moteur de productivité

UN CONSTAT

20

Page 19: Les tests et la qualité: moteur de productivité

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

Page 20: Les tests et la qualité: moteur de productivité

Plus un problème est

découvert tard,

plus il coûte cher…

La boucle de rétroaction…

22

Page 21: Les tests et la qualité: moteur de productivité

Quelques statistiques

23

Page 22: Les tests et la qualité: moteur de productivité

Selon Google…

http://bit.ly/cXU02R 24

Page 23: Les tests et la qualité: moteur de productivité

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

Page 24: Les tests et la qualité: moteur de productivité

26

Changement culturel

Page 25: Les tests et la qualité: moteur de productivité

« Si ça n’a pas besoin de fonctionner… alors çapeut entrer dans n’importe quelle

planification. »

-- Kent Beck

http://twitter.com/unclebobmartin/status/375714854679883777

Petite réflexion

27

Page 26: Les tests et la qualité: moteur de productivité

28

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

Page 27: Les tests et la qualité: moteur de productivité

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

Page 28: Les tests et la qualité: moteur de productivité

30

L’assurance qualité…

… n’est pas un coût mais un

moteur essentiel pour

maintenirla productivité !

Page 29: Les tests et la qualité: moteur de productivité

31

Changement organisationnel

Page 30: Les tests et la qualité: moteur de productivité

32

La qualité logicielle est

l'affaire de TOUS !

Page 31: Les tests et la qualité: moteur de productivité

« The burden of quality is on the shoulders of those writing the code. Quality is never “sometester’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

Page 32: Les tests et la qualité: moteur de productivité

34

Responsabilité!

Page 33: Les tests et la qualité: moteur de productivité

35-- James A. Whittaker, How Google Tests Software

C’est l’affaire de tous !

35

Page 34: Les tests et la qualité: moteur de productivité

36

La qualité effective englobe toute l’organisation…

Page 35: Les tests et la qualité: moteur de productivité

37

Changement organisationnel

Page 36: Les tests et la qualité: moteur de productivité

38

Équipe d’assurance qualitéselon Google…

38

Testeurs

Engineering Productivity

Selon nous…

Point tournant !

Collaborateurs et coachs

Page 37: Les tests et la qualité: moteur de productivité

« 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

Page 38: Les tests et la qualité: moteur de productivité

40

Les « QA » dans un équipe séparée?

Cela ne remet cependant pas en question les aptitudes particulières, voire les rôles…

Page 39: Les tests et la qualité: moteur de productivité

41

Le rôle du “QA” est d’aiderl’équipe à faire de meilleurstests et à assurer la qualité

en continue.

Le rôle du “QA”

Page 40: Les tests et la qualité: moteur de productivité

42

Confiance !

Page 41: Les tests et la qualité: moteur de productivité

44

Changement technique

Page 42: Les tests et la qualité: moteur de productivité

Automatisation des tests

45

Selon nous…

Essentiel

Page 43: Les tests et la qualité: moteur de productivité

Qui aime ça faire des tests manuels?

46

Page 44: Les tests et la qualité: moteur de productivité

• 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 !

Page 45: Les tests et la qualité: moteur de productivité

Attention de ne pas arrêter la chaîne de

valeur!

Attention au Big Bang !

48

Page 46: Les tests et la qualité: moteur de productivité

Intégration continue

https://www.otreva.com/blog/continuous-integration-build-status-board-bamboo-jenkins/ 49

Selon nous…

Essentiel

Page 47: Les tests et la qualité: moteur de productivité

Vous voulez aller plus loin?

50

Déploiement continu…

Page 48: Les tests et la qualité: moteur de productivité

DevOps

Développement ----->|<------ Opérations

Rappelez-vous de ce mot!

51

Page 49: Les tests et la qualité: moteur de productivité

52

DANGER !

Changement technique

Page 50: Les tests et la qualité: moteur de productivité

Pourquoi certains efforts d’automatisation échouent?

53

Page 51: Les tests et la qualité: moteur de productivité

Fragilité !

Image par Gamma-Ray Productions sur Flickr

La fragilité des test…

54

Danger!

On ne rigole pas…

Page 52: Les tests et la qualité: moteur de productivité

55Pourcentages selon Google.

La pyramide !

55

Bouten bout

Service

Unitaire

% du portfolio de tests Large

(L)

Moyen (M)

Petit (S)

~10%

~20%

~70%

Page 53: Les tests et la qualité: moteur de productivité

« Small tests lead to code quality.

Medium and large lead to productquality »

-- James A. Whittaker, How Google Tests Software

56

Page 54: Les tests et la qualité: moteur de productivité

Un test est une sonde!Placez-la judicieusement…

Page 55: Les tests et la qualité: moteur de productivité

58

Changement de ses pratiques

Page 56: Les tests et la qualité: moteur de productivité

Le bon produit?

http://www.coolthings.com/pic-nic-pants/ 59

Page 57: Les tests et la qualité: moteur de productivité

Image de Patrick Bell from Haddonfield, NJ, USA - new 6-5-06 064 60

C’est quoi le problème ?

Page 58: Les tests et la qualité: moteur de productivité

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

Page 59: Les tests et la qualité: moteur de productivité

62

Une « Story » est une promesse de conversation

Rappelons-nous…

Page 60: Les tests et la qualité: moteur de productivité

63

Les 3 Amigos

Affaires(PO)

Tests / QA

Développement & opérations

Page 61: Les tests et la qualité: moteur de productivité

64

Les critères d’acceptation…

Page 62: Les tests et la qualité: moteur de productivité

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

Page 63: Les tests et la qualité: moteur de productivité

Découvrir Spécifier Piloter

BDD :Behavior-Driven Development

66

Page 64: Les tests et la qualité: moteur de productivité

67

BDD

Les ingrédients

BDD

+

=

Spécification par l’exemple1

Automatisation des scénarios en tests2

Conversations∀

Page 65: Les tests et la qualité: moteur de productivité

QUELQUES DERNIERS CONSEILS

68

Page 66: Les tests et la qualité: moteur de productivité

Source: http://ennova.com.au/blog/2011/05/agile-test-strategy 69

Avoir une

stratégie de test

Page 67: Les tests et la qualité: moteur de productivité

TDD

Code Reviews

Architecture flexible

Réusinage

Préparer pour l’automatisation

70

Page 68: Les tests et la qualité: moteur de productivité

• 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

Page 69: Les tests et la qualité: moteur de productivité

72

Vous travaillez avec des humains…

impliquez-les dès le début!

Page 70: Les tests et la qualité: moteur de productivité

73 73

Merci !

Page 71: Les tests et la qualité: moteur de productivité

74

Mer

ciNotre siteelapsetech.com

Notre bloguedeveloppementagile.com

Twitter@fbourbonnais | @elapsetech

Nos [email protected]

[email protected]

Nos LinkedInlinkedin.com/in/fbourbonnais/fr

ca.linkedin.com/in/roypa

conferences.elapsetech.com

Diapositives

Nos présentations, chez vous!