SlideShare a Scribd company logo
1 of 43
Download to read offline
Agilistes :
n'oubliez pas la technique !
par Xavier NOPRE
23/05/2013 - 16h-17h - Salle 6
#AgileFrance
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE2
Préambule
Xavier NOPRE :
Développeur Agiliste Indépendant
 Développeur :
 Applications Java-WEB SaaS sur mesure
 Clients finaux
 Contrat agile
 Formations, coaching, accompagnement :
 Ingénierie agile, agilité, Scrum
 Développement Java & WEB (HTML, CSS, JS, …)
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE3
Qui suis-je ?
@xnopre xnopre.blogspot.com
 Agilité : novice ou expert ?
1. Je découvre, je n'y connais rien
2. Je connais les bases, je ne pratique pas encore
3. Je pratique un peu
4. Je pratique régulièrement (ex: un des rôles de Scrum)
5. Je maitrise, j'explique, je forme et accompagne
 Profils :
 Développeur
 ScrumMaster ou Product Owner
 Manager
 Formateur / coach
 Autre ?
4
Et vous ?
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
 Moi :
 Introduction
 Rappels sur l'agilité & Scrum
 Mise en situation et Analyse
 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
 Basée sur :
 Mon expérience personnelle
 Accompagnement d'équipes
 Constat :
 La technique est négligée dans les transitions agiles
 Contexte technique :
 Développement logiciel & écosystème Java
Sur mon blog : "Développement logiciel agile : informations sur l'outillage" :
http://xnopre.blogspot.fr/2012/09/developpement-logiciel-agile_13.html
7
Contexte pour cette session ?
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
coach
dev
"Ensemble de pratiques et d'outillages
dans l'édition logicielle
permettant de faire du développement agile"
Xavier NOPRE
8
"Ingénierie agile" : késako ?
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE9
Rappels sur l'agilité & Scrum
10
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
!!! !!!
!!!
11
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
12
Rappels > Incrémental / Itératif 1/2
http://www.infoq.com/news/2008/01/iterating-and-incrementing
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
13
Rappels > Incrémental et Itératif 2/2
http://itsadeliverything.com/revisiting-the-iterative-incremental-mona-lisa
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE14
Mise en situation
&
analyses
 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
15
Situation : prenons une équipe …
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
 L'agilité :
 facile à comprendre, difficile à mettre en œuvre
16
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
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 …
 etc …
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
 Et les aspects techniques !
18
Analyse > Et côté développement 1/3
 Une "vision" du produit mais pas de détails anticipés
 Plus de cahier des charges (initial et fixe)
 Plus de specs détaillées
 
 Ne pas anticiper les "détails"
 Besoin d'une conception évolutive (agile)
 Faire émerger une architecture
 Pas de régressions
 …
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
19
Analyse > Et côté développement 2/3
 Toutes les 3 semaines, livraison d'un produit partiel et
utilisable
 
 Développement incrémental :
  on avance par petits blocs fonctionnels
 Développement itératif :
  un bloc fonctionnel est finalisé sur plusieurs itérations
 Développement transversal
  quotidiennement, on implémente sur toutes les couches
 Livraisons fréquentes
 Packaging facile
 …
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
20
Analyse > Et côté développement 3/3
 Equipe auto-organisée et pluri-disciplinaire
 Plus de chef,
 "Plus de responsable"
 Plus de spécialistes (technos, couches, qualité, tests, …)
 
 Autonomie technique & initiatives
 Responsabilisation collective et individuelle
 Choix techniques et technologiques
 La qualité devient un problème de tous les jours
 …
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
21
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 NOPRE22
Outils et méthodes :
feuille de route
Que puis-je apporter à mon équipe "qui n'a rien" ?

Choix d'une dizaine d'outils et pratiques "de base"
Mix-IT 2013 : "Agilistes : n'oubliez pas la technique !" - Xavier NOPRE23
Feuille de route : objectif
coachdev
?
?
?
?
?
?
?
?
?
?
24
Feuille de route : format
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
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
25
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
coachdev
 Code communs et partagé :
 Ecrit par les uns, lus par les autres
 Modifié par tous
26
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
coachdev
 Travail itératif en cycle court :
 Packaging et livraisons fréquentes
 Voire déploiement continue
27
Industrialisation/
Automatisation
 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
coachdev
 Industrialisation  versionning & dépendances :
 "Artifacts" : livrables identifiés (groupId + artifactId + version)
 "repositories" : dépôts pour récupérer et déposer des livrables
28
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
coachdev
Mix-IT 2013 : "Agilistes : n'oubliez pas la technique !" - Xavier NOPRE29
Pause "précisions"
 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
30
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 NOPRE31
Refactorings
Mix-IT 2013 : "Agilistes : n'oubliez pas la technique !" - Xavier NOPRE32
On reprend …
 Besoin de Refactoring, notamment niveau 1
 Prendre le moins de risque possibles …
 Respecter les Règles communes
33
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 ( IDE unique …)
 Doit être bien configuré, pour tous les membres de l'équipe
* * * * *
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
5
coachdev
 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
34
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
coachdev
 Tests unitaires :
 "Impossible sur mon code", "mon contexte ne le permet pas", …
 Architecture et conception inadaptées
35
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
coachdev
 Tests unitaires : c'est dur !
 Difficile sur du code existant, difficile à écrire après le code de
production, code non testable, …
36
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
coachdev
 Tests : apprentissage difficile
 Besoin de fédérer une équipe pluri-disciplinaire
37
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
coachdev
 Les tests ne sont pas rejoués systématiquement
 Il faut livrer et packager souvent
 Voire déployer fréquemment
38
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
coachdev
Gestion de versions (Git)
Règles communes
Industrialisation (Maven)
Repositories (Artifactory)
IDE (Eclipse)
Tests unitaires
Code testable
TDD
Pair-programming
Intégration continue
39
Feuille de route
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
Effort
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
40
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
 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
41
Conclusion
 N'oubliez pas la technique ! 
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
 Je n'ai pas parlé de :
 Revue de code
 Coding-dojo (Kata et Randori)
 Frameworks et Librairies
 Temps libre R&D
 Prototype vs Produit
 Autres langages et autres éco-système (ex : JavaScript)
 Bug tracker
 Réduction dette technique
 …
42
Et encore …
Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
43
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
 
Présentation scrum pour cours leeaarn
Présentation scrum pour cours leeaarnPrésentation scrum pour cours leeaarn
Présentation scrum pour cours leeaarnGautier Pialat
 
Appréhender son premier Design Sprint
Appréhender son premier Design SprintAppréhender son premier Design Sprint
Appréhender son premier Design SprintSebastien Bonneval
 
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
 
Faites carburer vos associations au lean et à l’agile - REWICS 2014 - Michel ...
Faites carburer vos associations au lean et à l’agile - REWICS 2014 - Michel ...Faites carburer vos associations au lean et à l’agile - REWICS 2014 - Michel ...
Faites carburer vos associations au lean et à l’agile - REWICS 2014 - Michel ...Michel Duchateau
 
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
 
Quelques conseils sur la migration des modules à Drupal 8. Étude de cas: Node...
Quelques conseils sur la migration des modules à Drupal 8. Étude de cas: Node...Quelques conseils sur la migration des modules à Drupal 8. Étude de cas: Node...
Quelques conseils sur la migration des modules à Drupal 8. Étude de cas: Node...Adrian CID ALMAGUER
 
Quel chemin vers l'agilité ?
Quel chemin vers l'agilité ?Quel chemin vers l'agilité ?
Quel chemin vers l'agilité ?thierrycros
 
Du Manifeste Agile à Scrum
Du Manifeste Agile à ScrumDu Manifeste Agile à Scrum
Du Manifeste Agile à ScrumXavier Warzee
 
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
 
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
 

What's hot (15)

Scrum les principes de base
Scrum les principes de base Scrum les principes de base
Scrum les principes de base
 
Méthodes agiles & Scrum
Méthodes agiles & ScrumMéthodes agiles & Scrum
Méthodes agiles & Scrum
 
Présentation scrum pour cours leeaarn
Présentation scrum pour cours leeaarnPrésentation scrum pour cours leeaarn
Présentation scrum pour cours leeaarn
 
Appréhender son premier Design Sprint
Appréhender son premier Design SprintAppréhender son premier Design Sprint
Appréhender son premier Design Sprint
 
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
 
Faites carburer vos associations au lean et à l’agile - REWICS 2014 - Michel ...
Faites carburer vos associations au lean et à l’agile - REWICS 2014 - Michel ...Faites carburer vos associations au lean et à l’agile - REWICS 2014 - Michel ...
Faites carburer vos associations au lean et à l’agile - REWICS 2014 - Michel ...
 
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 ...
 
Quelques conseils sur la migration des modules à Drupal 8. Étude de cas: Node...
Quelques conseils sur la migration des modules à Drupal 8. Étude de cas: Node...Quelques conseils sur la migration des modules à Drupal 8. Étude de cas: Node...
Quelques conseils sur la migration des modules à Drupal 8. Étude de cas: Node...
 
Quel chemin vers l'agilité ?
Quel chemin vers l'agilité ?Quel chemin vers l'agilité ?
Quel chemin vers l'agilité ?
 
Du Manifeste Agile à Scrum
Du Manifeste Agile à ScrumDu Manifeste Agile à Scrum
Du Manifeste Agile à Scrum
 
Introduction scrum
Introduction scrumIntroduction scrum
Introduction scrum
 
Genielogiciel
GenielogicielGenielogiciel
Genielogiciel
 
Compte-rendu Agile Tour 2014 à Lille
Compte-rendu Agile Tour 2014 à LilleCompte-rendu Agile Tour 2014 à Lille
Compte-rendu Agile Tour 2014 à Lille
 
DevExp 2012 methodes agiles SCRUM jesnault
DevExp 2012 methodes agiles SCRUM jesnaultDevExp 2012 methodes agiles SCRUM jesnault
DevExp 2012 methodes agiles SCRUM jesnault
 
Gestion de projets agiles avec scrumv2
Gestion de projets agiles avec scrumv2Gestion de projets agiles avec scrumv2
Gestion de projets agiles avec scrumv2
 

Viewers also liked

Ger Ks3 Holiday Perfect Tense Jw
Ger Ks3 Holiday Perfect Tense JwGer Ks3 Holiday Perfect Tense Jw
Ger Ks3 Holiday Perfect Tense JwPGCEMaster
 
Pfingsten der heilige geist
Pfingsten der heilige geistPfingsten der heilige geist
Pfingsten der heilige geistYPEPTH
 
Datos tambo promedio
Datos tambo promedioDatos tambo promedio
Datos tambo promedioWalter
 
El alineamiento nvo
El alineamiento nvoEl alineamiento nvo
El alineamiento nvoangiesalgado
 
Personal 2010 Präsentation
Personal 2010 PräsentationPersonal 2010 Präsentation
Personal 2010 PräsentationXING AG
 
Herraminetas 2.0 en educación digital
Herraminetas 2.0 en educación digitalHerraminetas 2.0 en educación digital
Herraminetas 2.0 en educación digitalGuadalinfo Almensilla
 
RTS - Guide Facebook Timeline
RTS - Guide Facebook TimelineRTS - Guide Facebook Timeline
RTS - Guide Facebook TimelineYan Luong
 
La Farsa De La Morsa (para IAEJP-2009)
La Farsa De La Morsa (para IAEJP-2009)La Farsa De La Morsa (para IAEJP-2009)
La Farsa De La Morsa (para IAEJP-2009)Celeste Box
 
Abraxsis der jen (catherine)
Abraxsis der jen  (catherine)Abraxsis der jen  (catherine)
Abraxsis der jen (catherine)Catherine Dewilde
 
La Foto De La Verdadera Soledad...
La Foto De La Verdadera Soledad...La Foto De La Verdadera Soledad...
La Foto De La Verdadera Soledad...hojitadepapel
 
Nordrhein Westfalen
Nordrhein WestfalenNordrhein Westfalen
Nordrhein WestfalenYPEPTH
 

Viewers also liked (20)

Ger Ks3 Holiday Perfect Tense Jw
Ger Ks3 Holiday Perfect Tense JwGer Ks3 Holiday Perfect Tense Jw
Ger Ks3 Holiday Perfect Tense Jw
 
Pfingsten der heilige geist
Pfingsten der heilige geistPfingsten der heilige geist
Pfingsten der heilige geist
 
Presentation
PresentationPresentation
Presentation
 
Québec4
Québec4Québec4
Québec4
 
Datos tambo promedio
Datos tambo promedioDatos tambo promedio
Datos tambo promedio
 
Un dia cordoba fue romana
Un dia cordoba fue romanaUn dia cordoba fue romana
Un dia cordoba fue romana
 
Tunisia on Rails 2010
Tunisia on Rails 2010Tunisia on Rails 2010
Tunisia on Rails 2010
 
El alineamiento nvo
El alineamiento nvoEl alineamiento nvo
El alineamiento nvo
 
En un mercado_persa
En un mercado_persaEn un mercado_persa
En un mercado_persa
 
Personal 2010 Präsentation
Personal 2010 PräsentationPersonal 2010 Präsentation
Personal 2010 Präsentation
 
Herraminetas 2.0 en educación digital
Herraminetas 2.0 en educación digitalHerraminetas 2.0 en educación digital
Herraminetas 2.0 en educación digital
 
PresentacióN1
PresentacióN1PresentacióN1
PresentacióN1
 
RTS - Guide Facebook Timeline
RTS - Guide Facebook TimelineRTS - Guide Facebook Timeline
RTS - Guide Facebook Timeline
 
Carrière
CarrièreCarrière
Carrière
 
La Farsa De La Morsa (para IAEJP-2009)
La Farsa De La Morsa (para IAEJP-2009)La Farsa De La Morsa (para IAEJP-2009)
La Farsa De La Morsa (para IAEJP-2009)
 
Abraxsis der jen (catherine)
Abraxsis der jen  (catherine)Abraxsis der jen  (catherine)
Abraxsis der jen (catherine)
 
Plaquette audimut
Plaquette audimutPlaquette audimut
Plaquette audimut
 
La Foto De La Verdadera Soledad...
La Foto De La Verdadera Soledad...La Foto De La Verdadera Soledad...
La Foto De La Verdadera Soledad...
 
Nordrhein Westfalen
Nordrhein WestfalenNordrhein Westfalen
Nordrhein Westfalen
 
Amazing Igrejas Russas
Amazing   Igrejas RussasAmazing   Igrejas Russas
Amazing Igrejas Russas
 

Similar to Agilistes : n'oubliez pas la technique ! - Agile France - 23/05/2013

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
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfboulonvert
 
Agile 2014 : du Manifeste en 2001 à une définition actualisée de l'agilité.
Agile 2014 : du Manifeste en 2001 à une définition actualisée de l'agilité.Agile 2014 : du Manifeste en 2001 à une définition actualisée de l'agilité.
Agile 2014 : du Manifeste en 2001 à une définition actualisée de l'agilité.Thierry Gabriel Cros
 
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
 
Optimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJSOptimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJSMicrosoft
 
Rex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimRex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimLaurent Broudoux
 
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
 
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
 
Darwin appliqué à LabVIEW : l’évolution de la gestion des données
Darwin appliqué à LabVIEW : l’évolution de la gestion des donnéesDarwin appliqué à LabVIEW : l’évolution de la gestion des données
Darwin appliqué à LabVIEW : l’évolution de la gestion des donnéesLuc Desruelle
 
Introduction à l'agilité
Introduction à l'agilitéIntroduction à l'agilité
Introduction à l'agilitéAlexis KOALLA
 
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
 
Développement en méthode agile
Développement en méthode agileDéveloppement en méthode agile
Développement en méthode agilelaurent bristiel
 
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
 
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
 
SCRUM et KANBAN - Agile Grenoble 2011
SCRUM et KANBAN - Agile Grenoble 2011SCRUM et KANBAN - Agile Grenoble 2011
SCRUM et KANBAN - Agile Grenoble 2011Christophe NEY
 
Patterns Agiles avec Visual Studio 2012 et TFS 2012
Patterns Agiles avec Visual Studio 2012 et TFS 2012Patterns Agiles avec Visual Studio 2012 et TFS 2012
Patterns Agiles avec Visual Studio 2012 et TFS 2012Microsoft
 

Similar to Agilistes : n'oubliez pas la technique ! - Agile France - 23/05/2013 (20)

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
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
 
Agile 2014 : du Manifeste en 2001 à une définition actualisée de l'agilité.
Agile 2014 : du Manifeste en 2001 à une définition actualisée de l'agilité.Agile 2014 : du Manifeste en 2001 à une définition actualisée de l'agilité.
Agile 2014 : du Manifeste en 2001 à une définition actualisée de l'agilité.
 
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
 
Optimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJSOptimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJS
 
Rex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimRex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - Ensim
 
Lunch learn 5 sep2013
Lunch learn 5 sep2013Lunch learn 5 sep2013
Lunch learn 5 sep2013
 
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
 
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
 
Darwin appliqué à LabVIEW : l’évolution de la gestion des données
Darwin appliqué à LabVIEW : l’évolution de la gestion des donnéesDarwin appliqué à LabVIEW : l’évolution de la gestion des données
Darwin appliqué à LabVIEW : l’évolution de la gestion des données
 
Introduction à l'agilité
Introduction à l'agilitéIntroduction à l'agilité
Introduction à l'agilité
 
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
 
Développement en méthode agile
Développement en méthode agileDéveloppement en méthode agile
Développement en méthode agile
 
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
 
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
 
SCRUM et KANBAN - Agile Grenoble 2011
SCRUM et KANBAN - Agile Grenoble 2011SCRUM et KANBAN - Agile Grenoble 2011
SCRUM et KANBAN - Agile Grenoble 2011
 
XebiConFr 15 - Développer dans le Cloud
XebiConFr 15 - Développer dans le CloudXebiConFr 15 - Développer dans le Cloud
XebiConFr 15 - Développer dans le Cloud
 
Patterns Agiles avec Visual Studio 2012 et TFS 2012
Patterns Agiles avec Visual Studio 2012 et TFS 2012Patterns Agiles avec Visual Studio 2012 et TFS 2012
Patterns Agiles avec Visual Studio 2012 et TFS 2012
 

Agilistes : n'oubliez pas la technique ! - Agile France - 23/05/2013

  • 1. Agilistes : n'oubliez pas la technique ! par Xavier NOPRE 23/05/2013 - 16h-17h - Salle 6 #AgileFrance
  • 2. Agilistes : n'oubliez pas la technique ! - Xavier NOPRE2 Préambule
  • 3. Xavier NOPRE : Développeur Agiliste Indépendant  Développeur :  Applications Java-WEB SaaS sur mesure  Clients finaux  Contrat agile  Formations, coaching, accompagnement :  Ingénierie agile, agilité, Scrum  Développement Java & WEB (HTML, CSS, JS, …) Agilistes : n'oubliez pas la technique ! - Xavier NOPRE3 Qui suis-je ? @xnopre xnopre.blogspot.com
  • 4.  Agilité : novice ou expert ? 1. Je découvre, je n'y connais rien 2. Je connais les bases, je ne pratique pas encore 3. Je pratique un peu 4. Je pratique régulièrement (ex: un des rôles de Scrum) 5. Je maitrise, j'explique, je forme et accompagne  Profils :  Développeur  ScrumMaster ou Product Owner  Manager  Formateur / coach  Autre ? 4 Et vous ? Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 5.  Moi :  Introduction  Rappels sur l'agilité & Scrum  Mise en situation et Analyse  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
  • 6. Agilistes : n'oubliez pas la technique ! - Xavier NOPRE6 Introduction
  • 7.  Basée sur :  Mon expérience personnelle  Accompagnement d'équipes  Constat :  La technique est négligée dans les transitions agiles  Contexte technique :  Développement logiciel & écosystème Java Sur mon blog : "Développement logiciel agile : informations sur l'outillage" : http://xnopre.blogspot.fr/2012/09/developpement-logiciel-agile_13.html 7 Contexte pour cette session ? Agilistes : n'oubliez pas la technique ! - Xavier NOPRE coach dev
  • 8. "Ensemble de pratiques et d'outillages dans l'édition logicielle permettant de faire du développement agile" Xavier NOPRE 8 "Ingénierie agile" : késako ? Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 9. Agilistes : n'oubliez pas la technique ! - Xavier NOPRE9 Rappels sur l'agilité & Scrum
  • 10. 10 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 !!! !!! !!!
  • 11. 11 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
  • 12. 12 Rappels > Incrémental / Itératif 1/2 http://www.infoq.com/news/2008/01/iterating-and-incrementing Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 13. 13 Rappels > Incrémental et Itératif 2/2 http://itsadeliverything.com/revisiting-the-iterative-incremental-mona-lisa Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 14. Agilistes : n'oubliez pas la technique ! - Xavier NOPRE14 Mise en situation & analyses
  • 15.  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 15 Situation : prenons une équipe … Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 16.  L'agilité :  facile à comprendre, difficile à mettre en œuvre 16 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. 17 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 …  etc … Agilistes : n'oubliez pas la technique ! - Xavier NOPRE  Et les aspects techniques !
  • 18. 18 Analyse > Et côté développement 1/3  Une "vision" du produit mais pas de détails anticipés  Plus de cahier des charges (initial et fixe)  Plus de specs détaillées    Ne pas anticiper les "détails"  Besoin d'une conception évolutive (agile)  Faire émerger une architecture  Pas de régressions  … Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 19. 19 Analyse > Et côté développement 2/3  Toutes les 3 semaines, livraison d'un produit partiel et utilisable    Développement incrémental :   on avance par petits blocs fonctionnels  Développement itératif :   un bloc fonctionnel est finalisé sur plusieurs itérations  Développement transversal   quotidiennement, on implémente sur toutes les couches  Livraisons fréquentes  Packaging facile  … Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 20. 20 Analyse > Et côté développement 3/3  Equipe auto-organisée et pluri-disciplinaire  Plus de chef,  "Plus de responsable"  Plus de spécialistes (technos, couches, qualité, tests, …)    Autonomie technique & initiatives  Responsabilisation collective et individuelle  Choix techniques et technologiques  La qualité devient un problème de tous les jours  … Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 21. 21 Analyse > Bilan Gestion "agile" de projet  OK Ingénierie agile  ? … Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 22. Agilistes : n'oubliez pas la technique ! - Xavier NOPRE22 Outils et méthodes : feuille de route
  • 23. Que puis-je apporter à mon équipe "qui n'a rien" ?  Choix d'une dizaine d'outils et pratiques "de base" Mix-IT 2013 : "Agilistes : n'oubliez pas la technique !" - Xavier NOPRE23 Feuille de route : objectif coachdev
  • 24. ? ? ? ? ? ? ? ? ? ? 24 Feuille de route : format * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Effort Agilistes : n'oubliez pas la technique ! - Xavier NOPRE x
  • 25.  "Equipe" = Travail collaboratif :  Equipe pluri-disciplinaire  Le code appartient à tous, Partage du code  Gestion centralisée, Suivi des versions 25 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 coachdev
  • 26.  Code communs et partagé :  Ecrit par les uns, lus par les autres  Modifié par tous 26 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 coachdev
  • 27.  Travail itératif en cycle court :  Packaging et livraisons fréquentes  Voire déploiement continue 27 Industrialisation/ Automatisation  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 coachdev
  • 28.  Industrialisation  versionning & dépendances :  "Artifacts" : livrables identifiés (groupId + artifactId + version)  "repositories" : dépôts pour récupérer et déposer des livrables 28 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 coachdev
  • 29. Mix-IT 2013 : "Agilistes : n'oubliez pas la technique !" - Xavier NOPRE29 Pause "précisions"
  • 30.  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 30 Précisions Refactoring … Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 31.  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 NOPRE31 Refactorings
  • 32. Mix-IT 2013 : "Agilistes : n'oubliez pas la technique !" - Xavier NOPRE32 On reprend …
  • 33.  Besoin de Refactoring, notamment niveau 1  Prendre le moins de risque possibles …  Respecter les Règles communes 33 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 ( IDE unique …)  Doit être bien configuré, pour tous les membres de l'équipe * * * * * Agilistes : n'oubliez pas la technique ! - Xavier NOPRE 5 coachdev
  • 34.  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 34 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 coachdev
  • 35.  Tests unitaires :  "Impossible sur mon code", "mon contexte ne le permet pas", …  Architecture et conception inadaptées 35 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 coachdev
  • 36.  Tests unitaires : c'est dur !  Difficile sur du code existant, difficile à écrire après le code de production, code non testable, … 36 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 coachdev
  • 37.  Tests : apprentissage difficile  Besoin de fédérer une équipe pluri-disciplinaire 37 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 coachdev
  • 38.  Les tests ne sont pas rejoués systématiquement  Il faut livrer et packager souvent  Voire déployer fréquemment 38 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 coachdev
  • 39. Gestion de versions (Git) Règles communes Industrialisation (Maven) Repositories (Artifactory) IDE (Eclipse) Tests unitaires Code testable TDD Pair-programming Intégration continue 39 Feuille de route * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Effort Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 40. 40 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
  • 41.  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 41 Conclusion  N'oubliez pas la technique !  Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 42.  Je n'ai pas parlé de :  Revue de code  Coding-dojo (Kata et Randori)  Frameworks et Librairies  Temps libre R&D  Prototype vs Produit  Autres langages et autres éco-système (ex : JavaScript)  Bug tracker  Réduction dette technique  … 42 Et encore … Agilistes : n'oubliez pas la technique ! - Xavier NOPRE
  • 43. 43 Questions ?! Agilistes : n'oubliez pas la technique ! - Xavier NOPRE