• Save

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Mdday2010 modelisation-agilite

on

  • 633 views

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


Statistics

Views

Total Views
633
Views on SlideShare
633
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Mdday2010 modelisation-agilite Mdday2010 modelisation-agilite Presentation Transcript

  • 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 Bernard Quinodoz Jérémie Grodziski Jeremie.grodziski@redsen.fr Grégory Weinbach gweinbach@objetdirect.comGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 1
  • Notre métierComment aligner le SI sur Quelle démarche projet,les processus métiers de quelle méthode pourl’entreprise ? améliorer nos processus projets ?Comment industrialiser Comment formernos développements efficacement nosapplicatifs ? collaborateurs ? Quels outils, quels Comment moderniser notre frameworks choisir ? patrimoine applicatif ? 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.GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 2
  • OBJET DIRECT, une offre IT complète Réalisation de projetsOffres de conseil IT Formation, coachingGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 3
  • OBJET DIRECT filiale du groupe VISEO, Multi-spécialiste de votre SIConseil architecture du SI Pilotage de l’entreprise Optimisation et intégration des processus Optimisation de la Applications métiers performance spécifiques Web Web et & Objet ERP BI Objet TIERCE CONSEIL VENTES DE DEVELOPPEMENT MAINTENANCE AUDIT / DIAGNOSTIC LICENCES INTEGRATION APPLICATIVEGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 4
  • Groupe VISEO Une présence sur chaque continent ParisMorlaix Un maillage régional pour favoriser la Lyon proximité avec nos clients Bordeaux Grenoble Toulouse Marseill e VISEO GmBH Création 2007 VISEO Inc. Création 2005 VI- ONE North Africa Création 2004 VISEO Asia Hong Kong/ Singapour Création 2009 Les implantations de VISEO permettent d’accompagner les clients dans leurs projets internationaux et d’adresser des clients locaux GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 5
  • Présentation Redsen MASTER DATA MANAGEMENT STRATEGIC DESIGN AUDIT ALIGNEMENT STRATÉGIQUE DU SI ENTERPRISE ARCHITECTURE Conseil SI & Urbanisation PMO SÉMINAIRES Conseil en ITIL VEILLE Formation Organisation et Gestion de Projets ATELIERS AGILE DE RÉFLEXION BUSINESS DATA Expertise & Accompagnement INTELLIGENCE MANAGEMENT DOMAIN DRIVEN DESIGN Projet TEST ET BEHAVIOUR DD EXPERTISE LANGAGE ET PLATEFORMES ACCOMPAGNEMENT QUALITÉGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 6
  • Contexte ¡ L’Administration du Canton de Vaud ● Application de gestion •  Maintenance coûteuse •  Refonte engagéeGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 7
  • Besoin métier ? LogicielGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 8
  • Besoin métier Concevoir Implémenter LogicielGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 9
  • Besoin métier Valider Concevoir Implémenter LogicielGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 10
  • Nous gérons principalement les Bonjour, pouvez vous me dénonciations suite à des décrire votre activité contraventions ou des délits. principale? le but est d’encaisser le paiement de Dans quel but ? l’amende que doit le contrevenant Comment faites vous ? Nous gérons des dossiers notamment pour encaisser les amendes. Quest-ce quun dossier ? Un dossier est créé lorsquune préfecture reçoit une dénonciation. Il permet de suivre les actions réalisées de la procédure dencaissement.GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 11
  • Un constat simple [ Pour faire un bon logiciel vous devez savoir de quoi il parle ● son DomaineGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 12
  • Qui connait le Domaine ? [ Le spécialiste du Domaine J ● Comment faire « entrer » le Domaine dans le logiciel ?GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 13
  • La connaissance sur le domaine est collectée dans un Modèle qui est une vue sur le Domaine [  le Modèle de Domaine !GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 14
  • Pourquoi concevoir avec des modèles ? Pour communiquer Pour réfléchir Pour maîtriser la complexitéGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 15
  • Ubiquitous Language Domaine Modèle Domaine Modèle Code DomaineGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 16
  • GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 17
  • Constituer le modèle de Domaine ¡ La manière traditionnelle Analyse Développement ConceptionGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 18
  • Constituer le modèle de Domaine ¡ Le Modèle de Domaine selon le DDDGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 19
  • Rôles DDDGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 20
  • GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 21
  • Nous gérons principalement lesdénonciations suite à descontraventions ou des délits.le but est d’encaisser le paiement del’amende que doit le contrevenantNous gérons des dossiersnotamment pour encaisser lesamendes.Un dossier est créé lorsquunepréfecture reçoit une dénonciation.Il permet de suivre les actionsréalisées de la procéduredencaissement. GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 22
  • GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 23
  • Mon modèle est il bon ou mauvais ?GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 24
  • …un modèle est adapté ou non à un usage [ Comment définir cet usage ?GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 25
  • Besoin métier Valider Concevoir Implémenter LogicielGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 26
  • « 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édureGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 27
  • Comportement d’un système vu de son usage 2 « Quand je fais l’action… » 3 « Alors je constate… » Enchaînement d’actions sous forme de scénarios 1 « Etant donné un contexte / un état … » SystèmeGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 28
  • Scénario abstraitSaisir 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 laction 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 GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 29
  • …et scénario concretEtant donné une dénonciation reçue par Gérard concernant Jérémie Grodziski05.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érence123987456Etant donné que linfraction a été commise le 19.03.2010 10:30 à AutorouteLausanne Genève, hauteur MorgesEtant donné que les dispositions légales enfreintes sont LCR 90/1, 91/4aQuand Gérard saisit la dénonciation pour CONTRAVENTIONS_PROCEDURE_SC a laPréfecture de Morges abrégée MORAlors un dossier suivant la procédure CONTRAVENTIONS_PROCEDURE_SC est crééAlors laction SAISIR_DENONCIATION est renseignée dans le suivi administratif avecla date du jour et lutilisateur zptdceAlors le dossier appartient à la Préfecture de MorgesAlors le dossier concerne Jérémie GrodziskiAlors le dossier se trouve dans l’état ATTENTE_DECISION_SENTENCEAlors le solde du dossier est égal a 0Alors une dénonciation liée au dossier est créée GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 30
  • Etant donné une dénonciation reçue par Gérard concernant Jérémie Grodziski05.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érence123987456Etant donné que linfraction a été commise le 19.03.2010 10:30 à AutorouteLausanne Genève, hauteur MorgesEtant donné que les dispositions légales enfreintes sont LCR 90/1, 91/4aQuand Gérard saisit la dénonciation pour CONTRAVENTIONS_PROCEDURE_SC a laPréfecture de Morges abrégée MORAlors un dossier suivant la procédure CONTRAVENTIONS_PROCEDURE_SC est crééAlors laction SAISIR_DENONCIATION est renseignée dans le suivi administratif avecla date du jour et lutilisateur zptdceAlors le dossier appartient à la Préfecture de MorgesAlors le dossier concerne Jérémie GrodziskiAlors le dossier se trouve dans l’état ATTENTE_DECISION_SENTENCEAlors le solde du dossier est égal a 0Alors une dénonciation liée au dossier est créée GW/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émieGrodziski 05.11.1976 pour une contravention CIRCULATION_ROUTIERE dontles faits sont "excés de vitesse » émise au 20.03.2010 par "laGendarmerie cantonale" référence 123987456Etant donné que linfraction a été commise le 19.03.2010 10:30 àAutoroute Lausanne Genève, hauteur MorgesEtant donné que les dispositions légales enfreintes sont LCR 90/1, 91/4aQuand Gérard saisit la dénonciation pour CONTRAVENTIONS_PROCEDURE_SC àla Préfecture de Morges abrégée MORAlors un dossier suivant la procédure CONTRAVENTIONS_PROCEDURE_SC estcrééAlors laction SAISIR_DENONCIATION est renseignée dans le suiviadministratif avec la date du jour et lutilisateur GérardAlors le dossier appartient à la Préfecture de MorgesAlors le dossier concerne Jérémie GrodziskiAlors le dossier se trouve dans l’état ATTENTE_DECISION_SENTENCEAlors le solde du dossier est égal a 0Alors une dénonciation liée au dossier est créée GW/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émieGrodziski 05.11.1976 pour une contravention CIRCULATION_ROUTIERE dontles faits sont « excés de vitesse » émise au 20.03.2010 par "laGendarmerie cantonale" référence 123987456Etant donné que linfraction a été commise le 19.03.2010 10:30 àAutoroute Lausanne Genève, hauteur MorgesEtant donné que les dispositions légales enfreintes sont LCR 90/1, 91/4aQuand Gérard saisit la dénonciation pour CONTRAVENTIONS_PROCEDURE_SC àla Préfecture de Morges abrégée MORAlors un dossier suivant la procédure CONTRAVENTIONS_PROCEDURE_SC estcrééAlors laction SAISIR_DENONCIATION est renseignée dans le suiviadministratif avec la date du jour et lutilisateur GérardAlors le dossier appartient à la Préfecture de MorgesAlors le dossier concerne Jérémie GrodziskiAlors le dossier se trouve dans l’état ATTENTE_DECISION_SENTENCEAlors le solde du dossier est égal a 0Alors une dénonciation liée au dossier est créée GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 33
  • Scénarios en succèsGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 34
  • Scénarios en échecGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 35
  • Sous le capot… un framework BDD Junit avec Exécution JBehave parse Modèle du Scénarios Adaptateurs TXT invoque Code Java exécute domaine / Code JavaGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 36
  • Adaptateurs du scénario vers le code des POJOs du domaineWhenThen GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 37
  • Adaptateurs du scénario vers le code des services métiers (avec persistance)WhenThen GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 38
  • Challenger mon modèle Modèle du Scénarios domaine / TXT Code JavaEtant donné une dénonciation reçue par Gérard concernantJérémie Grodziski 05.11.1976 pour une contraventionCIRCULATION_ROUTIERE dont les faits sont "excés devitesse » émise au 20.03.2010 par "la Gendarmeriecantonale" référence 123987456Etant donné que linfraction a été commise le 19.03.201010:30 à Autoroute Lausanne Genève, hauteur MorgesEtant donné que les dispositions légales enfreintes sont LCR90/1, 91/4aQuand Gérard saisit la dénonciation pourCONTRAVENTIONS_PROCEDURE_SC a la Préfecture deMorges abrégée MORAlors un dossier suivant la procédure exécuté parCONTRAVENTIONS_PROCEDURE_SC est crééAlors laction SAISIR_DENONCIATION est renseignée dansle suivi administratif avec la date du jour et lutilisateurzptdceAlors le dossier appartient à la Préfecture de MorgesAlors le dossier concerne Jérémie GrodziskiAlors le dossier se trouve dans l’étatATTENTE_DECISION_SENTENCE validé parAlors le solde du dossier est égal a 0Alors une dénonciation liée au dossier est créée GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 39
  • « Manifeste Agile » Processus et Individus et outils interactions Documentation Logiciels opérationnels exhaustive Négociation Collaboration avec les contractuelle utilisateurs Adaptation au Suivi d’un plan changement « Nous reconnaissons la valeur des seconds éléments mais privilégions les premiers »GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 40
  • « Manifeste Agile » Processus et Individus et outils interactions [DDD] Analyste/Concepteur = Développeur Documentation Logiciels opérationnels exhaustive [DDD et BDD] Les scénarios sont exécutables, Modèle =Négociation code Collaboration avec les contractuelle utilisateurs [BDD] Scénarios = Supports de validation Adaptation au Suivi d’un plan changement [BDD] « Nous reconnaissons la valeur des seconds éléments maisFeedback Itératifs, Cycles courts, privilégions lesimmmédiat » premiersGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 41
  • Incrémental ? Au niveau technique et fonctionnelAu niveau technique Test de l’interface web avec Selenium User Interface Test avec les services incluant la persistance Service Test avec les objets du domaine (POJO) ..avec le même scénario mais des adaptateurs différents ! Domaine Au niveau fonctionnel, avec des scénarios enrichis au fur et à mesure avec les cas exceptionnels et les cas d’erreursGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 42
  • 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 ?GW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 43
  • 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 à termeGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 44
  • La clé de l’agilité de l’approche Des scénarios exécutables permettent deBDD valider et deDDD construire le modèle du domaine dans des itérations courtes, de manièreAgilité incrémentale avec feedback immédiatGW/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 deBDD valider et deDDD construire le logiciel dans des itérations courtes, de manièreAgilité incrémentale avec feedback immédiatGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 46
  • QuestionsGW/PR/SEM/7967-1.3 - MDDay 2010 - Agilité et Modélisation 47