SlideShare a Scribd company logo
1 of 37
Download to read offline
Agilistes :
n'oubliez pas la technique !
Xavier NOPRE – 25/04/2013
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE2
Préambule
 Xavier NOPRE :
 Développeur logiciel Java &Web passionné depuis ~ 20 ans
 Pratique et partage l’agilité depuis 2007
 Indépendant. Missions :
 Développements sur mesure et accompagnement de projet
 En mode agile
 Coaching en ingénierie agile, agilité et Scrum
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE3
Qui suis-je ?
@xnopre xnopre.blogspot.com
 Moi :
 Introduction & mise en situation
 Rappels sur l'agilité & Scrum
 Analyse d'une situation
 Exploration des outillages et méthodes
 Conclusion
 Nous :
 Echanges autour de questions/réponses
Mix-IT 2013 : "Agilistes : n'oubliez pas la technique !" - Xavier NOPRE5
Au programme
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE6
Introduction
 Pourquoi cette session ?
 Constat : la technique est négligée dans les transitions agiles
 Pour qui ?
 Tous profils et tous niveaux, sauf …
 Mes objectifs :
 Pointer les difficultés, mettre en garde, être pratique, répondre
à des interrogations, …
 Contexte technique :
 Développement logiciel & écosystème Java
7
Contexte pour cette session ?
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
 "Ensemble de pratiques et d'outillages du génie logiciel
permettant de faire du développement agile" (X. N.)
 Tout ce qui est lié à la technique et aux pratiques :
 Tests unitaires
 TDD
 Intégration continue
 Industrialisation
 …
8
"Ingénierie agile" : késako ?
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE9
Mise en situation
 Contexte :
 Nouveau projet
 Migration vers l'agilité
 Scrum est en place :
Choix des acteurs PO et SM
Formations et coaching
Equipe stable et informée
Supports : backlogs, scrum board, …
Cérémonies : sprint planning, revue, démo, rétro
10
Situation : prenons une équipe …
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE11
Rappels sur l'agilité & Scrum
12
Rappels > Cycle Scrum
Vision
Carnet
de produit
Carnet
d'itération
Itération
2 à 4 semaines
1 jour
Produit partiel
Potentiellement
utilisable
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
13
Rappels > Cycle Scrum
Specs Archi Développements Tests
• Méthodes séquentielle classique :
• Scrum :
Sprint 1
 Specs
 Archi
 Dévt
 Tests
Sprint 2
 Specs
 Archi
 Dévt
 Tests
Sprint 3
 Specs
 Archi
 Dévt
 Tests
Sprint 4
 Specs
 Archi
 Dévt
 Tests
...
Temps
BDD Serveur IHM
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
14
Rappels > Incrémental / Itératif
http://www.infoq.com/news/2008/01/iterating-and-incrementing
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
15
Rappels > Incrémental et Itératif
http://itsadeliverything.com/revisiting-the-iterative-incremental-mona-lisa
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE16
Retour sur la
Mise en situation
&
analyses
 L'agilité :
 facile à comprendre, difficile à mettre en œuvre
17
Analyse > Généralités
 Scrum :
 n'est pas une "méthode" mais un cadre à adapter
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
18
Analyse > Raisons d'échecs
 Très nombreuses raisons d'échec :
 Méthode trop adaptée = éloignement des valeurs et principes
 Manque de formation / d'informations (équipe et autour)
 Rôles mal définis ou mal respectés
 Mauvaise collecte des besoins
 Mauvaise gestion du "terminé"
 Facteurs humains
 etc …
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
 Et les aspects techniques !
19
Analyse > Et côté développement
 Une "vision" du produit mais pas de détails anticipés
 Besoin d'une architecture évolutive (agile)
 Plus techniques de specs techniques
 Autonomie technique, initiative, responsabilisation
 Toutes les 3 semaines, livraison d'un produit partiel et
utilisable
 Développement itératif, incrémental, et transversal
 Plus de "responsable" qualité
 Responsabilisation collective et individuelle
 La qualité devient un problème de tous les jours
 …
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
20
Analyse > Bilan
Gestion "agile" de projet  OK
Ingénierie agile  ? …
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE21
Outils et méthodes :
feuille de route
?
?
?
?
?
?
?
?
?
?
22
Feuille de route
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
Effort
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
x
 "Equipe" = Travail collaboratif :
 Equipe pluri-disciplinaire
 Le code appartient à tous, Partage du code
 Gestion centralisée, Suivi des versions
23
Partage des sources
 Logiciel de gestion de version (Version Control System) :
 Git, Mercurial, …
 Subversion (SVN), ClearCase, CVS, …
* * * * *
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
1
 Code communs et partagé :
 Ecrit par les uns, lus par les autres
 Modifié par tous
24
Règles communes
 Règles communes de codage :
 Ecriture du code, Formatage des sources, Normes de nommages
 Configurations identiques des outils (IDE)
 Outillage : Sonar peut aider à vérifier les règles communes
* * * * *
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
2
 Travail itératif en cycle court :
 Packaging et livraisons fréquentes
 Voire déploiement continue
25
Industrialisation
 Outil de build pour industrialiser et automatiser :
 Ant + Ivy
 Maven :
 Gestion précise des dépendances et des versions
 Cycle de production intrinsèque
 Nombreux plugins
 Intégration IDE et autre outils
* * * * *
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
3
 Industrialisation  versionning & dépendances :
 "Artifacts" : livrables identifiés (groupId + artifactId + version)
 "repositories" : dépôts pour récupérer et déposer des livrables
26
Dépôts (repositories)
 Gestionnaire de repositories :
 Artifactory, Nexus, Archiva
 Intérêts d'un dépôt interne :
 Proxy des dépôts publics internet
 Déploiement (Maven) de ses propres artifacts
 "Mavenisation" de livrables "non Maven"
* * * * *
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
4
 Développement "itératif" et "incrémental" :
 Développement "minimum" pour l'itération courante :
 Satisfaire les histoires de l'itération courante
 Prendre en compte la "vision" à long terme
 Suivre l'architecture "grande échelle" (modules, composants)
 Mais pas d'anticipations sur les besoins futurs
 Développements lors des itérations suivantes :
 Satisfaire les histoires de la nouvelle itération
 Modifier le code existant pour qu'il puisse recevoir les nouveautés
 Implémenter les nouvelles fonctionnalités
27
Précisions
Refactoring …
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
 Niveau 1 : "cosmétique" & lisibilité :
 Renommages, extraction de méthodes
 Suppression de variables locales, de codes inutiles, …
 Niveau 2 : "package" & testabilité :
 Extraction de classes et interfaces
 Déplacement de méthodes, …
 Niveau 3 : "architectural" & évolutivité agile
 Modification des grands principes retenus
 Révision des modules ou composants, …
Mix-IT 2013 : "Agilistes : n'oubliez pas la technique !" - Xavier NOPRE28
Refactorings
 Besoin de Refactoring, notamment niveau 1
 Prendre le moins de risque possibles …
 Respecter les Règles communes
29
Un "bon" IDE
 Un "bon" outil d'édition (IDE) :
 Eclipse, NetBeans, MSVisual Studio, IntelliJ IDEA, …
 Doit convenir à l'ensemble de l'équipe et correspondre aux
besoins
 Doit être bien configuré, pour tous les membres de l'équipe
* * * * *
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
5
 Refactoring, notamment niveau 2 :
 Ne pas casser l'existant , éviter les régressions
 Nouvelles fonctionnalités : sûr de répondre au besoin
 Productivité et qualité : tester rapidement des situations
aux limites
30
Test unitaires
automatisables
 Tests unitaires :
 Faire les "bons" tests
 Automatisables, indépendants,
rapides, …
* * * * *
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
6
 Notes
 Penser ROI !
 Voir les tests d'intégration
et tests fonctionnels
 Tests unitaires :
 "Impossible sur mon code", "mon contexte ne le permet pas", …
 Architecture et conception inadaptées
31
Code testable
 Code testable :
 Principe "1 classe 1 rôle"  architecture très découpée
 Couplage lâche
 Injection de dépendances (par framework ou manuelle)
 Interfaces & Mocks
 Apprentissage long
* * * * *
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
7
 Tests unitaires : c'est dur !
 Difficile sur du code existant, difficile à écrire après le code de
production, code non testable, …
32
TDD
 TDD = "Test Driven Development"
 Principe = Ecrire les tests avant tout code de production
("Tests first")
 Plus facile d'écrire les tests avant que après le code de prod
 Permet de valider la compréhension du besoin
 Guide vers un code forcément "testable"  design
* * * * *
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
8
 Tests : apprentissage difficile
 Besoin de fédérer une équipe pluri-disciplinaire
33
Pair-programming
 Pair-programming :
 Principe : 2 développeurs devant 1 poste de travail
 Apports :
 Entraide, cohésion d'équipe
 Partage de connaissances, transferts de compétences
 Gain de productivité, qualité, meilleures solutions
 A bon escient, à temps partiel, un peu chaque jour
* * * * *
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
9
 Les tests ne sont pas rejoués systématiquement
 Il faut livrer et packager souvent
 Voire déployer fréquemment
34
Intégration continue
 Intégration continue :
 Outils : Jenkins, Hudson, CruiseControl, Continuum, …
 Usages (pour commencer) :
 Build (compile et tests) toutes les 15'
 Build complet nocturne
 Autres opérations sur déclenchements manuels
* * * * *
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
10
Gestion de versions (Git)
Règles communes
Industrialisation (Maven)
Repositories (Artifactory)
IDE (Eclipse)
Tests unitaires
Code testable
TDD
Pair-programming
Intégration continue
35
Feuille de route
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
Effort
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
36
En résumé (technique)
Thème Conseil
Pratiques :
Règles communes, pair-programming,
coding-dojo, temps libre, …
Simple  Ne pas hésiter !
Outillage :
IDE correct, configuré et maitrisé,
gestionnaire de sources, industrialisation,
intégration continue, …
Faible investissement et bon ROI
 Investir
Tests :
Unitaires,TDD, code testable, code
propre, architecture évolutive, …
Indispensable mais nécessite temps,
patience, formation, accompagnement
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
 Je n'ai pas parlé de …
 Agilité
 = révolution culturelle de l'entreprise
 = changements des rôles et de l'organisation
 = changements des habitudes et des relations humaines
 Mais = aussi changements des pratiques et outillages techniques
37
Conclusion
 N'oubliez pas la technique ! 
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
38
Questions ?!
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE

More Related Content

What's hot

Scrum les principes de base
Scrum les principes de base Scrum les principes de base
Scrum les principes de base Sirine Barguaoui
 
Scrum - Une méthode agile sous la loupe ...
Scrum  - Une méthode agile sous la loupe ...Scrum  - Une méthode agile sous la loupe ...
Scrum - Une méthode agile sous la loupe ...Bilel McSam
 
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 scrumv2
Gestion de projets agiles avec scrumv2Gestion de projets agiles avec scrumv2
Gestion de projets agiles avec scrumv2Pierre E. NEIS
 
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
 
Mesurer scrum avec Roboscrum
Mesurer scrum avec RoboscrumMesurer scrum avec Roboscrum
Mesurer scrum avec RoboscrumPierre E. NEIS
 
Solutions Linux 2010 - Maîtrise du développement PHP
Solutions Linux 2010 - Maîtrise du développement PHPSolutions Linux 2010 - Maîtrise du développement PHP
Solutions Linux 2010 - Maîtrise du développement PHPJean-Marc Fontaine
 
Revues de code - Forum PHP 2010
Revues de code - Forum PHP 2010Revues de code - Forum PHP 2010
Revues de code - Forum PHP 2010Jean-Marc Fontaine
 
Toulouse 25 octobre 2012 : quel chemin vers l'agilité ?
Toulouse 25 octobre 2012 : quel chemin vers l'agilité ?Toulouse 25 octobre 2012 : quel chemin vers l'agilité ?
Toulouse 25 octobre 2012 : quel chemin vers l'agilité ?thierrycros
 
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
 
Du Manifeste Agile à Scrum
Du Manifeste Agile à ScrumDu Manifeste Agile à Scrum
Du Manifeste Agile à ScrumXavier Warzee
 
Agile tour 2015 alliés contre les défauts
Agile tour 2015   alliés contre les défautsAgile tour 2015   alliés contre les défauts
Agile tour 2015 alliés contre les défautsJulien Jakubowski
 
Crise agile chez les développeurs (frug agile 2020)
Crise agile chez les développeurs (frug agile 2020)Crise agile chez les développeurs (frug agile 2020)
Crise agile chez les développeurs (frug agile 2020)Guillaume Saint Etienne
 
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
 

What's hot (19)

Scrum les principes de base
Scrum les principes de base Scrum les principes de base
Scrum les principes de base
 
Scrum - Une méthode agile sous la loupe ...
Scrum  - Une méthode agile sous la loupe ...Scrum  - Une méthode agile sous la loupe ...
Scrum - Une méthode agile sous la loupe ...
 
Présentation scrum pour cours leeaarn
Présentation scrum pour cours leeaarnPrésentation scrum pour cours leeaarn
Présentation scrum pour cours leeaarn
 
Introduction scrum
Introduction scrumIntroduction scrum
Introduction scrum
 
Gestion de projets agiles avec scrumv2
Gestion de projets agiles avec scrumv2Gestion de projets agiles avec scrumv2
Gestion de projets agiles avec scrumv2
 
Scrum xp
Scrum xpScrum xp
Scrum xp
 
Gestion de projets agiles avec scrum
Gestion de projets agiles avec scrumGestion de projets agiles avec scrum
Gestion de projets agiles avec scrum
 
Genielogiciel
GenielogicielGenielogiciel
Genielogiciel
 
Mesurer scrum avec Roboscrum
Mesurer scrum avec RoboscrumMesurer scrum avec Roboscrum
Mesurer scrum avec Roboscrum
 
Solutions Linux 2010 - Maîtrise du développement PHP
Solutions Linux 2010 - Maîtrise du développement PHPSolutions Linux 2010 - Maîtrise du développement PHP
Solutions Linux 2010 - Maîtrise du développement PHP
 
20mn scrum
20mn scrum20mn scrum
20mn scrum
 
Revues de code - Forum PHP 2010
Revues de code - Forum PHP 2010Revues de code - Forum PHP 2010
Revues de code - Forum PHP 2010
 
Toulouse 25 octobre 2012 : quel chemin vers l'agilité ?
Toulouse 25 octobre 2012 : quel chemin vers l'agilité ?Toulouse 25 octobre 2012 : quel chemin vers l'agilité ?
Toulouse 25 octobre 2012 : quel chemin vers l'agilité ?
 
DevExp 2012 methodes agiles SCRUM jesnault
DevExp 2012 methodes agiles SCRUM jesnaultDevExp 2012 methodes agiles SCRUM jesnault
DevExp 2012 methodes agiles SCRUM jesnault
 
Du Manifeste Agile à Scrum
Du Manifeste Agile à ScrumDu Manifeste Agile à Scrum
Du Manifeste Agile à Scrum
 
Agile tour 2015 alliés contre les défauts
Agile tour 2015   alliés contre les défautsAgile tour 2015   alliés contre les défauts
Agile tour 2015 alliés contre les défauts
 
Crise agile chez les développeurs (frug agile 2020)
Crise agile chez les développeurs (frug agile 2020)Crise agile chez les développeurs (frug agile 2020)
Crise agile chez les développeurs (frug agile 2020)
 
Methode Agile
Methode Agile Methode Agile
Methode Agile
 
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 !
 

Viewers also liked

Dispositivos Inalambricos
Dispositivos InalambricosDispositivos Inalambricos
Dispositivos Inalambricosmarce005
 
Me tenès podrido, Argentina (y A Mí también) - Lic.Gigli Box
Me tenès podrido, Argentina (y A Mí también) - Lic.Gigli BoxMe tenès podrido, Argentina (y A Mí también) - Lic.Gigli Box
Me tenès podrido, Argentina (y A Mí también) - Lic.Gigli BoxCeleste Box
 
Moritz - das Seminarkrkodil will zu Ihnen!
Moritz - das Seminarkrkodil will zu Ihnen!Moritz - das Seminarkrkodil will zu Ihnen!
Moritz - das Seminarkrkodil will zu Ihnen!Fromm Ingo
 
La Matinale X-PRIME Groupe - Google Analytics
La Matinale X-PRIME Groupe - Google AnalyticsLa Matinale X-PRIME Groupe - Google Analytics
La Matinale X-PRIME Groupe - Google AnalyticsX-PRIME GROUPE
 
Word Media - La visibilité sur le web (référencement et moteurs de recherche)
Word Media - La visibilité sur le web (référencement et moteurs de recherche)Word Media - La visibilité sur le web (référencement et moteurs de recherche)
Word Media - La visibilité sur le web (référencement et moteurs de recherche)WordMedia
 
Word media - Présentation agence - 2011
Word media   - Présentation agence - 2011Word media   - Présentation agence - 2011
Word media - Présentation agence - 2011WordMedia
 
What's Hot ?! - Septembre 2015
 What's Hot ?! - Septembre 2015  What's Hot ?! - Septembre 2015
What's Hot ?! - Septembre 2015 onepoint x weave
 
Ausrichtung auf neue mobile Geschäftsbedürfnisse in der Stadt Winterthur
Ausrichtung auf neue mobile Geschäftsbedürfnisse in der Stadt WinterthurAusrichtung auf neue mobile Geschäftsbedürfnisse in der Stadt Winterthur
Ausrichtung auf neue mobile Geschäftsbedürfnisse in der Stadt WinterthurChristoph Zech
 
No dejes tu fe en el closet
No dejes tu fe en el closetNo dejes tu fe en el closet
No dejes tu fe en el closetFrank Pool
 

Viewers also liked (20)

Sistemas de rep pp
Sistemas de rep ppSistemas de rep pp
Sistemas de rep pp
 
Modulo i. iniciacion a la informatica
Modulo i. iniciacion a la informaticaModulo i. iniciacion a la informatica
Modulo i. iniciacion a la informatica
 
Ich Und Du
Ich Und DuIch Und Du
Ich Und Du
 
Monostorok
MonostorokMonostorok
Monostorok
 
Dispositivos Inalambricos
Dispositivos InalambricosDispositivos Inalambricos
Dispositivos Inalambricos
 
Me tenès podrido, Argentina (y A Mí también) - Lic.Gigli Box
Me tenès podrido, Argentina (y A Mí también) - Lic.Gigli BoxMe tenès podrido, Argentina (y A Mí también) - Lic.Gigli Box
Me tenès podrido, Argentina (y A Mí también) - Lic.Gigli Box
 
Macaron Linked In
Macaron Linked InMacaron Linked In
Macaron Linked In
 
Moritz - das Seminarkrkodil will zu Ihnen!
Moritz - das Seminarkrkodil will zu Ihnen!Moritz - das Seminarkrkodil will zu Ihnen!
Moritz - das Seminarkrkodil will zu Ihnen!
 
La Matinale X-PRIME Groupe - Google Analytics
La Matinale X-PRIME Groupe - Google AnalyticsLa Matinale X-PRIME Groupe - Google Analytics
La Matinale X-PRIME Groupe - Google Analytics
 
NSK
NSKNSK
NSK
 
¡Que Buena Idea!
¡Que Buena Idea!¡Que Buena Idea!
¡Que Buena Idea!
 
Webreferenzen09
Webreferenzen09Webreferenzen09
Webreferenzen09
 
Word Media - La visibilité sur le web (référencement et moteurs de recherche)
Word Media - La visibilité sur le web (référencement et moteurs de recherche)Word Media - La visibilité sur le web (référencement et moteurs de recherche)
Word Media - La visibilité sur le web (référencement et moteurs de recherche)
 
Word media - Présentation agence - 2011
Word media   - Présentation agence - 2011Word media   - Présentation agence - 2011
Word media - Présentation agence - 2011
 
What's Hot ?! - Septembre 2015
 What's Hot ?! - Septembre 2015  What's Hot ?! - Septembre 2015
What's Hot ?! - Septembre 2015
 
Perlas
PerlasPerlas
Perlas
 
PresentacióN1
PresentacióN1PresentacióN1
PresentacióN1
 
Te quiero decir que
Te quiero decir queTe quiero decir que
Te quiero decir que
 
Ausrichtung auf neue mobile Geschäftsbedürfnisse in der Stadt Winterthur
Ausrichtung auf neue mobile Geschäftsbedürfnisse in der Stadt WinterthurAusrichtung auf neue mobile Geschäftsbedürfnisse in der Stadt Winterthur
Ausrichtung auf neue mobile Geschäftsbedürfnisse in der Stadt Winterthur
 
No dejes tu fe en el closet
No dejes tu fe en el closetNo dejes tu fe en el closet
No dejes tu fe en el closet
 

Similar to Mix-IT 2013 - Agilistes : n'oubliez pas la technique - mix-it 2013

Tester du legacy code, mission impossible ?
Tester du legacy code, mission impossible ?Tester du legacy code, mission impossible ?
Tester du legacy code, mission impossible ?CGI Québec Formation
 
AT2010 Mise place d'un projet Agile
AT2010 Mise place d'un projet AgileAT2010 Mise place d'un projet Agile
AT2010 Mise place d'un projet AgileNormandy JUG
 
presentationSCRUM.pptx
presentationSCRUM.pptxpresentationSCRUM.pptx
presentationSCRUM.pptxFaouziRBEIHI
 
a Supply Chain a pour mission de gérer de bout en bout les flux
a Supply Chain a pour mission de gérer de bout en bout les fluxa Supply Chain a pour mission de gérer de bout en bout les flux
a Supply Chain a pour mission de gérer de bout en bout les fluxDanielMohamed4
 
20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyonClement Bouillier
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfboulonvert
 
Développement en méthode agile
Développement en méthode agileDéveloppement en méthode agile
Développement en méthode agilelaurent bristiel
 
Le rôle de l’architecte Agile - Mathieu Boisvert
Le rôle de l’architecte Agile - Mathieu BoisvertLe rôle de l’architecte Agile - Mathieu Boisvert
Le rôle de l’architecte Agile - Mathieu BoisvertPyxis Technologies
 
Introduction a l_agilite_iut_lyon_1_decembre2011
Introduction a l_agilite_iut_lyon_1_decembre2011Introduction a l_agilite_iut_lyon_1_decembre2011
Introduction a l_agilite_iut_lyon_1_decembre2011agnes_crepet
 
Agile Data Warehousing - 7 pillars - Procima Experts
Agile Data Warehousing - 7 pillars - Procima ExpertsAgile Data Warehousing - 7 pillars - Procima Experts
Agile Data Warehousing - 7 pillars - Procima ExpertsMarc-Eric LaRocque
 
Human Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDDHuman Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDDXavier NOPRE
 
Cleancode / Tocea / Introduction
Cleancode / Tocea / IntroductionCleancode / Tocea / Introduction
Cleancode / Tocea / IntroductionSylvain Leroy
 
Agilite togo jug_final
Agilite togo jug_finalAgilite togo jug_final
Agilite togo jug_finalagnes_crepet
 
Radical Quality From Toyota to Tech - Devoxx France.pptx
Radical Quality From Toyota to Tech - Devoxx France.pptxRadical Quality From Toyota to Tech - Devoxx France.pptx
Radical Quality From Toyota to Tech - Devoxx France.pptxFlavian Hautbois
 
La revue de code : facile !
La revue de code : facile !La revue de code : facile !
La revue de code : facile !Lucian Precup
 
Le métier de Product Owner
Le métier de Product OwnerLe métier de Product Owner
Le métier de Product OwnerFlorent Boyer
 

Similar to Mix-IT 2013 - Agilistes : n'oubliez pas la technique - mix-it 2013 (20)

Tester du legacy code, mission impossible ?
Tester du legacy code, mission impossible ?Tester du legacy code, mission impossible ?
Tester du legacy code, mission impossible ?
 
AT2010 Mise place d'un projet Agile
AT2010 Mise place d'un projet AgileAT2010 Mise place d'un projet Agile
AT2010 Mise place d'un projet Agile
 
presentationSCRUM.pptx
presentationSCRUM.pptxpresentationSCRUM.pptx
presentationSCRUM.pptx
 
a Supply Chain a pour mission de gérer de bout en bout les flux
a Supply Chain a pour mission de gérer de bout en bout les fluxa Supply Chain a pour mission de gérer de bout en bout les flux
a Supply Chain a pour mission de gérer de bout en bout les flux
 
20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyon
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
 
Développement en méthode agile
Développement en méthode agileDéveloppement en méthode agile
Développement en méthode agile
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
 
Lunch learn 5 sep2013
Lunch learn 5 sep2013Lunch learn 5 sep2013
Lunch learn 5 sep2013
 
Le rôle de l’architecte Agile - Mathieu Boisvert
Le rôle de l’architecte Agile - Mathieu BoisvertLe rôle de l’architecte Agile - Mathieu Boisvert
Le rôle de l’architecte Agile - Mathieu Boisvert
 
Introduction a l_agilite_iut_lyon_1_decembre2011
Introduction a l_agilite_iut_lyon_1_decembre2011Introduction a l_agilite_iut_lyon_1_decembre2011
Introduction a l_agilite_iut_lyon_1_decembre2011
 
Agile Data Warehousing - 7 pillars - Procima Experts
Agile Data Warehousing - 7 pillars - Procima ExpertsAgile Data Warehousing - 7 pillars - Procima Experts
Agile Data Warehousing - 7 pillars - Procima Experts
 
Human Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDDHuman Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDD
 
Cleancode / Tocea / Introduction
Cleancode / Tocea / IntroductionCleancode / Tocea / Introduction
Cleancode / Tocea / Introduction
 
Agilite togo jug_final
Agilite togo jug_finalAgilite togo jug_final
Agilite togo jug_final
 
Radical Quality From Toyota to Tech - Devoxx France.pptx
Radical Quality From Toyota to Tech - Devoxx France.pptxRadical Quality From Toyota to Tech - Devoxx France.pptx
Radical Quality From Toyota to Tech - Devoxx France.pptx
 
Scrum@epitech
Scrum@epitechScrum@epitech
Scrum@epitech
 
La revue de code : facile !
La revue de code : facile !La revue de code : facile !
La revue de code : facile !
 
Agile
AgileAgile
Agile
 
Le métier de Product Owner
Le métier de Product OwnerLe métier de Product Owner
Le métier de Product Owner
 

Mix-IT 2013 - Agilistes : n'oubliez pas la technique - mix-it 2013

  • 1. Agilistes : n'oubliez pas la technique ! Xavier NOPRE – 25/04/2013
  • 2. Agilistes : n'oubliez pas la technique ! - Xavier NOPRE2 Préambule
  • 3.  Xavier NOPRE :  Développeur logiciel Java &Web passionné depuis ~ 20 ans  Pratique et partage l’agilité depuis 2007  Indépendant. Missions :  Développements sur mesure et accompagnement de projet  En mode agile  Coaching en ingénierie agile, agilité et Scrum Agilistes : n'oubliez pas la technique ! - Xavier NOPRE3 Qui suis-je ? @xnopre xnopre.blogspot.com
  • 4.  Moi :  Introduction & mise en situation  Rappels sur l'agilité & Scrum  Analyse d'une situation  Exploration des outillages et méthodes  Conclusion  Nous :  Echanges autour de questions/réponses Mix-IT 2013 : "Agilistes : n'oubliez pas la technique !" - Xavier NOPRE5 Au programme
  • 5. Agilistes : n'oubliez pas la technique ! - Xavier NOPRE6 Introduction
  • 6.  Pourquoi cette session ?  Constat : la technique est négligée dans les transitions agiles  Pour qui ?  Tous profils et tous niveaux, sauf …  Mes objectifs :  Pointer les difficultés, mettre en garde, être pratique, répondre à des interrogations, …  Contexte technique :  Développement logiciel & écosystème Java 7 Contexte pour cette session ? Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 7.  "Ensemble de pratiques et d'outillages du génie logiciel permettant de faire du développement agile" (X. N.)  Tout ce qui est lié à la technique et aux pratiques :  Tests unitaires  TDD  Intégration continue  Industrialisation  … 8 "Ingénierie agile" : késako ? Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 8. Agilistes : n'oubliez pas la technique ! - Xavier NOPRE9 Mise en situation
  • 9.  Contexte :  Nouveau projet  Migration vers l'agilité  Scrum est en place : Choix des acteurs PO et SM Formations et coaching Equipe stable et informée Supports : backlogs, scrum board, … Cérémonies : sprint planning, revue, démo, rétro 10 Situation : prenons une équipe … Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 10. Agilistes : n'oubliez pas la technique ! - Xavier NOPRE11 Rappels sur l'agilité & Scrum
  • 11. 12 Rappels > Cycle Scrum Vision Carnet de produit Carnet d'itération Itération 2 à 4 semaines 1 jour Produit partiel Potentiellement utilisable Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 12. 13 Rappels > Cycle Scrum Specs Archi Développements Tests • Méthodes séquentielle classique : • Scrum : Sprint 1  Specs  Archi  Dévt  Tests Sprint 2  Specs  Archi  Dévt  Tests Sprint 3  Specs  Archi  Dévt  Tests Sprint 4  Specs  Archi  Dévt  Tests ... Temps BDD Serveur IHM Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 13. 14 Rappels > Incrémental / Itératif http://www.infoq.com/news/2008/01/iterating-and-incrementing Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 14. 15 Rappels > Incrémental et Itératif http://itsadeliverything.com/revisiting-the-iterative-incremental-mona-lisa Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 15. Agilistes : n'oubliez pas la technique ! - Xavier NOPRE16 Retour sur la Mise en situation & analyses
  • 16.  L'agilité :  facile à comprendre, difficile à mettre en œuvre 17 Analyse > Généralités  Scrum :  n'est pas une "méthode" mais un cadre à adapter Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 17. 18 Analyse > Raisons d'échecs  Très nombreuses raisons d'échec :  Méthode trop adaptée = éloignement des valeurs et principes  Manque de formation / d'informations (équipe et autour)  Rôles mal définis ou mal respectés  Mauvaise collecte des besoins  Mauvaise gestion du "terminé"  Facteurs humains  etc … Agilistes : n'oubliez pas la technique ! - Xavier NOPRE  Et les aspects techniques !
  • 18. 19 Analyse > Et côté développement  Une "vision" du produit mais pas de détails anticipés  Besoin d'une architecture évolutive (agile)  Plus techniques de specs techniques  Autonomie technique, initiative, responsabilisation  Toutes les 3 semaines, livraison d'un produit partiel et utilisable  Développement itératif, incrémental, et transversal  Plus de "responsable" qualité  Responsabilisation collective et individuelle  La qualité devient un problème de tous les jours  … Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 19. 20 Analyse > Bilan Gestion "agile" de projet  OK Ingénierie agile  ? … Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 20. Agilistes : n'oubliez pas la technique ! - Xavier NOPRE21 Outils et méthodes : feuille de route
  • 21. ? ? ? ? ? ? ? ? ? ? 22 Feuille de route * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Effort Agilistes : n'oubliez pas la technique ! - Xavier NOPRE x
  • 22.  "Equipe" = Travail collaboratif :  Equipe pluri-disciplinaire  Le code appartient à tous, Partage du code  Gestion centralisée, Suivi des versions 23 Partage des sources  Logiciel de gestion de version (Version Control System) :  Git, Mercurial, …  Subversion (SVN), ClearCase, CVS, … * * * * * Agilistes : n'oubliez pas la technique ! - Xavier NOPRE 1
  • 23.  Code communs et partagé :  Ecrit par les uns, lus par les autres  Modifié par tous 24 Règles communes  Règles communes de codage :  Ecriture du code, Formatage des sources, Normes de nommages  Configurations identiques des outils (IDE)  Outillage : Sonar peut aider à vérifier les règles communes * * * * * Agilistes : n'oubliez pas la technique ! - Xavier NOPRE 2
  • 24.  Travail itératif en cycle court :  Packaging et livraisons fréquentes  Voire déploiement continue 25 Industrialisation  Outil de build pour industrialiser et automatiser :  Ant + Ivy  Maven :  Gestion précise des dépendances et des versions  Cycle de production intrinsèque  Nombreux plugins  Intégration IDE et autre outils * * * * * Agilistes : n'oubliez pas la technique ! - Xavier NOPRE 3
  • 25.  Industrialisation  versionning & dépendances :  "Artifacts" : livrables identifiés (groupId + artifactId + version)  "repositories" : dépôts pour récupérer et déposer des livrables 26 Dépôts (repositories)  Gestionnaire de repositories :  Artifactory, Nexus, Archiva  Intérêts d'un dépôt interne :  Proxy des dépôts publics internet  Déploiement (Maven) de ses propres artifacts  "Mavenisation" de livrables "non Maven" * * * * * Agilistes : n'oubliez pas la technique ! - Xavier NOPRE 4
  • 26.  Développement "itératif" et "incrémental" :  Développement "minimum" pour l'itération courante :  Satisfaire les histoires de l'itération courante  Prendre en compte la "vision" à long terme  Suivre l'architecture "grande échelle" (modules, composants)  Mais pas d'anticipations sur les besoins futurs  Développements lors des itérations suivantes :  Satisfaire les histoires de la nouvelle itération  Modifier le code existant pour qu'il puisse recevoir les nouveautés  Implémenter les nouvelles fonctionnalités 27 Précisions Refactoring … Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 27.  Niveau 1 : "cosmétique" & lisibilité :  Renommages, extraction de méthodes  Suppression de variables locales, de codes inutiles, …  Niveau 2 : "package" & testabilité :  Extraction de classes et interfaces  Déplacement de méthodes, …  Niveau 3 : "architectural" & évolutivité agile  Modification des grands principes retenus  Révision des modules ou composants, … Mix-IT 2013 : "Agilistes : n'oubliez pas la technique !" - Xavier NOPRE28 Refactorings
  • 28.  Besoin de Refactoring, notamment niveau 1  Prendre le moins de risque possibles …  Respecter les Règles communes 29 Un "bon" IDE  Un "bon" outil d'édition (IDE) :  Eclipse, NetBeans, MSVisual Studio, IntelliJ IDEA, …  Doit convenir à l'ensemble de l'équipe et correspondre aux besoins  Doit être bien configuré, pour tous les membres de l'équipe * * * * * Agilistes : n'oubliez pas la technique ! - Xavier NOPRE 5
  • 29.  Refactoring, notamment niveau 2 :  Ne pas casser l'existant , éviter les régressions  Nouvelles fonctionnalités : sûr de répondre au besoin  Productivité et qualité : tester rapidement des situations aux limites 30 Test unitaires automatisables  Tests unitaires :  Faire les "bons" tests  Automatisables, indépendants, rapides, … * * * * * Agilistes : n'oubliez pas la technique ! - Xavier NOPRE 6  Notes  Penser ROI !  Voir les tests d'intégration et tests fonctionnels
  • 30.  Tests unitaires :  "Impossible sur mon code", "mon contexte ne le permet pas", …  Architecture et conception inadaptées 31 Code testable  Code testable :  Principe "1 classe 1 rôle"  architecture très découpée  Couplage lâche  Injection de dépendances (par framework ou manuelle)  Interfaces & Mocks  Apprentissage long * * * * * Agilistes : n'oubliez pas la technique ! - Xavier NOPRE 7
  • 31.  Tests unitaires : c'est dur !  Difficile sur du code existant, difficile à écrire après le code de production, code non testable, … 32 TDD  TDD = "Test Driven Development"  Principe = Ecrire les tests avant tout code de production ("Tests first")  Plus facile d'écrire les tests avant que après le code de prod  Permet de valider la compréhension du besoin  Guide vers un code forcément "testable"  design * * * * * Agilistes : n'oubliez pas la technique ! - Xavier NOPRE 8
  • 32.  Tests : apprentissage difficile  Besoin de fédérer une équipe pluri-disciplinaire 33 Pair-programming  Pair-programming :  Principe : 2 développeurs devant 1 poste de travail  Apports :  Entraide, cohésion d'équipe  Partage de connaissances, transferts de compétences  Gain de productivité, qualité, meilleures solutions  A bon escient, à temps partiel, un peu chaque jour * * * * * Agilistes : n'oubliez pas la technique ! - Xavier NOPRE 9
  • 33.  Les tests ne sont pas rejoués systématiquement  Il faut livrer et packager souvent  Voire déployer fréquemment 34 Intégration continue  Intégration continue :  Outils : Jenkins, Hudson, CruiseControl, Continuum, …  Usages (pour commencer) :  Build (compile et tests) toutes les 15'  Build complet nocturne  Autres opérations sur déclenchements manuels * * * * * Agilistes : n'oubliez pas la technique ! - Xavier NOPRE 10
  • 34. Gestion de versions (Git) Règles communes Industrialisation (Maven) Repositories (Artifactory) IDE (Eclipse) Tests unitaires Code testable TDD Pair-programming Intégration continue 35 Feuille de route * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Effort Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 35. 36 En résumé (technique) Thème Conseil Pratiques : Règles communes, pair-programming, coding-dojo, temps libre, … Simple  Ne pas hésiter ! Outillage : IDE correct, configuré et maitrisé, gestionnaire de sources, industrialisation, intégration continue, … Faible investissement et bon ROI  Investir Tests : Unitaires,TDD, code testable, code propre, architecture évolutive, … Indispensable mais nécessite temps, patience, formation, accompagnement Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 36.  Je n'ai pas parlé de …  Agilité  = révolution culturelle de l'entreprise  = changements des rôles et de l'organisation  = changements des habitudes et des relations humaines  Mais = aussi changements des pratiques et outillages techniques 37 Conclusion  N'oubliez pas la technique !  Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 37. 38 Questions ?! Agilistes : n'oubliez pas la technique ! - Xavier NOPRE