SlideShare une entreprise Scribd logo
1  sur  17
Laurent Bristiel
18/09/2012
Développement logiciel
en méthode agile
Agenda

Qui suis-je ?

De quoi parle-t-on au juste ?

Agilité

Tests

Bilan
Qui suis-je ?

Ingénieur logiciel chez Fermat/Moody's de
2004 à 2012
− Responsable d'une équipe de testeurs
− Contexte : éditeur, bancaire, agile

Embauché chez Forgerock depuis 2 jours
− Mission semblable mais contexte différent
Développement logiciel
en méthode agile ?

Développement
− Spécification
− Programmation
− Tests

Logiciel
− Traditionnel (application)
− Soft As a Service (web)
− App (smartphone)

Méthodes
− Cow-boy
− Cascade
− Cycle en V
− Agile
− Open Source (bazar)
2001
Agile = scrum + XP

Scrum : méthode de gestion de projet
− Populations : product manager, dev, scrumMaster
− Outils : stories, itérations, backlog, board, post-it
− Réunions : planning, daily, démo, rétro

XP = Extrem Programming : méthode dév

Intégration continue, feedback loop

Pair-programming, propriété collective

TDD, tests fonctionnels
Agile aujourd'hui

Facebook, Ebay, Google...
− Livraison permanente

« Lean Startup »
− Création startup en continu

Communauté importante à Grenoble
− Yahoo, Kelkoo, Samse, Orange, EDF, Moody's...
− 2012 : 5e
conférence « Agile Grenoble »
(500 personnes, 40 sessions)
Agile chez Moody's

7 équipes de 10 personnes (PM, Prog, Testeurs)

Ratio Testeurs/Prog : 1/2

Releases de 3 mois, itérations de 2 semaines

Succès
− Capacité à réagir (réglementation, marché etc.)
− équipes (re)motivées et plus solides
− Meilleure transparence et predictabilité

Difficultés
− Équipes distribuées
− Agilité limitée à la R&D
− Logiciels vieillissants
Zoom sur les tests
(en Agile / chez Moody's)

Pour toute nouvelle version
− Les nouvelles fonctionnalités doivent marcher
− Les corrections de bugs doivent être effective
− Rien ne doit avoir été cassé (effets de bord)

2 activités de tests
− Tests de validation
− Tests de non regression
Types de tests

Tests unitaires
− Tests techniques faits par le programmeur sur le
code source (tests boite blanche)

Tests de composants
− Tests technico-fonctionnels faits par programmeur
ou testeur sur un service (boite grise)

Tests end-2-end
− Tests fonctionnels fait par testeur ou product
manager sur le système complet (boite noire)
Tests de validation

Tests collectifs, au plus tôt et en continu

Collaboration programmeur, testeur et PM

Calcul des attendus théoriques (oracle)

Programmeur : Test unitaires et TDD

Testeurs : production de test cases
(composants, E2E)
+ tests exploratoires

Important :
− on ne teste pas tout
− Il y a aura des bugs
Tests de non régressions

Risques de régressions ?

Tests de non régressions : somme de tous les tests de
validation du passé => croissance infinie

Fréquence des tests de NR : aussi souvent que possible
(coût bug, intégration continue..)

Méthodes de tests :
− Manuels : simple mais long (offshoring ?)
− Automatique : compliqué mais rapide (expertise)

Important :
− On ne reteste pas tout (évaluation de risques)
− Il n'y aura pas forcément de régression
Pyramide idéale
des tests automatisés
Bilan de 8 ans de tests

Les régressions sont le réel enjeu (progiciel)
− « on a le droit à l'erreur, mais une seule fois »

Difficulté à faire comprendre la pyramide
− « montrez-moi vos tests ! »

Cas particulier des tests d'interface graphique
− « comment vous avez pu rater ça ? »

Bug du 29 février 2008
− « on a eu chaud »
Bilan de 8 ans de tests

Métier passionnant en méthode agile
− véritables enjeux d'ingénierie logicielle
− métier peu connu et reconnu

Frustration sur le contexte
− C++/Oracle/licence versus Java/Web/OpenSource
Des questions ?

Contenu connexe

Tendances

Du Manifeste Agile à Scrum
Du Manifeste Agile à ScrumDu Manifeste Agile à Scrum
Du Manifeste Agile à ScrumXavier Warzee
 
Méthode d'Agile: Scrum
Méthode d'Agile: ScrumMéthode d'Agile: Scrum
Méthode d'Agile: ScrumChaymaMghazli
 
Présentation scrum pour cours leeaarn
Présentation scrum pour cours leeaarnPrésentation scrum pour cours leeaarn
Présentation scrum pour cours leeaarnGautier Pialat
 
Gestion de projets agiles avec scrum actiskills
Gestion de projets agiles avec scrum actiskillsGestion de projets agiles avec scrum actiskills
Gestion de projets agiles avec scrum actiskillsPierre E. NEIS
 
Méthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesMéthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesSirine Barguaoui
 
Les méthodes Agiles - Introduction
Les méthodes Agiles - IntroductionLes méthodes Agiles - Introduction
Les méthodes Agiles - IntroductionTremeur Balbous
 
Scrum les principes de base
Scrum les principes de base Scrum les principes de base
Scrum les principes de base Sirine Barguaoui
 
L'agilité en quelques slides
L'agilité en quelques slidesL'agilité en quelques slides
L'agilité en quelques slidesNicolas Deverge
 
Gestion de projets agiles avec scrum
Gestion de projets agiles avec scrumGestion de projets agiles avec scrum
Gestion de projets agiles avec scrumPierre E. NEIS
 
Formation agile - Certification Professional Scrum Product Owner
Formation agile - Certification Professional Scrum Product OwnerFormation agile - Certification Professional Scrum Product Owner
Formation agile - Certification Professional Scrum Product OwnerNovUp
 
DevExp 2012 methodes agiles SCRUM jesnault
DevExp 2012 methodes agiles SCRUM jesnaultDevExp 2012 methodes agiles SCRUM jesnault
DevExp 2012 methodes agiles SCRUM jesnaultJérôme Esnault
 
Méthodes agiles: Scrum et XP
Méthodes agiles: Scrum et XPMéthodes agiles: Scrum et XP
Méthodes agiles: Scrum et XPYouness Boukouchi
 
Impacts de l'adoption de Scrum
Impacts de l'adoption de ScrumImpacts de l'adoption de Scrum
Impacts de l'adoption de ScrumPyxis Technologies
 

Tendances (20)

Du Manifeste Agile à Scrum
Du Manifeste Agile à ScrumDu Manifeste Agile à Scrum
Du Manifeste Agile à Scrum
 
Agile presentation
Agile presentationAgile presentation
Agile presentation
 
Les pratiques Scrum
Les pratiques ScrumLes pratiques Scrum
Les pratiques Scrum
 
Méthode d'Agile: Scrum
Méthode d'Agile: ScrumMéthode d'Agile: Scrum
Méthode d'Agile: Scrum
 
Présentation scrum pour cours leeaarn
Présentation scrum pour cours leeaarnPrésentation scrum pour cours leeaarn
Présentation scrum pour cours leeaarn
 
Gestion de projets agiles avec scrum actiskills
Gestion de projets agiles avec scrum actiskillsGestion de projets agiles avec scrum actiskills
Gestion de projets agiles avec scrum actiskills
 
Scrum
ScrumScrum
Scrum
 
Méthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesMéthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiques
 
Les méthodes Agiles - Introduction
Les méthodes Agiles - IntroductionLes méthodes Agiles - Introduction
Les méthodes Agiles - Introduction
 
Scrum les principes de base
Scrum les principes de base Scrum les principes de base
Scrum les principes de base
 
L'agilité en quelques slides
L'agilité en quelques slidesL'agilité en quelques slides
L'agilité en quelques slides
 
Gestion de projets agiles avec scrum
Gestion de projets agiles avec scrumGestion de projets agiles avec scrum
Gestion de projets agiles avec scrum
 
Initiation Scrum
Initiation ScrumInitiation Scrum
Initiation Scrum
 
Agile Methodologies
Agile MethodologiesAgile Methodologies
Agile Methodologies
 
Methode Agile
Methode Agile Methode Agile
Methode Agile
 
Formation agile - Certification Professional Scrum Product Owner
Formation agile - Certification Professional Scrum Product OwnerFormation agile - Certification Professional Scrum Product Owner
Formation agile - Certification Professional Scrum Product Owner
 
DevExp 2012 methodes agiles SCRUM jesnault
DevExp 2012 methodes agiles SCRUM jesnaultDevExp 2012 methodes agiles SCRUM jesnault
DevExp 2012 methodes agiles SCRUM jesnault
 
Méthodes agiles: Scrum et XP
Méthodes agiles: Scrum et XPMéthodes agiles: Scrum et XP
Méthodes agiles: Scrum et XP
 
Méthodes agiles & Scrum
Méthodes agiles & ScrumMéthodes agiles & Scrum
Méthodes agiles & Scrum
 
Impacts de l'adoption de Scrum
Impacts de l'adoption de ScrumImpacts de l'adoption de Scrum
Impacts de l'adoption de Scrum
 

Similaire à Développement en méthode agile

4-Cours de Géniel Logiciel
4-Cours de Géniel Logiciel4-Cours de Géniel Logiciel
4-Cours de Géniel Logiciellauraty3204
 
La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !Lucian Precup
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange LabsEmmanuel Hugonnet
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement MicrosoftChristophe HERAL
 
Mix-IT 2013 - Agilistes : n'oubliez pas la technique - mix-it 2013
Mix-IT 2013 - Agilistes : n'oubliez pas la technique - mix-it 2013Mix-IT 2013 - Agilistes : n'oubliez pas la technique - mix-it 2013
Mix-IT 2013 - Agilistes : n'oubliez pas la technique - mix-it 2013Xavier NOPRE
 
TDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoringTDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoringneuros
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2Christophe Rochefolle
 
Industrialisation des développements logiciels
Industrialisation des développements logicielsIndustrialisation des développements logiciels
Industrialisation des développements logicielsSylvain Leroy
 
Formation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifFormation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifkemenaran
 
Strategie de test à agile tour bordeaux
Strategie de test à agile tour bordeauxStrategie de test à agile tour bordeaux
Strategie de test à agile tour bordeauxNicolas Fédou
 
NightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryNightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryZenika
 
At2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicAt2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicEmmanuel Hugonnet
 
Test driven development v0.2 20121221
Test driven development v0.2 20121221Test driven development v0.2 20121221
Test driven development v0.2 20121221Frédéric Delorme
 
Cleancode / Tocea / Introduction
Cleancode / Tocea / IntroductionCleancode / Tocea / Introduction
Cleancode / Tocea / IntroductionSylvain Leroy
 
Iut lyon 1 introduction à l'agilité - 20 juin 2012
Iut lyon 1   introduction à l'agilité - 20 juin 2012Iut lyon 1   introduction à l'agilité - 20 juin 2012
Iut lyon 1 introduction à l'agilité - 20 juin 2012agnes_crepet
 
Jenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverteJenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverteStephane Couzinier
 

Similaire à Développement en méthode agile (20)

4-Cours de Géniel Logiciel
4-Cours de Géniel Logiciel4-Cours de Géniel Logiciel
4-Cours de Géniel Logiciel
 
La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange Labs
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
 
Mix-IT 2013 - Agilistes : n'oubliez pas la technique - mix-it 2013
Mix-IT 2013 - Agilistes : n'oubliez pas la technique - mix-it 2013Mix-IT 2013 - Agilistes : n'oubliez pas la technique - mix-it 2013
Mix-IT 2013 - Agilistes : n'oubliez pas la technique - mix-it 2013
 
TDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoringTDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoring
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2
 
Industrialisation des développements logiciels
Industrialisation des développements logicielsIndustrialisation des développements logiciels
Industrialisation des développements logiciels
 
Formation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifFormation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratif
 
Strategie de test à agile tour bordeaux
Strategie de test à agile tour bordeauxStrategie de test à agile tour bordeaux
Strategie de test à agile tour bordeaux
 
NightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryNightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous Delivery
 
At2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicAt2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville Public
 
Normandy JUG integration Continue
Normandy JUG integration ContinueNormandy JUG integration Continue
Normandy JUG integration Continue
 
Anatomie du test
Anatomie du testAnatomie du test
Anatomie du test
 
Valider par des tests - Blend
Valider par des tests - BlendValider par des tests - Blend
Valider par des tests - Blend
 
Test driven development v0.2 20121221
Test driven development v0.2 20121221Test driven development v0.2 20121221
Test driven development v0.2 20121221
 
Cleancode / Tocea / Introduction
Cleancode / Tocea / IntroductionCleancode / Tocea / Introduction
Cleancode / Tocea / Introduction
 
1.pdf
1.pdf1.pdf
1.pdf
 
Iut lyon 1 introduction à l'agilité - 20 juin 2012
Iut lyon 1   introduction à l'agilité - 20 juin 2012Iut lyon 1   introduction à l'agilité - 20 juin 2012
Iut lyon 1 introduction à l'agilité - 20 juin 2012
 
Jenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverteJenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverte
 

Plus de laurent bristiel

Pourquoi et comment tester sa plateforme EDI
Pourquoi et comment tester sa plateforme EDIPourquoi et comment tester sa plateforme EDI
Pourquoi et comment tester sa plateforme EDIlaurent bristiel
 
Lyong testing agile_testing
Lyong testing agile_testingLyong testing agile_testing
Lyong testing agile_testinglaurent bristiel
 
Functional Tests Automation with Robot Framework
Functional Tests Automation with Robot FrameworkFunctional Tests Automation with Robot Framework
Functional Tests Automation with Robot Frameworklaurent bristiel
 
Automatisations des tests fonctionnels avec Robot Framework
Automatisations des tests fonctionnels avec Robot FrameworkAutomatisations des tests fonctionnels avec Robot Framework
Automatisations des tests fonctionnels avec Robot Frameworklaurent bristiel
 
Stressez votre application web avec Gatling
Stressez votre application web avec GatlingStressez votre application web avec Gatling
Stressez votre application web avec Gatlinglaurent bristiel
 
Robot Framework Introduction
Robot Framework IntroductionRobot Framework Introduction
Robot Framework Introductionlaurent bristiel
 

Plus de laurent bristiel (6)

Pourquoi et comment tester sa plateforme EDI
Pourquoi et comment tester sa plateforme EDIPourquoi et comment tester sa plateforme EDI
Pourquoi et comment tester sa plateforme EDI
 
Lyong testing agile_testing
Lyong testing agile_testingLyong testing agile_testing
Lyong testing agile_testing
 
Functional Tests Automation with Robot Framework
Functional Tests Automation with Robot FrameworkFunctional Tests Automation with Robot Framework
Functional Tests Automation with Robot Framework
 
Automatisations des tests fonctionnels avec Robot Framework
Automatisations des tests fonctionnels avec Robot FrameworkAutomatisations des tests fonctionnels avec Robot Framework
Automatisations des tests fonctionnels avec Robot Framework
 
Stressez votre application web avec Gatling
Stressez votre application web avec GatlingStressez votre application web avec Gatling
Stressez votre application web avec Gatling
 
Robot Framework Introduction
Robot Framework IntroductionRobot Framework Introduction
Robot Framework Introduction
 

Développement en méthode agile

  • 2. Agenda  Qui suis-je ?  De quoi parle-t-on au juste ?  Agilité  Tests  Bilan
  • 3. Qui suis-je ?  Ingénieur logiciel chez Fermat/Moody's de 2004 à 2012 − Responsable d'une équipe de testeurs − Contexte : éditeur, bancaire, agile  Embauché chez Forgerock depuis 2 jours − Mission semblable mais contexte différent
  • 4. Développement logiciel en méthode agile ?  Développement − Spécification − Programmation − Tests  Logiciel − Traditionnel (application) − Soft As a Service (web) − App (smartphone)  Méthodes − Cow-boy − Cascade − Cycle en V − Agile − Open Source (bazar)
  • 6. Agile = scrum + XP  Scrum : méthode de gestion de projet − Populations : product manager, dev, scrumMaster − Outils : stories, itérations, backlog, board, post-it − Réunions : planning, daily, démo, rétro
  • 7.  XP = Extrem Programming : méthode dév  Intégration continue, feedback loop  Pair-programming, propriété collective  TDD, tests fonctionnels
  • 8. Agile aujourd'hui  Facebook, Ebay, Google... − Livraison permanente  « Lean Startup » − Création startup en continu  Communauté importante à Grenoble − Yahoo, Kelkoo, Samse, Orange, EDF, Moody's... − 2012 : 5e conférence « Agile Grenoble » (500 personnes, 40 sessions)
  • 9. Agile chez Moody's  7 équipes de 10 personnes (PM, Prog, Testeurs)  Ratio Testeurs/Prog : 1/2  Releases de 3 mois, itérations de 2 semaines  Succès − Capacité à réagir (réglementation, marché etc.) − équipes (re)motivées et plus solides − Meilleure transparence et predictabilité  Difficultés − Équipes distribuées − Agilité limitée à la R&D − Logiciels vieillissants
  • 10. Zoom sur les tests (en Agile / chez Moody's)  Pour toute nouvelle version − Les nouvelles fonctionnalités doivent marcher − Les corrections de bugs doivent être effective − Rien ne doit avoir été cassé (effets de bord)  2 activités de tests − Tests de validation − Tests de non regression
  • 11. Types de tests  Tests unitaires − Tests techniques faits par le programmeur sur le code source (tests boite blanche)  Tests de composants − Tests technico-fonctionnels faits par programmeur ou testeur sur un service (boite grise)  Tests end-2-end − Tests fonctionnels fait par testeur ou product manager sur le système complet (boite noire)
  • 12. Tests de validation  Tests collectifs, au plus tôt et en continu  Collaboration programmeur, testeur et PM  Calcul des attendus théoriques (oracle)  Programmeur : Test unitaires et TDD  Testeurs : production de test cases (composants, E2E) + tests exploratoires  Important : − on ne teste pas tout − Il y a aura des bugs
  • 13. Tests de non régressions  Risques de régressions ?  Tests de non régressions : somme de tous les tests de validation du passé => croissance infinie  Fréquence des tests de NR : aussi souvent que possible (coût bug, intégration continue..)  Méthodes de tests : − Manuels : simple mais long (offshoring ?) − Automatique : compliqué mais rapide (expertise)  Important : − On ne reteste pas tout (évaluation de risques) − Il n'y aura pas forcément de régression
  • 15. Bilan de 8 ans de tests  Les régressions sont le réel enjeu (progiciel) − « on a le droit à l'erreur, mais une seule fois »  Difficulté à faire comprendre la pyramide − « montrez-moi vos tests ! »  Cas particulier des tests d'interface graphique − « comment vous avez pu rater ça ? »  Bug du 29 février 2008 − « on a eu chaud »
  • 16. Bilan de 8 ans de tests  Métier passionnant en méthode agile − véritables enjeux d'ingénierie logicielle − métier peu connu et reconnu  Frustration sur le contexte − C++/Oracle/licence versus Java/Web/OpenSource