Xp Day2009 Modelisation Agile

2,034 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,034
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
74
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Xp Day2009 Modelisation Agile

  1. 1. La modélisation agile Pascal Roques 25 mai 2009
  2. 2. Présentations : Pascal Roques Modélisation : depuis plus de 20 ans • SADT, OMT, UML, SysML • Blog: http://consultants.a2-artal.fr/proques Méthodes agiles : depuis près de 10 ans • RUP S RUP, Scrum 2
  3. 3. A2 – Présentation de la société Société créée début 2009 • Une dizaine de personnes à Toulouse et Paris fin 2009 • Filiale du groupe Artal, SSII spécialiste J2EE de 100 personnes Créée par des consultants venant de groupes de conseil IT • D seniors (plus de 10 d’expérience) Des i ( l d d’ éi ) • Des juniors passionnés par les technologies du domaine de l’IT Société spécialisée dans l’innovation IT l innovation • Conseil sur SOA / BPM / Agilité / Modélisation / Urbanisation • Expertise technique sur J pe t se tec que su J2EE, RIA ( e , GWT, Ajax…) , (Flex, G , ja ) • Spécialistes du Cloud+SaaS en entreprise (SOA sur le Cloud) • Formations sur l’ensemble de ces domaines Forte activité de R&D • Pour la création de cours • Pour l’exploration technique des sujets « de demain »
  4. 4. Plan Introduction Les valeurs Les principes Les pratiques p q Exemple Conclusion 4
  5. 5. Introduction : quelques idées fausses … Modélisation Processus lourd l d Tout le monde Les modèles sait modéliser sont figés Modéliser est une perte de Modèle = temps … Documentation Modélisation Outil CASE cher 5 La modélisation agile
  6. 6. Introduction : au fait, les gurus agiles ? A. Cockburn M. F l M Fowler C. Larman 6
  7. 7. Introduction : la modélisation agile Référence : le livre de Scott Ambler • agile modeling • Eff ti Practices for Effective P ti f eXtreme Programming and th U ifi d P d the Unified Process Accompagné de son site : • www.agilemodeling.com 7
  8. 8. Introduction : trouver le juste milieu … Pas de modélisation du tout ! Trop de modélisation ! 8
  9. 9. Valeurs de la modélisation agile • Une des raisons principales de modéliser Communication • Un diagramme vaut mille mots ! • Garder les modèles aussi simples que possible Simplicité • P de sur-modélisation ! Pas d déli ti • Modéliser en groupe Feedback • Revoir les modèles avec l’audience ciblée • Implémenter le modèle ! • Prendre les bonnes décisions, même si elles semblent contraire Courage aux « habitudes » • Reconnaître que l’on ne sait pas tout • Les modélisateurs agiles ont l’humilité de reconnaître qu’ils ont Humilité besoin des autres, de leur expertise • Les modèles ne sont jamais parfaits 9 La modélisation agile
  10. 10. Principes de la modélisation agile (1/2) Core Principles : • S ft Software is your primary goal i i l • Enabling the next effort is your secondary goal • T Travel li ht l light • Assume simplicity • Embrace change • Incremental change Core Principles (suite) : • Model with a purpose • Multiple models • Quality work • Rapid feedback • Maximize stakeholder investment 10
  11. 11. Principes de la modélisation agile (2/2) Supplementary Principles : • Content is more important than representation • Everyone can learn from everyone else • Know your models y • Local adaptation • Work with people’s instincts 11
  12. 12. Pratiques de la modélisation agile (1/3) Core Practices : • 1 - It Iterative and i ti d incremental t l modeling • Apply the right artifact(s) • Create several models in parallel • Iterate to another artifact • Model in small increments • 2 - Teamwork • Model with others • Active stakeholder participation • Collective ownership • Display models publicly 12
  13. 13. Pratiques de la modélisation agile (2/3) Core Practices : • 3 - Simplicity • Create simple content • Depict models simply • Use the simplest tools • 4 - Validation • C Consider testability • Prove it with code 13
  14. 14. Pratiques de la modélisation agile (3/3) Supplementary Practices : • 1 - Productivity • Apply modeling standards • Apply patterns gently • Reuse existing resources • 2 - Documentation • Discard temporary models • Formalize contract models • Update only when it hurts 14
  15. 15. Organisation selon C. Larman 15
  16. 16. Exemple : librairie en ligne (1/4) Diagramme de UC : vue globale des l b l d fonctionnalités 16
  17. 17. Exemple : librairie en ligne (2/4) Diagramme de séquence : • scénario nominal d’une visite au site 17
  18. 18. Exemple : librairie en ligne (3/4) Diagrammes de classes : g modélisation incrémentale du domaine 18
  19. 19. Exemple : librairie en ligne (4/4) 19
  20. 20. Exercice 1 Réalisez : • Un diagramme de cas d’utilisation pour le jeu de démineur • Un diagramme de séquence pour le scénario nominal du cas d’utilisation principal 20
  21. 21. Exercice 2 Réalisez : • Un diagramme de classes pour le jeu de démineur • Un diagramme d’états pour une des classes du domaine 21
  22. 22. Conception : diagramme de communication Montre la • Met l’accent sur les relations structurelles entre les objets communication entre i ti t • Notation simplifiée par rapport au éléments dans le plan diagramme de séquence • La numérotation décimale permet au sein d’une de montrer l’imbrication des interaction envois de messages 22
  23. 23. Conclusion : qu’est‐ce qu’un modèle agile ? Il remplit son objectif et reste compréhensible Il est aussi Il est simple que suffisamment possible mais précis, procure une cohérent et valeur claire détaillé 23
  24. 24. Conclusion La valeur ajoutée principale est plus dans l’activité d l’ i i é de modélisation elle-même, que déli i ll ê dans le modèle obtenu ! • …Every model is wrong! and that’s OK (Larman) UML est le standard, mais adoptez juste le j sous-ensemble nécessaire et suffisant ! • Règle des 80 / 20 24
  25. 25. Conclusion : et les outils ? Il commence à émerger une offre d’outils « agiles » ! Gratuits et capables de dessiner à partir d’une forme textuelle • http://yuml.me/ Permet de créer des diagrammes UML en ligne et de les publier sur un blog ou un Wiki • http://www umlgraph org/ http://www.umlgraph.org/ Permet de créer des diagrammes de séquence et de classes • http://abstratt.com/ (TextUML Toolkit) Open-source IDE for UML that lets you create models at the same speed you write code • http://metauml.sourceforge.net/ (MetaUML) GNU GPL MetaPost library for typesetting UML diagrams, using a textual notation • http://code.google.com/p/modsl/ (ModSL) Text-to-diagram UML sketching tool • htt // http://www.websequencediagrams.com/ b di / Permet de créer des diagrammes de séquence • http://sdedit.sourceforge.net/index.html p g Permet de créer des diagrammes de séquence 25
  26. 26. Des outils UML agiles ! http://yuml.me/ • P Permet de créer des diagrammes UML en td é d di ligne et de les publier sur un blog ou un Wiki [Joueur]-(Jouer une partie de demineur{bg:green}) (Jouer une partie de demineur)<(Configurer le jeu) (Jouer une partie de demineur)<(Consulter l'aide) [Partie|niveau;resultat;temps]0..1-1[Plateau|nbLignes;nbColonnes;nbMines] [Plateau]++1 [Case|x;y;estMinee] [Plateau]++1-*[Case|x;y;estMinee] [Partie]1-1[Joueur|nom] 26
  27. 27. Des outils UML agiles ! http://www.websequencediagrams.com/ opt Joueur->Demineur: configurerPartie end loopp alt clic gauche Joueur->Demineur: decouvrirCase else clic droit Joueur->Demineur: marquerCase end Joueur->Demineur: decouvrirCase Demineur->Joueur: Demineur >Joueur: gagné ! opt high score Joueur->Demineur: entrerNom(n) end 27
  28. 28. Solution 1 28
  29. 29. Solution 1 29
  30. 30. Solution 2 30
  31. 31. Solution 2 31
  32. 32. Solution 2 32

×