L'agilité chez Jouve via le Behaviour Driven Development

41
© Jouve Expertise Logicielle 09/06/20 22 1 Agile LAVAL Behaviour Driven Development 03/07/2014 Eudes ELIE Serge HARDY

description

Comprendre et appliquer la méthode Agile

Transcript of L'agilité chez Jouve via le Behaviour Driven Development

Page 1: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 1

Agile LAVALBehaviour Driven Development

03/07/2014

Eudes ELIESerge HARDY

Page 2: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 2

BDD@Laval

­­BIENVENUE­À­CETTE­SESSION­SUR­LE­

BEHAVIOUR-DRIVEN­DEVELOPMENT.

Page 3: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 3

BDD@Laval

En tant que participant Je veux savoir qui me fait face

Afin d’écouter plus attentivement

Qui sommes-nous?

Page 4: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 4

BDD@Laval

• Ingénieur test chez Jouve depuis 2012

• Expert Selenium• Expert test

Eudes ELIE

Page 5: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 5

BDD@Laval

• Ingénieur développement chez Jouve depuis 2011

• Scrum Master certifié• Coaching agile• En charge de la plateforme de

développement PHP• Co-organisateur Agile Tour

Rennes 2014

Serge HARDY

Page 6: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 6

Présentation

En tant qu’orateur Je veux connaître les attentes du public

Afin d’adapter la forme et le discours

du support de présentation

Vos attentes

Page 7: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 7

Présentation

Icebreaker

Tri à bulle des participants à 2 niveaux: agilité + test

Page 8: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 8

BDD@Laval

En tant que participant Je souhaite une vue

d’ensemble de la présentation

Afin de savoir où on veut m’emmener

Page 9: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 9

BDD@Laval

Présentation

Pourquoi le BDD ?

L’ agilité chez Jouve ITS

Qu’est ce que le BDD ?

Démonstration

Retour d’expérience

Questions/Réponses

Page 10: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 10

BDD@Laval

Pourquoi­le­BDD­?

Page 11: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 11

BDD@Laval

En tant que néophyteJe souhaite une rapide introduction aux tests

agiles

Afin de mieux cerner le sujet

Page 12: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 12

BDD@Laval

Le manifeste­agile dit:

« Working­software­…

over­comprehensive­documentation »

Page 13: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 13

BDD@Laval

On souhaite réaliser des fonctionnalités

• simples• indépendantes• faciles à valider• feedback rapide• changement possible

Page 14: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 14

BDD@Laval

PDCA­

(Deming/Shewart)

Procédé simple pour établir un cercle vertueux de qualité incrémental.

Approche systémique basée sur l’expérimentation

Page 15: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 15

BDD@Laval

TDD = PDCA­du­développeur(Kent Beck)

Plan : Ecrire un test unitaire

Do : Coder au plus simple (KISS)

Check : Faire passer les tests

Act : Remanier le code

Qualité interne : « Est-ce que mon produit est bien construit? »

Page 16: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 16

BDD@Laval

BDD­=­PDCA­du­responsable­produit­(PO)(Dan North)

Plan : Décrire un critère d’acceptation

Do : Implémenter

Check : Démontrer

Act : Ajuster selon le feedback

Qualité externe : « Est-ce que je construis le bon produit? »

Page 17: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 17

Jouve ITS

AGILITÉ@JOUVE

Page 18: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 18

Jouve ITS

En tant que participantJe souhaite connaître la petite histoire de l’

agilité chez Jouve

Afin de comprendre l’ adoption du BDD

Page 19: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 19

Jouve ITS

Groupe centenaire fondé en 1903

Siège social à Mayenne

2500 salariés

19 sites

Page 20: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 20

Jouve ITS

Activités orientées contenu

Impression

Services Editoriaux

Technologies de l’information

Dématérialisation

Page 21: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 21

Jouve ITS

Agilité:­transition­entamée­en­2009

Contexte:

société industrielle de production

historique culturel

historique technique

Changement insufflé de manière incrémentale

Page 22: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 22

Jouve ITS

Pourquoi­le­BDD­chez­Jouve­?

Situation­antinomique

Equipes DEV: volonté de faire du TDD, d’intégrer les tests dans la définition de fini

Equipe TEST: équipe spécialisée, autonome en aval

Mais­initiatives­en­//

Page 23: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 23

Jouve ITS

Prise­en­main­du­sujet­du­TDD­coté­DEV­(2012)

formation

expérimentation TDD Java­+ PHP

Résultats

découverte du BDD

le TDD a une courbe d’apprentissage non neutre - maitrise nécessaire de l’injection de dépendance

Page 24: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 24

Jouve ITS

Prise­en­main­du­sujet­du­BDD­coté­TEST­(2013)

Etude des technos ciblées

­Création­d’un­groupe­de­travail­commun

Résultats

raccrochement des wagons par intégration des testeurs dans les équipes

BDD sert de liant entre équipes

accessoirement moins de bugs ;-)

Page 25: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 25

BDD@Laval

QU’EST-CE­QUE­LE­BDD ?

Page 26: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 26

BDD@Laval

En tant que participantJe souhaite avoir un

exemple de processus BDD

Afin de pouvoir l’implémenter moi-

même

Page 27: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 27

BDD@Laval

Le manifeste­agile dit:

­ «­Individuals­and­interactions

over­processes­and­tools­»­

Page 28: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 28

Qu’est-ce que le BDD ?

Le­BDD­est­un­mode­de­communication­transverse

Dans­le­but­d’unifier­l’interprétation­que­chacun­se­fait­par­rapport­à­son­métier

Pour­quoi­?SpécifierTesterPrioriserEstimer

Pour­qui­?Développeur

Testeur

Responsable produit

Opérateur

Ergonome

Page 29: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 29

Qu’est-ce que le BDD ?

Exemple:­préparation­d’une­User­Story• Définition du besoin métier

• Le­Responsable­produit­et l’équipe déterminent le contour fonctionnel en fonction du rapport valeur/coût souhaité

• Définition des critères d’acceptation associés (=> tests)

• Syntaxe Gherkin:­critères d’acceptation en langage naturel/métier.

Page 30: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 30

BDD@Laval

• l’outil crée le squelette des tests relatifs aux CA

• implémentation des tests• implémentation• TDD si on veut

En­phase­de­réalisation

Page 31: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 31

BDD@Laval

BDD + TDD

Page 32: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 32

BDD@Laval

C’est l’heure de la démo !

BDD = Spécification par l’exemple

Page 33: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 33

Retour d’expérience

Un­point­essentiel

Définition d’une stratégie de test incrémentale.

=> pas d’usine à gaz au sprint 0+!

=> story estimées, priorisées…

Implémenter le BDD de manière incrémentale pour obtenir un feedback rapide

=> Premiers tests en Dev I

=> IC Test

=> IC Build

=> IC Deploy

=> …

Page 34: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 34

Les +++

• Behat: puissant, fiable, extensible

• Selenium

• Synthétiser/factoriser les CA

• Compromis techniques pour rapidité des tests (backdoor)

• Gherkin à la planification

• Plusieurs niveaux de couverture de test - jobs hourly + nightly

• Rapports transverses lisibles

• Facilité de prise en main

Page 35: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 35

A améliorer

• Rester vigilant sur la qualité du code de test qui devient une application à part entière (tests­U?)

• Capitaliser sur les rapports de tests

• Mieux sensibiliser sur les coûts relatifs (Tests­U vs Tests­A)

Page 36: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 36

A éviter

• Exhaustivité des cas de test

• Ecriture des tests d’acceptation en aveugle (sans interface)

• Tests d’acceptation à la place des tests U => coût

• Tests d’acceptation ‘fonctionnels’

Page 37: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 37

La suite

Evangéliser le process

Packager l’offre pour réponses commerciales

Behaviour Driven Monitoring/Infrastructure

Page 38: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 38

BDD@Laval

Formations agilité (Scrum, Kanban)

@sergehardy

[email protected]

[email protected]

Pour en savoir plus

Page 39: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 39

BDD@Laval

Page 40: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 40

BDD@Laval

En tant qu’orateurJe souhaite avoir un

feedback sur la présentation

Afin de faire mieux la prochaine fois

Page 41: L'agilité chez Jouve via le Behaviour Driven Development

© JouveExpertise Logicielle02/07/2014 41

BDD@Laval

­

Merci de votre attention!