développement en méthode agile
TRANSCRIPT
![Page 1: Développement en méthode agile](https://reader034.vdocuments.site/reader034/viewer/2022052316/5581d15fd8b42ae06c8b527b/html5/thumbnails/1.jpg)
Laurent Bristiel18/09/2012
Développement logicielen méthode agile
![Page 2: Développement en méthode agile](https://reader034.vdocuments.site/reader034/viewer/2022052316/5581d15fd8b42ae06c8b527b/html5/thumbnails/2.jpg)
Agenda
Qui suis-je ? De quoi parle-t-on au juste ? Agilité Tests Bilan
![Page 3: Développement en méthode agile](https://reader034.vdocuments.site/reader034/viewer/2022052316/5581d15fd8b42ae06c8b527b/html5/thumbnails/3.jpg)
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
![Page 4: Développement en méthode agile](https://reader034.vdocuments.site/reader034/viewer/2022052316/5581d15fd8b42ae06c8b527b/html5/thumbnails/4.jpg)
Développement logicielen 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)
![Page 5: Développement en méthode agile](https://reader034.vdocuments.site/reader034/viewer/2022052316/5581d15fd8b42ae06c8b527b/html5/thumbnails/5.jpg)
2001
![Page 6: Développement en méthode agile](https://reader034.vdocuments.site/reader034/viewer/2022052316/5581d15fd8b42ae06c8b527b/html5/thumbnails/6.jpg)
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
![Page 7: Développement en méthode agile](https://reader034.vdocuments.site/reader034/viewer/2022052316/5581d15fd8b42ae06c8b527b/html5/thumbnails/7.jpg)
XP = Extrem Programming : méthode dév Intégration continue, feedback loop Pair-programming, propriété collective TDD, tests fonctionnels
![Page 8: Développement en méthode agile](https://reader034.vdocuments.site/reader034/viewer/2022052316/5581d15fd8b42ae06c8b527b/html5/thumbnails/8.jpg)
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)
![Page 9: Développement en méthode agile](https://reader034.vdocuments.site/reader034/viewer/2022052316/5581d15fd8b42ae06c8b527b/html5/thumbnails/9.jpg)
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
![Page 10: Développement en méthode agile](https://reader034.vdocuments.site/reader034/viewer/2022052316/5581d15fd8b42ae06c8b527b/html5/thumbnails/10.jpg)
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
![Page 11: Développement en méthode agile](https://reader034.vdocuments.site/reader034/viewer/2022052316/5581d15fd8b42ae06c8b527b/html5/thumbnails/11.jpg)
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)
![Page 12: Développement en méthode agile](https://reader034.vdocuments.site/reader034/viewer/2022052316/5581d15fd8b42ae06c8b527b/html5/thumbnails/12.jpg)
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
![Page 13: Développement en méthode agile](https://reader034.vdocuments.site/reader034/viewer/2022052316/5581d15fd8b42ae06c8b527b/html5/thumbnails/13.jpg)
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
![Page 14: Développement en méthode agile](https://reader034.vdocuments.site/reader034/viewer/2022052316/5581d15fd8b42ae06c8b527b/html5/thumbnails/14.jpg)
Pyramide idéale des tests automatisés
![Page 15: Développement en méthode agile](https://reader034.vdocuments.site/reader034/viewer/2022052316/5581d15fd8b42ae06c8b527b/html5/thumbnails/15.jpg)
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 »
![Page 16: Développement en méthode agile](https://reader034.vdocuments.site/reader034/viewer/2022052316/5581d15fd8b42ae06c8b527b/html5/thumbnails/16.jpg)
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
![Page 17: Développement en méthode agile](https://reader034.vdocuments.site/reader034/viewer/2022052316/5581d15fd8b42ae06c8b527b/html5/thumbnails/17.jpg)
Des questions ?