Your SlideShare is downloading. ×
Mdday2010 modelisation-agilite
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

Mdday2010 modelisation-agilite

526

Published on

Présentation "Modélisation et agilité : la piste du domain driven design et du behavior driven development" faite au mdday 2010 chez Microsoft à Paris …

Présentation "Modélisation et agilité : la piste du domain driven design et du behavior driven development" faite au mdday 2010 chez Microsoft à Paris


Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
526
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
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

Transcript

  • 1. Modélisation et Agilité sont-ils compatibles ? La piste du Domain Driven Design (DDD) et du Behaviour Driven Development (BDD) Retour d’expérience Administration du Canton de Vaud Jérémie Grodziski Jeremie.grodziski@redsen.fr Grégory Weinbach gweinbach@objetdirect.com 1GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation Bernard Quinodoz
  • 2. Notre métier Comment industrialiser nos développements applicatifs ? Comment moderniser notre patrimoine applicatif ? Comment former efficacement nos collaborateurs ? Quels outils, quels frameworks choisir ? Depuis 12 ans, Objet Direct répond concrètement à ces questions avec des prestations de conseil et d’expertise dans le domaine du génie logiciel objet. Comment aligner le SI sur les processus métiers de l’entreprise ? Quelle démarche projet, quelle méthode pour améliorer nos processus projets ? 2GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 3. OBJET DIRECT, une offre IT complète Formation, coaching Réalisation de projets Offres de conseil IT 3GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 4. OBJET DIRECT filiale du groupe VISEO, Multi-spécialiste de votre SI Optimisation et intégration des processus Pilotage de l’entreprise Optimisation de la performance CONSEIL AUDIT / DIAGNOSTIC DEVELOPPEMENT INTEGRATION TIERCE MAINTENANCE APPLICATIVE VENTES DE LICENCES Conseil architecture du SI Applications métiers spécifiques Web & Objet ERP BIWeb et Objet 4GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 5. Groupe VISEO Une présence sur chaque continent Paris Bordeaux Toulouse Lyon Grenoble Marseill e Morlaix Les implantations de VISEO permettent d’accompagner les clients dans leurs projets internationaux et d’adresser des clients locaux VISEO Inc. Création 2005 VISEO GmBH Création 2007 VI- ONE North Africa Création 2004 VISEO Asia Hong Kong/ Singapour Création 2009 Un maillage régional pour favoriser la proximité avec nos clients 5GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 6. Présentation Redsen Conseil SI & Urbanisation Conseil en Organisation et Gestion de Projets Expertise & Accompagnement Projet Formation MASTER DATA MANAGEMENT ENTERPRISE ARCHITECTURE AUDIT ALIGNEMENT STRATÉGIQUE DU SI ATELIERS DE RÉFLEXION VEILLE SÉMINAIRES STRATEGIC DESIGN DOMAIN DRIVEN DESIGN TEST ET BEHAVIOUR DD ACCOMPAGNEMENT QUALITÉ AGILE PMO ITIL EXPERTISE LANGAGE ET PLATEFORMES DATA MANAGEMENT BUSINESS INTELLIGENCE 6GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 7. Contexte ¡ L’Administration du Canton de Vaud ● Application de gestion •  Maintenance coûteuse •  Refonte engagée 7GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 8. Besoin métier Logiciel ? 8GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 9. Besoin métier Logiciel Concevoir Implémenter 9GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 10. Besoin métier Logiciel Concevoir Implémenter Valider 10GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 11. Bonjour, pouvez vous me décrire votre activité principale? Nous gérons principalement les dénonciations suite à des contraventions ou des délits. Dans quel but ? le but est d’encaisser le paiement de l’amende que doit le contrevenant Qu'est-ce qu'un dossier ? Un dossier est créé lorsqu'une préfecture reçoit une dénonciation. Il permet de suivre les actions réalisées de la procédure d'encaissement. Nous gérons des dossiers notamment pour encaisser les amendes. Comment faites vous ? 11GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 12. Un constat simple GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 12 [ Pour faire un bon logiciel vous devez savoir de quoi il parle ● son Domaine
  • 13. Qui connait le Domaine ? GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 13 [ Le spécialiste du Domaine J ● Comment faire « entrer » le Domaine dans le logiciel ?
  • 14. La connaissance sur le domaine est collectée dans un Modèle qui est une vue sur le Domaine GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 14 [ le Modèle de Domaine !
  • 15. Pourquoi concevoir avec des modèles ? Pour communiquer Pour réfléchir Pour maîtriser la complexité 15GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 16. GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 16 DomaineDomaine ModèleDomaine Modèle Code Ubiquitous Language Domaine Modèle Code
  • 17. 17GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 18. Constituer le modèle de Domaine ¡ La manière traditionnelle GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 18 Analyse Conception Développement
  • 19. Constituer le modèle de Domaine ¡ Le Modèle de Domaine selon le DDD GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 19
  • 20. Rôles DDD GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 20
  • 21. 21GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 22. Nous gérons principalement les dénonciations suite à des contraventions ou des délits. le but est d’encaisser le paiement de l’amende que doit le contrevenant Un dossier est créé lorsqu'une préfecture reçoit une dénonciation. Il permet de suivre les actions réalisées de la procédure d'encaissement. Nous gérons des dossiers notamment pour encaisser les amendes. 22GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 23. 23GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 24. Mon modèle est il bon ou mauvais ? 24GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 25. …un modèle est adapté ou non à un usage [ Comment définir cet usage ? 25GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 26. Besoin métier Logiciel Concevoir Implémenter Valider 26GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 27. « User story »... ¡ « Saisir une dénonciation » En tant que secrétaire Lorsque je reçois une dénonciation suite au délit Je veux saisir cette dénonciation Afin de déclencher la procédure 27GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 28. « Etant donné un contexte / un état … » 3 2 1 « Alors je constate… » Enchaînement d’actions sous forme de scénarios Comportement d’un système vu de son usage « Quand je fais l’action… » 28GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation Système
  • 29. Scénario abstrait Saisir une dénonciation : Etant donné une dénonciation et une infraction reçue Quand la secrétaire saisit cette dénonciation Alors un nouveau dossier est créé suivant la procédure choisie Alors l'action effectuée et son auteur sont présent dans le suivi administratif du dossier Alors le dossier appartient à la bonne préfecture Alors le dossier concerne la bonne personne Alors le dossier se trouve dans le bon état Alors le solde du dossier est correct Alors une dénonciation associée au dossier a été créée Alors les informations de la dénonciation sont correctes 29GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 30. …et scénario concret Etant donné une dénonciation reçue par Gérard concernant Jérémie Grodziski 05.11.1976 pour une contravention CIRCULATION_ROUTIERE dont les faits sont "excés de vitesse » émise au 20.03.2010 par "la Gendarmerie cantonale" référence 123987456 Etant donné que l'infraction a été commise le 19.03.2010 10:30 à Autoroute Lausanne Genève, hauteur Morges Etant donné que les dispositions légales enfreintes sont LCR 90/1, 91/4a Quand Gérard saisit la dénonciation pour CONTRAVENTIONS_PROCEDURE_SC a la Préfecture de Morges abrégée MOR Alors un dossier suivant la procédure CONTRAVENTIONS_PROCEDURE_SC est créé Alors l'action SAISIR_DENONCIATION est renseignée dans le suivi administratif avec la date du jour et l'utilisateur zptdce Alors le dossier appartient à la Préfecture de Morges Alors le dossier concerne Jérémie Grodziski Alors le dossier se trouve dans l’état ATTENTE_DECISION_SENTENCE Alors le solde du dossier est égal a 0 Alors une dénonciation liée au dossier est créée 30GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 31. Etant donné une dénonciation reçue par Gérard concernant Jérémie Grodziski 05.11.1976 pour une contravention CIRCULATION_ROUTIERE dont les faits sont "excés de vitesse » émise au 20.03.2010 par "la Gendarmerie cantonale" référence 123987456 Etant donné que l'infraction a été commise le 19.03.2010 10:30 à Autoroute Lausanne Genève, hauteur Morges Etant donné que les dispositions légales enfreintes sont LCR 90/1, 91/4a Quand Gérard saisit la dénonciation pour CONTRAVENTIONS_PROCEDURE_SC a la Préfecture de Morges abrégée MOR Alors un dossier suivant la procédure CONTRAVENTIONS_PROCEDURE_SC est créé Alors l'action SAISIR_DENONCIATION est renseignée dans le suivi administratif avec la date du jour et l'utilisateur zptdce Alors le dossier appartient à la Préfecture de Morges Alors le dossier concerne Jérémie Grodziski Alors le dossier se trouve dans l’état ATTENTE_DECISION_SENTENCE Alors le solde du dossier est égal a 0 Alors une dénonciation liée au dossier est créée 31GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 32. Etant donné une dénonciation reçue par Gérard concernant Jérémie Grodziski 05.11.1976 pour une contravention CIRCULATION_ROUTIERE dont les faits sont "excés de vitesse » émise au 20.03.2010 par "la Gendarmerie cantonale" référence 123987456 Etant donné que l'infraction a été commise le 19.03.2010 10:30 à Autoroute Lausanne Genève, hauteur Morges Etant donné que les dispositions légales enfreintes sont LCR 90/1, 91/4a Quand Gérard saisit la dénonciation pour CONTRAVENTIONS_PROCEDURE_SC à la Préfecture de Morges abrégée MOR Alors un dossier suivant la procédure CONTRAVENTIONS_PROCEDURE_SC est créé Alors l'action SAISIR_DENONCIATION est renseignée dans le suivi administratif avec la date du jour et l'utilisateur Gérard Alors le dossier appartient à la Préfecture de Morges Alors le dossier concerne Jérémie Grodziski Alors le dossier se trouve dans l’état ATTENTE_DECISION_SENTENCE Alors le solde du dossier est égal a 0 Alors une dénonciation liée au dossier est créée 32GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 33. Etant donné une dénonciation reçue par Gérard concernant Jérémie Grodziski 05.11.1976 pour une contravention CIRCULATION_ROUTIERE dont les faits sont « excés de vitesse » émise au 20.03.2010 par "la Gendarmerie cantonale" référence 123987456 Etant donné que l'infraction a été commise le 19.03.2010 10:30 à Autoroute Lausanne Genève, hauteur Morges Etant donné que les dispositions légales enfreintes sont LCR 90/1, 91/4a Quand Gérard saisit la dénonciation pour CONTRAVENTIONS_PROCEDURE_SC à la Préfecture de Morges abrégée MOR Alors un dossier suivant la procédure CONTRAVENTIONS_PROCEDURE_SC est créé Alors l'action SAISIR_DENONCIATION est renseignée dans le suivi administratif avec la date du jour et l'utilisateur Gérard Alors le dossier appartient à la Préfecture de Morges Alors le dossier concerne Jérémie Grodziski Alors le dossier se trouve dans l’état ATTENTE_DECISION_SENTENCE Alors le solde du dossier est égal a 0 Alors une dénonciation liée au dossier est créée 33GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 34. Scénarios en succès 34GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 35. Scénarios en échec 35GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 36. Sous le capot… un framework BDD Scénarios TXT Adaptateurs Code Java Modèle du domaine / Code Java Junit avec JBehave Exécution parse exécuteinvoque 36GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 37. Adaptateurs du scénario vers le code des POJOs du domaine When Then 37GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 38. Adaptateurs du scénario vers le code des services métiers (avec persistance) When Then 38GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 39. Challenger mon modèle Etant donné une dénonciation reçue par Gérard concernant Jérémie Grodziski 05.11.1976 pour une contravention CIRCULATION_ROUTIERE dont les faits sont "excés de vitesse » émise au 20.03.2010 par "la Gendarmerie cantonale" référence 123987456 Etant donné que l'infraction a été commise le 19.03.2010 10:30 à Autoroute Lausanne Genève, hauteur Morges Etant donné que les dispositions légales enfreintes sont LCR 90/1, 91/4a Quand Gérard saisit la dénonciation pour CONTRAVENTIONS_PROCEDURE_SC a la Préfecture de Morges abrégée MOR Alors un dossier suivant la procédure CONTRAVENTIONS_PROCEDURE_SC est créé Alors l'action SAISIR_DENONCIATION est renseignée dans le suivi administratif avec la date du jour et l'utilisateur zptdce Alors le dossier appartient à la Préfecture de Morges Alors le dossier concerne Jérémie Grodziski Alors le dossier se trouve dans l’état ATTENTE_DECISION_SENTENCE Alors le solde du dossier est égal a 0 Alors une dénonciation liée au dossier est créée exécuté par validé par 39GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation Scénarios TXT Modèle du domaine / Code Java
  • 40. « Manifeste Agile » Individus et interactions Logiciels opérationnels Collaboration avec les utilisateurs Adaptation au changement Processus et outils Documentation exhaustive Négociation contractuelle Suivi d’un plan « Nous reconnaissons la valeur des seconds éléments mais privilégions les premiers » 40GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 41. « Manifeste Agile » Individus et interactions Logiciels opérationnels Collaboration avec les utilisateurs Adaptation au changement Processus et outils Documentation exhaustive Négociation contractuelle Suivi d’un plan « Nous reconnaissons la valeur des seconds éléments mais privilégions les premiers » 41GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation [DDD] Analyste/Concepteur = Développeur [DDD et BDD] Les scénarios sont exécutables, Modèle = code [BDD] Scénarios = Supports de validation [BDD] Itératifs, Cycles courts, Feedback immmédiat
  • 42. Incrémental ? Au niveau technique et fonctionnel Domaine Service User Interface Test avec les objets du domaine (POJO) Test avec les services incluant la persistance Test de l’interface web avec Selenium ..avec le même scénario mais des adaptateurs différents ! Au niveau fonctionnel, avec des scénarios enrichis au fur et à mesure avec les cas exceptionnels et les cas d’erreurs Au niveau technique 42GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 43. Bilan ¡  Niveau d’anomalies extrêmement bas ¡  Refactoring majeur du métier fait en 2 jours sans aucune régression ¡  Modification des processus prenant 30 jours avec l’application existante, 0,5j maintenant ¡  Réelle capitalisation sur le domaine, isolée de la technique ¡  Complexité très basse dans les rapports de qualimétrie ¡  Les utilisateurs sont satisfaits, prêt à évangéliser l’approche, veulent les modèles dans l’application ! ¡  Productivité ¡  Maintenabilité à long terme ? 43GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 44. Chiffres ¡ 156 user stories, environ 250 scénarios ¡ 50 000 lignes de codes ¡ 300 classes du domaine ¡ 600 j/h développement aujourd’hui, 800 à terme 44GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 45. La clé de l’agilité de l’approche Des scénarios exécutables permettent de valider et de construire le modèle du domaine dans des itérations courtes, de manière incrémentale avec feedback immédiat BDD DDD Agilité 45GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 46. La clé de l’agilité de l’approche Des scénarios exécutables permettent de valider et de construire le logiciel dans des itérations courtes, de manière incrémentale avec feedback immédiat BDD DDD Agilité 46GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation
  • 47. Questions 47GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation

×