Your SlideShare is downloading. ×
Extreme programming
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Extreme programming

602
views

Published on

Extreme Programming XP, méthode agile pour la gestion de projet de la réalisation des applications informatique.

Extreme Programming XP, méthode agile pour la gestion de projet de la réalisation des applications informatique.

Published in: Education

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
602
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • EXTREME PROGRAMMING.
  • 1) 2) 3) 4) 5)
  • M. Dev. Logicielle = =>Rapidité =>Synergie Des Binomes -------------------------- Env (+-) Besoins !
  • Methodologie de Dév: Amélioration Continue De la qualité #Difficile: _Cycle en V en cascade _C en Spirale _C. itératif.
  • EXEMPLE: ------------ LAND (terre) Attaquer un Batteau Créer un : !!!!! Précis avec de algo de précision à 90% mais Qui coute Bcp de temps et d’effort et d’argent Une seule chance pour tirer Perdre tout le budget avant la fin de construction Le Bateau Peut s’enfuir, Dépassement de délais  Précis avec 55% coute Bcp moins chére de temps et d’effort et d’argent Plusieurs chances pour tirer -------------------- (NEXT) Etude sur Les Projets
  • Design pattern: Genie Logiciel.
  • QLQ
  • _Test Unitaire : « Bouton » Test() _Binome: Synergie _Satisfaction De Client Test unitare et Fonctionnelle Client developpeur =)
  • Environnement changeant Besoins inconnus
  • *Écrire des scénarios utilisateur «user stories» avec le client *Segmenter le projet en itérations (exemple: livraisons aux X semaines) *Débuter chaque jour par une réunion d’équipe debout ! *puisq on a di q les equipe en binome déplacer les personnes (inter changer les paires) *le code appartient a tt l monde ( egoless prog., Weinberg, 1971) *Ne pas faire de temps supplémentaire «ideal week»
  • *KIS = «keep it simple»: utiliser des cartes CRC (ou léger UML ) *Représenter une histoire utilisateur à la fois *Adopter un codage uniforme: noms, standards… *Ne jamais ajouter de fonctionalité trop tôt *Encourager la reconstruction avant une nouvelle itération
  • *Le client (expert disponible) priorise les histoires *La vitesse du projet est mesurée (et adapte les itérations) *Le test unitaire est produit avant le code (+1 par bogue) *Le code pour livraison est programmé par binômes (paire) *L’intégration est fréquente et se fait séquentiellement
  • =>ce quil fau retenir le client sélectionne les scénarios en fonction des priorités et du temps disponible.
  • *Et par la suite l integration doit etre continu *Intégration continue et les testes réduisent considérablement le cout de livraison .
  • *Le fonctionnelle et le technique se comprennent beaucoup mieux lorsqu’ils sont d’accord sur les termes qu’il emploient .
  • * Il faut justement repondre au besoin d client de plus facile façon =>*Plus l’application est simple ,plus il sera facile de faire évoluer lors des prochaines itération.
  • RIEN
  • *cette phase n’apporte rien au client mais permettent aux développeurs d ’avancer dans les meilleure condition .
  • *Chaque développeur peut faire des modification dans toutes les portions du code.
  • *cela porte à Eviter la surcharge de travail
  • Pour aider gerer guider l equipe, donner des suggessions
  • *Il fau b1 gerer les taches et leurs horaires
  • *fau aussi ajouter q les développeurs changent fréquemment de partenaire Tout l monde va connaitre l code… améliorer la communication au sein de l'équipe.
  • Projet ségmenter et l’intégration continue tenter de diminuer les risques respecter les délais .
  • Au sens de chgmt d principe =>XP indique qu’il vaut mieux agir sur le court terme pour mieux gérer le cout de changement .
  • _ chacun doit tenir au courant les autres de l’état d’avancement de son travail. le partage des connaissances _ déterminer les besoins nécessaires du client l'intégration du client dans l'équipe permet d'améliorer les rapports et les performances FIABILITE
  • _ Le moyen de faire ces feedbacks tests unitaires qui détectent les bugs et les régressions. _ Le développement d’une tache se fait généralement en binôme d’ou la nécessiter des commentaires .
  • RAD: Rapid Application Developpment FDD: feature driven development TDD: test driven development Crystal UP: Unified Process SCRUM
  • RAD: Rapid Application Developpment FDD: feature driven development TDD: test driven development Crystal UP: Unified Process SCRUM
  • Transcript

    • 1. eXtremeProgramming XP LSI_FSTT 1
    • 2. Copyright © Wondershare Software 2
    • 3. Le Cycle en CASCADE→Très bureaucratique, très lourd, mais un grand bond dans la bonne direction. Copyright © Wondershare Software 3
    • 4. Le Cycle en V →Le cycle en V est devenu un standard de lindustrie du développement de logiciel et de la gestion de Wondershare Software années 1980. Copyright © projet depuis les 4
    • 5. Les Méthodes Agiles Copyright © Wondershare Software 5
    • 6. Les Méthodes Agiles Copyright © Wondershare Software 6
    • 7. Les Méthodes Agiles Copyright © Wondershare Software 7
    • 8. Les Méthodes Agiles reconnues Copyright © Wondershare Software 8
    • 9. Définition: XP Méthodologie efficace de développement rapide de logiciels, Qui exige que les membres d’une équipe de développeurs soient physiquement proches les uns des autres. XP est une méthode de développement dédiée à des petites équipes confrontées à un environnement changeant ou des Besoins Mal connus. Copyright © Wondershare Software 9
    • 10. Méthode Allégé: XP Une méthodologie logicielle est un ensemble de règles et de pratiques mises en œuvre pour la création de programmes. Ces règles sont trop difficiles à suivre, les procédures complexes et mal comprises et la quantité de documentation à produire hors de contrôle. Copyright © Wondershare Software 10
    • 11. Méthode Allégé: XP Pour essayer de rester dans le planning, il est nécessaire de simplifier les règles, Garder celles qui contribuent à la qualité et Laisser de côté celles qui ralentissent le projet. Copyright © Wondershare Software 11
    • 12. Historique:D’après une étude américaine menée sur 8000 projets,Majorité des projets n’ont pas respecté les délais et lebudget initial et autres n’ont jamais abouti. Copyright © Wondershare Software 12
    • 13. Historique: La méthode est née réellement en 1999 après la parution du premier livre de Kent Beck : « eXtreme Programming Explained », Acteur très actif dans domaine de “Design Patterns”, domaine qui a beaucoup inspiré XP Copyright © Wondershare Software 13
    • 14. Historique:inventer pendant leur travail sur un projet « C3 » . Kent Beck, chef de projeten mars 1996 commença à affiner la méthodologie de développement utiliséesur le projet. (Chrysler Comprehensive Compensation) Copyright © Wondershare Software 14
    • 15. Pourquoi XP? La méthode est très attentive à l’activité en dernière analyse essentielle dans un projet de logiciel : la programmation. Le codage produit la documentation principale : les fichiers sources. Pourquoi « extrême » programming ? Copyright © Wondershare Software 15
    • 16. Pourquoi XP? Kent Beck, qui structure et présente XP, explique que les pratiques sur lesquelles est bâtie XP sont autant de boutons de contrôle… qu’il pousse au maximum. De ce point de vue, XP est la réunion cohérente de pratiques efficaces, telles que le test omniprésent, l’esprit d’équipe, le rôle prépondérant du client dans l’équipe, etc. Le bon sens est poussé à son extrême ! Copyright © Wondershare Software 16
    • 17. Pour qui XP? Petites à moyennes équipes écrivant des logiciels dont les besoins sont vagues ou changent rapidement Copyright © Wondershare Software 17
    • 18. Organisation Hiérarchique Copyright © Wondershare Software 18
    • 19. Programmeur ResponsabilisationRetour du programmeur comme rôle central A la fois : codeur, testeur, concepteur et analyste Apprentissage - Qualités humaines nécessaires XP : Ecole de l’excellence Responsabilisés pour donner le meilleur d’eux même ex. : estimation des charges et délais Pratiques XP Copyright © Wondershare Software 19
    • 20. Client Responsabilisation Description informelle d’une fonctionnalité ou d’une interaction avec l’utilisateur  Le plus simple possible Des scénarios initiaux sont dégagés et Présentés, classés par priorité et répartis en itérations Pratiques XP Copyright © Wondershare Software 20
    • 21. Testeur Responsabilisation Définit et automatise les tests de recette Conseille le client sur la testabilité d’une Fonctionnalité. Utilisation d’outils différents pour scripter. Garant du sentiment de réussite sur le projet Test fonctionnel réussi→ Progression. Communiquer pour motiver (graphique de progression...). Pratiques XP Copyright © Wondershare Software 21
    • 22. Tracker Responsabilisation Pas un supérieur hiérarchique  Quelqu’un a qui on peut se confier  De préférence pas un programmeur, mais quelqu’un d’extérieur  Pour éviter les discussions techniques  A défaut, ce rôle peut tourner entre les programmeurs à chaque itération Pratiques XP Copyright © Wondershare Software 22
    • 23. Manager Responsabilisation Il s’occupe matériellement de l’équipe Il demande des comptes (sur les engagements pris) Interface avec l’extérieur (dans le cadre d’un sous-projet) Pratiques XP Copyright © Wondershare Software 23
    • 24. Coach Responsabilisation Il réunit tout les autres rôles  Vérifie que chaque rôle est respecté  Ses buts ultimes : Equipe autonome Chaque programmeur est en amélioration continue  Ses qualités Expert de la méthode XP Expert technique Programmeur chevronné Architecte Pédagogue et sensible Sang-froid Pratiques XP Copyright © Wondershare Software 24
    • 25. Plusieurs Rôles pour une PersonneAttention aux combinaisons possibles Toutefois, pas de règle absolue S’assurer qu’une cumulation ne pousse pas àsacrifier une composante importante d’un rôle Copyright © Wondershare Software 25
    • 26. Plusieurs Personne pour un RôleProgrammeur, le plus grand nombreTracker, une seule personne... à un moment donnéCoach, une personne uniqueManager, une personne uniqueClient+Testeur, d’une personne à une équipe Copyright © Wondershare Software 26
    • 27. Activité cadre de XP : Planification et gestion :ScénariosSegmenter le projetRéunion d’équipeDéplacer les personnesLe code appartient à toute l’équipe«ideal week» Copyright © Wondershare Software 27
    • 28. Activité cadre de XP : Conception : Conception :KISReprésenter une histoire utilisateur à la foisAdopter un codage uniforme…Ne jamais ajouter de fonctionalité trop tôtEncourager la reconstruction Copyright © Wondershare Software 28
    • 29. Activité cadre de XP : Les activités et processusLe client priorise les histoiresLa vitesse du projet est mesuréeLe test unitaire est produit avant le codeLe code pour livraison est programmé par binômes (paire)L’intégration est fréquente Copyright © Wondershare Software 29
    • 30. Les pratiques de l’XP Copyright © Wondershare Software 30
    • 31. Les pratiques de l’XP 1. Jeux de planningCréation des scénarios pour les fonctionnalitéssouhaité par le client.Evaluation de temps nécessaire pour l’implémentation parl’équipe. Copyright © Wondershare Software 31
    • 32. Les pratiques de l’XP 2. Petites livraisonsLes livraisons doivent être les plusfréquente possible. Copyright © Wondershare Software 32
    • 33. Les pratiques de l’XP 3. Utilisation des métaphoresDécrire le système et son fonctionnement . Copyright © Wondershare Software 33
    • 34. Les pratiques de l’XP 4.Conception simpleImplémentation des scénarios sélectionnéespar le client est l’objectif d’une itération .Envisager les prochaines évolutions ferait perdre du tempssans avoir le garantie d’un gain ultérieur . Copyright © Wondershare Software 34
    • 35. Les pratiques de l’XP 5. Les testesTest de recette (fonctionnelle): Rédiger par le client a partir d’une langage formelle si c’est possible. Vérifier que tous fonctionnent correctement et conformément a la demande.Test unitaire:  Ecrit par le programmeur dans le but d ’assurer le bon fonctionnement du programme . Copyright © Wondershare Software 35
    • 36. Les pratiques de l’XP 6. RefactoringAmélioration régulière de la qualité ducode sans modifier le comportement . Copyright © Wondershare Software 36
    • 37. Les pratiques de l’XP 7. Appropriation collective du codeL’équipe est collectivement responsable de l’application. Copyright © Wondershare Software 37
    • 38. Les pratiques de l’XP 8. Intégration continueLorsque une tache est terminer , les modifications sont immédiatement intégrés dans le produit complet.Quand tous les testes passent ,l’intégration est terminer. Copyright © Wondershare Software 38
    • 39. Les pratiques de l’XP 9. Client sur sitePrésence de représentant du client (Il doit avoir les connaissances de lutilisateur final et avoir une vision globale du résultat à obtenir )pendant toute la duré du projet pour répondre aux question de l’équipe. Copyright © Wondershare Software 39
    • 40. Les pratiques de l’XP 10. Convention de nommageEtablir ,respecter des normes de nommage pour les variables , méthode , objet, classe … Copyright © Wondershare Software 40
    • 41. Les pratiques de l’XP 11. Rythme soutenable Léquipe maintient sa capacité à rester efficace en ne surchargeant pas le planning et en s’aménageant des horaires raisonnables.40 heures de travaille /semaine .L’équipe ne fait pas d’heure supplémentaire . Copyright © Wondershare Software 41
    • 42. Les pratiques de l’XP 12. Programation en binomeLa programmation se fait par deux: Driver (pilote) :tient le clavier , travaille sur la portion du code a écrire . Partner (copilote) : pour laider en suggérant des nouvelles possibilités ou en décelant déventuels problèmes Copyright © Wondershare Software 42
    • 43. Architecture et valeurs Rendre moins lourdes les démarches:Le but d’XP est de trouver des solutions plus ou moins simples pour tenter de diminuer les risques et respecter les délais .On souhaite réduire radicalement la production de documentstechniques très formelles et ce focalise plutôt sur un code biencommenté .Contrairement au solution rationnelle xp donne une grandeimportance sur le développement. Copyright © Wondershare Software 43
    • 44. Architecture et valeurs Changer les principes:Le but d’XP est de se vouloir orienté sur les personnes plutôt quesur les processus. Alors, le développement tentera d’être uneactivité agréable plutôt qu’un cauchemar bureaucratique.Permet une meilleure relation avec le client et la livraison d’unproduit conforme totalement aux exigences de ce dernier. Copyright © Wondershare Software 44
    • 45. Architecture et valeurs Communication: Dans l’équipes: code propriété de tous Avec le client: rapprochement du client par rapport aux informaticiens, elle permet de déterminer de façon claire les besoins nécessaires du client. Copyright © Wondershare Software 45
    • 46. Architecture et valeurs Feedback: (retours, avis...) Avec le client: les livraisons régulières. Dans l’équipe: Le Feedback au seins de léquipe est garantit par les commentaires . Copyright © Wondershare Software 46
    • 47. Architecture et valeurs La simplicité: Dans XP on cherche toujours à supprimer l’inutile pour optimiser au maximum la productivité. Un développeur XP doit la solution la plus simple qui peut fonctionner, garantir la flexibilité au changement et faire de léconomie. La simplicité est aussi essentielle pour que le code puisse être repris instantanément par n’importe quel développeur pour le compléter ou le Copyright © Wondershare Software changer. 47
    • 48. Architecture et valeurs Le courage :Le responsable doit avoir le courage de commencer le projet avant que tout ait été précisé clairement sur un document contractuel.Le client doit avoir le courage de donner des priorités à ses besoins. Copyright © Wondershare Software 48
    • 49. Architecture et valeurs Copyright © Wondershare Software 49
    • 50. Avantages de l’ XP •Le client étant présent dans l’équipe, l’importance des documents liés au projet est réduite. •Grande satisfaction du client. •Présence d’un coach potentiel afin de former une équipe capable de travailler. •Efficacité plus importante. •… Copyright © Wondershare Software 50
    • 51. inconvénients de l’ XP •Petits et moyens projets seulement •Nécessite une forte implication du client •Pas assez de documentation Copyright © Wondershare Software 51
    • 52. XP et UML UML est un langage graphique de modélisation des besoins des utilisateurs, des concepts métier, des concepts techniques dans le cadre d’un développement informatique. UML est généralement associé à une méthodologie globale de gestion de projets fondée, si possible, sur les grandes activités : spécification, analyse, conception et développement, éventuellement itérative comme par exemple l’eXtreme Programming, selon les besoins et la maturité des équipes. UML peut aussi aider à organiser le travail des équipes. Copyright © Wondershare Software 52
    • 53. Copyright © Wondershare Software 53
    • 54. Copyright © Wondershare Software 54