Méthodes AgilesUn parcours des méthodes agiles1
Introduction2Nos echecs
Introduction3Taux de réussite des projets
Introduction4Critères de réussite
Introduction5Autres industries : Renault Zoé (2012)
Introduction6Autres industries : Batman 3 (Juillet 2012)
Introduction7Succès d’un projet
IntroductionEt notre industrie ? Quelques désastresDuke Nukem n’est jamais sorti 
Satellite perdu de la NASA : deux modules n’utilisaient pas les mêmes unités de mesure (125 M$)
Panama : 8 personnes atteintes du cancer sont mortes à cause d’une erreur de calcul du dosage des radiations8
Introduction9
Introduction10Facteurs d’échec
Introduction11Conduite classique d’un projet
Introduction12Implications
Principes Agiles13Principes agiles
Principes agilesManifesto agile 200117 chefs de projets se sont réunis à l’Utah (USA)
Lassés par la lourdeurs des processus classiques
Ils ont formé l’alliance agile14
Les principes agiles15
Les principes agilesIndividus et interactions au lieu de processus et outilsLes collaborateurs sont la clé du succès
Les « seniors » échoueront s’ils ne collaborent pas en tant qu’équipe
Un bon collaborateur n’est pas un forcément un bon programmeur. C’est quelqu’un qui travaille bien en équipe
Une surabondance d’outils est aussi mauvaise que le manque d’outils
Démarrer petit et investir peu au démarrage
Construire l’équipe c’est plus important que construire l’environnement16
Les principes agilesLogiciel fonctionnel au lieu de documentation massiveUn code sans documentation est un désastre
Trop de documents est pire que pas de documents
Difficulté à produire et à synchroniser avec le code
Souvent les documents sont des mensonges formels
Le code ne ment jamais sur lui-même
Produire toujours des documents aussi courts que possible17
Les principes agilesCollaboration du client au lieu de la négociation de contratsTrès difficile de décrire la totalité du logiciel depuis le début
Les projets réussis impliquent les clients d’une manière fréquente et régulière
Le client doit avoir un contact direct avec l’équipe de développement18
Les principes agilesRéagir aux changements au lieu de suivre un planUn logiciel ne peut pas être planifié très loin dans le futur
Tout change : technologie, environnement et surtout les besoins
Les chefs de projets classiques fonctionnent sur la base de GANTT, PERT et le système de tâches
Avec le temps, les diagrammes se dégradent car des tâches s’ajoutent et d’autres deviennent non nécessaires
Une meilleure stratégie est de planifier très court (02 semaines à 01 mois)
Plannings détaillés pour la semaine à venir, rigoureux pour les trois mois et très vagues au-delà19
Les principes agilesLes 12 principes agilesToujours satisfaire le client à travers des livraisons rapides et continuesBien accueillir tous les changements même les tardifsLivrer fréquemment un système fonctionnelLes clients et les développeurs doivent collaborerConduire le projet autour d’équipes motivéesLa meilleure méthode de faire circuler l’information c’est le contact direct entre collaborateursLa première mesure d’avancement c’est un logiciel fonctionnelLe développement doit être durable et à un rythme constantLa bonne conception et l’excellence technique augmentent l’agilitéSimplifier au maximumLes meilleurs architectures, besoins et conceptions proviennent d’équipes qui s’organisent d’elles-mêmesL’équipe s’améliore d’une manière autonome et régulière20
Méthodologie XP21Méthodologie xp
La méthodologie XP22
Planification Agile23Planification agile
Planification AgilePlanificationLes développeurs et le client discutent du système (identifier les fonctions)
Ne pas chercher à avoir une liste exhaustive des fonctions
Chaque fonction est traduite en user stories
Les user stories sont écrites sur des cartes (ou équivalent)
Les développeurs collaborent à estimer les user stories
L’estimation ne se fait pas en temps mais en points
Une user stories de 8 points durera logiquement deux fois plus qu’une user stories de 1 point
Les user stories trop longues sont réparties en plusieurs user stories
Une user story trop petite est fusionnée avec une autre
La fusion et la division n’est pas une science exacte en terme de points24
Planification AgilePlanificationChaque itération un ensemble de user stories sont terminées
La vélocité est le nombre de points finalisés durant la semaine ou l’itération
Après 03 ou 04 semaines, l’équipe a une idée de sa vélocité
Au début, la vélocité est très imprécise puis se stabilise dans le temps
Après la stabilisation de la vélocité, on peut déduire la durée d’un release en terme d’itérations
Une user story n’est finalisée que si elle passe tous ses tests d’acceptation25
Planification AgilePlanificationLes développeurs divisent les user stories en tâches
Les tâches sont créées et enregistrée
Chaque développeur s’inscrit à une ou plusieurs tâches durant l’itération
Chaque développeur connaît le nombre de points de son itération précédente
Il prend des tâches jusqu’à atteindre ce nombre de points
Si des tâches restent, les développeurs négocient pour prendre le reste26
Planification AgilePlanificationAu milieu d’une itération, une réunion entre développeurs est organisée
Théoriquement, la moitié des user stories devraient êtres terminées
Dans le cas contraire, l’équipe se réorganise pour assurer une bonne terminaison de l’itération27
Planification AgilePlanificationA chaque fin d’itération le produit est montré et évalué par le client
Le client suit de près l’évolution du produit28
Planification AgilePlanificationLe suivi par des outils informatiques
Project ou Excel sont des exemples d’outils de suivi
TFS est un excellent support de suivi 29
Introduction30
Planification Agile31Conception agile
Conception agileQu’est-ce que la conception agile ?L’analyse concerne le « quoi », la conception concerne le « comment »
Les diagrammes UML n’est pas la conception mais une partie de la conception
La conception est un concept abstrait
Le code EST la conception

Méthodes agiles