L'agilité chez Jouve via le Behaviour Driven Development
-
Upload
groupe-jouve -
Category
Technology
-
view
370 -
download
1
description
Transcript of L'agilité chez Jouve via le Behaviour Driven Development
© JouveExpertise Logicielle02/07/2014 1
Agile LAVALBehaviour Driven Development
03/07/2014
Eudes ELIESerge HARDY
© JouveExpertise Logicielle02/07/2014 2
BDD@Laval
BIENVENUEÀCETTESESSIONSURLE
BEHAVIOUR-DRIVENDEVELOPMENT.
© 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?
© JouveExpertise Logicielle02/07/2014 4
BDD@Laval
• Ingénieur test chez Jouve depuis 2012
• Expert Selenium• Expert test
Eudes ELIE
© 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
© 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
© JouveExpertise Logicielle02/07/2014 7
Présentation
Icebreaker
Tri à bulle des participants à 2 niveaux: agilité + test
© 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
© 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
© JouveExpertise Logicielle02/07/2014 10
BDD@Laval
PourquoileBDD?
© 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
© JouveExpertise Logicielle02/07/2014 12
BDD@Laval
Le manifesteagile dit:
« Workingsoftware…
overcomprehensivedocumentation »
© JouveExpertise Logicielle02/07/2014 13
BDD@Laval
On souhaite réaliser des fonctionnalités
• simples• indépendantes• faciles à valider• feedback rapide• changement possible
© 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
© JouveExpertise Logicielle02/07/2014 15
BDD@Laval
TDD = PDCAdudé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? »
© JouveExpertise Logicielle02/07/2014 16
BDD@Laval
BDD=PDCAduresponsableproduit(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? »
© JouveExpertise Logicielle02/07/2014 17
Jouve ITS
AGILITÉ@JOUVE
© 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
© JouveExpertise Logicielle02/07/2014 19
Jouve ITS
Groupe centenaire fondé en 1903
Siège social à Mayenne
2500 salariés
19 sites
© JouveExpertise Logicielle02/07/2014 20
Jouve ITS
Activités orientées contenu
Impression
Services Editoriaux
Technologies de l’information
Dématérialisation
© JouveExpertise Logicielle02/07/2014 21
Jouve ITS
Agilité:transitionentaméeen2009
Contexte:
société industrielle de production
historique culturel
historique technique
Changement insufflé de manière incrémentale
© JouveExpertise Logicielle02/07/2014 22
Jouve ITS
PourquoileBDDchezJouve?
Situationantinomique
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
Maisinitiativesen//
© JouveExpertise Logicielle02/07/2014 23
Jouve ITS
PriseenmaindusujetduTDDcoté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
© JouveExpertise Logicielle02/07/2014 24
Jouve ITS
PriseenmaindusujetduBDDcotéTEST(2013)
Etude des technos ciblées
Créationd’ungroupedetravailcommun
Résultats
raccrochement des wagons par intégration des testeurs dans les équipes
BDD sert de liant entre équipes
accessoirement moins de bugs ;-)
© JouveExpertise Logicielle02/07/2014 25
BDD@Laval
QU’EST-CEQUELEBDD ?
© 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
© JouveExpertise Logicielle02/07/2014 27
BDD@Laval
Le manifesteagile dit:
«Individualsandinteractions
overprocessesandtools»
© JouveExpertise Logicielle02/07/2014 28
Qu’est-ce que le BDD ?
LeBDDestunmodedecommunicationtransverse
Danslebutd’unifierl’interprétationquechacunsefaitparrapportàsonmétier
Pourquoi?SpécifierTesterPrioriserEstimer
Pourqui?Développeur
Testeur
Responsable produit
Opérateur
Ergonome
…
© JouveExpertise Logicielle02/07/2014 29
Qu’est-ce que le BDD ?
Exemple:préparationd’uneUserStory• Définition du besoin métier
• LeResponsableproduitet 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.
© 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
Enphasederéalisation
© JouveExpertise Logicielle02/07/2014 31
BDD@Laval
BDD + TDD
© JouveExpertise Logicielle02/07/2014 32
BDD@Laval
C’est l’heure de la démo !
BDD = Spécification par l’exemple
© JouveExpertise Logicielle02/07/2014 33
Retour d’expérience
Unpointessentiel
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
=> …
© 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
© JouveExpertise Logicielle02/07/2014 35
A améliorer
• Rester vigilant sur la qualité du code de test qui devient une application à part entière (testsU?)
• Capitaliser sur les rapports de tests
• Mieux sensibiliser sur les coûts relatifs (TestsU vs TestsA)
© 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’
© JouveExpertise Logicielle02/07/2014 37
La suite
Evangéliser le process
Packager l’offre pour réponses commerciales
Behaviour Driven Monitoring/Infrastructure
© JouveExpertise Logicielle02/07/2014 38
BDD@Laval
Formations agilité (Scrum, Kanban)
@sergehardy
Pour en savoir plus
© JouveExpertise Logicielle02/07/2014 39
BDD@Laval
© 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
© JouveExpertise Logicielle02/07/2014 41
BDD@Laval
Merci de votre attention!