Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

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

Transcript of Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

Page 1: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© JouveExpertise Logicielle02/07/2014 1

Agile LAVALBehaviour Driven Development

03/07/2014

Eudes ELIESerge HARDY

Page 2: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© JouveExpertise Logicielle02/07/2014 2

BDD@Laval

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

BEHAVIOUR-DRIVEN­DEVELOPMENT.

Page 3: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© 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: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© JouveExpertise Logicielle02/07/2014 4

BDD@Laval

• Ingénieur test chez Jouve

depuis 2012• Expert Selenium• Expert test

Eudes ELIE

Page 5: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© 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: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© 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: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© JouveExpertise Logicielle02/07/2014 7

Présentation

Icebreaker

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

Page 8: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© 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: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© 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: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© JouveExpertise Logicielle02/07/2014 10

BDD@Laval

Pourquoi­le­BDD­?

Page 11: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© 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: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© JouveExpertise Logicielle02/07/2014 12

BDD@Laval

Le manifeste­agile dit:

« Working­software­…

over­comprehensive­documentation »

Page 13: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© 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: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© 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: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© 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: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© 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: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© JouveExpertise Logicielle02/07/2014 17

Jouve ITS

AGILITÉ@JOUVE

Page 18: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© 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: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© JouveExpertise Logicielle02/07/2014 19

Jouve ITS

Groupe centenaire fondé en 1903Siège social à Mayenne

2500 salariés

19 sites

Page 20: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© JouveExpertise Logicielle02/07/2014 20

Jouve ITS

Activités orientées contenu

ImpressionServices Editoriaux

Technologies de l’informationDématérialisation

Page 21: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© JouveExpertise Logicielle02/07/2014 21

Jouve ITS

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

Contexte:

société industrielle de productionhistorique culturel historique technique

Changement insufflé de manière incrémentale

Page 22: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© 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: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© 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: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© 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: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© JouveExpertise Logicielle02/07/2014 25

BDD@Laval

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

Page 26: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© 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: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© JouveExpertise Logicielle02/07/2014 27

BDD@Laval

Le manifeste­agile dit:

­ «­Individuals­and­interactions

over­processes­and­tools­»­

Page 28: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© 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: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© 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: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© 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: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© JouveExpertise Logicielle02/07/2014 31

BDD@Laval

BDD + TDD

Page 32: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© JouveExpertise Logicielle02/07/2014 32

BDD@Laval

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

BDD = Spécification par l’exemple

Page 33: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© 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: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© 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: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© 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: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© 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: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© JouveExpertise Logicielle02/07/2014 37

La suite

Evangéliser le processPackager l’offre pour réponses commerciales

Behaviour Driven Monitoring/Infrastructure

Page 38: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© JouveExpertise Logicielle02/07/2014 38

BDD@Laval

Formations agilité (Scrum, Kanban)

@sergehardy

[email protected]@jouve.fr

Pour en savoir plus

Page 39: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© JouveExpertise Logicielle02/07/2014 39

BDD@Laval

Page 40: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© 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: Behaviour Driven Development chez Jouve ITS - Agile Laval 2014

© JouveExpertise Logicielle02/07/2014 41

BDD@Laval

­

Merci de votre attention!