SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
Soigner sa schizophrénie
             MOA / MOE
            Voyage autour des
         spécifications exécutables

                                   Rémy Sanlaville
                                   Expert Senior en Ingénierie Logicielle  
                                   Orange Labs
                                   remy.sanlaville@orange-ftgroup.com
Emmanuel Hugonnet
Architecture J2EE
Silverpeas
emmanuel.hugonnet@silverpeas.com

                                        Hervé Lourdin
                                        Architecte Sénior / Coach agile
                                        OCTO Technology
                                        hlourdin@octo.com
Double Personnalité
                       Double Audience

                 MOA                        MOE




quot;Stakeholders are the people
whose life you touch with your
softwarequot;
Dan North
Deux hémisphères

          MOA         MOE
Idées                   Architecture




Métier
                              Technique




 Valeur                     Artisanat




Ce qu’il faut faire    Bien faire
Fonctionnalités
 et leur utilisation
  pour un logiciel




Source CHAOS
Un problème de communication
Communication
Définition de quot;terminéquot;
ATDD cycle model by Jim Shore with changes suggested by
  Grigori Melnick, Brian Marick, and Elisabeth Hendrickson
Ensemble tout devient possible

      Atelier de spécifications




               Bug Bash copyright by Hans Bjordahl — www.bugbash.net
ATDD cycle model by Jim Shore with changes suggested by
  Grigori Melnick, Brian Marick, and Elisabeth Hendrickson
Given …
                                      Un Langage
                             When …       Commun



                                         Then …




External
       Domain Specific Language
Spécifier par l’exemple
Les histoires d’utilisateur sont décrites au
  travers d’exemples : les scénarii



   Les utilisateurs doivent utiliser des mots de passe sécurisés
   (une chaine de caractères dont la taille est comprise entre 8 et 20
   Et qui contiennent au moins une lettre, un chiffre et un caractère spécial)
Atelier de spécifications
                   Discussion
Que ce passe t'il si un utilisateur entre un mot de
  passe non sécurisé ?
Pouvez vous me donner des exemples de mots de
  passe sécurisés et non sécurisés ?
Quels sont les caractères spéciaux ?
Comment prend on en compte les espaces ?
Que fait on pour les mots de passe basés sur un
  dictionnaire avec une substitution simple comme
  ‘p@ssw0rd’?”
Comment gère t on les comptes existants ?
Comment savoir que cette fonction est quot;terminéequot; ?
Les scénarii

Etant donné un nouvel        Etant donné un nouvel
Utilisateur                  Utilisateur
Lorsqu'il crée un compte     Lorsqu'il crée un compte
avec un mot de passe         avec un mot de passe non
sécurisé                     sécurisé
Alors le message 'SUCCESS'   Alors le message 'FAILURE'
apparait                     apparait
Et lorsqu'il essaye de se    Et lorsqu'il essaye de se
connecter sur ce compte      connecter sur ce compte
Alors le message 'Hello      Alors il n'y parvient pas et
$login' apparait             le message 'FAILURE'
                             apparait
Exemples
• Exemples de mots de passe sécurisé
  – p@ssw0rd
  – d1ction n@ire
  – dictionnaire_01
• Exemples de mots de passe non sécurisés
  –   Trop court: p@sw0r
  –   Trop long: dictionnaire_01_ dictionnaire_01
  –   Sans chiffre: p@ssword
  –   …
L’information circule
ATDD cycle model by Jim Shore with changes suggested by
  Grigori Melnick, Brian Marick, and Elisabeth Hendrickson
Scénarii Distillés
Exemples
ATDD cycle model by Jim Shore with changes suggested by
  Grigori Melnick, Brian Marick, and Elisabeth Hendrickson
Développer

ATDD / BDD : bien faire ce que je dois faire
Le métier pilote le développement

TDD : bien faire les choses
Émergence du design
On commence au Rouge
Il manque la Fixture




Fixture: code de liaison entre le test (les tableaux) et le code du sysème testé (SUT)
Ecriture de la Fixture
Prêt à Développer
Première Etape
TDD – Ecriture du Test
TDD – Ecriture du Code
Vérification Fonctionnelle
Fonctionnalité Terminée
Les tests d'acceptance
sont le scanner du projet




                       Les exemples
                       permettent de
                       prouver
                       quot;scientifiquementquot;
                       la théorie du
                       développeur
Enfin les tests : l’exploration
                                                    Aspect Métier

                                                                Te
                                                   n ce            st
                                                                      s
Support du Développement




                                                pta                       Ex
                                                                            pl
                                             ce                                or
                                          'Ac                                    at




                                                                                            Critique du Produit
                                        d                                          oi
                                    s                                                re
                                 st                                                     s
                              Te


                                                                     Di
                                                                   Sc spo
                                          s                      Sé ala nib
                                       ire n                       cu bi ili
                                     ta o                            rit lité té
                                 U ni rati                              é
                              t s tég                               …*
                            es d'In                                   ité
                           T
                             et

                                                    Aspect Technologique
Rendre les spécifications
              exécutables


Différentes approches
  – Proche du code
    • JBehave, Rspec, Easyb…
  – Format moins technique
    • Wiki : Fitnesse/SLIM, GreenPepper…
    • HTML : Concordion, Robotframework…
  – De nouveaux outils en cours de maturation
    • Twist, JBehave 2…
Les Pères Fondateurs
• JBehave : Dan North, Chris Matt
• Test Driven Development: Kent Beck
• FIT: Ward Cunningham
• Example Driven Development: Brian
  Marick
• User Stories: Mike Cohn
• Domain Driven Design: Eric Evans
Bilan

Une meilleure communication entre les
différents acteurs du projet
      • Discuss : tous ensemble
      • Distill : définition par l'exemple
      • Develop : pilotage par l'exemple - quot;FAITquot;
      • Demo : Validation

            Bref, une seule équipe
Perspectives
 Emergence d'une nouvelle génération
 d'outils pour relever de nouveaux défis

• Intégration au cycle de vie du projet (SCM)
• Facilité de prise en main par la MOA
• Meilleure Intégration avec les outils de
développement
• Rapports plus complets (couverture des
exigences, évolution dans le temps…)

Más contenido relacionado

La actualidad más candente

Propulsez votre architectures grâce au TDD et aux Mocks (Agile Montréal 2014)
Propulsez votre architectures grâce au TDD et aux Mocks (Agile Montréal 2014)Propulsez votre architectures grâce au TDD et aux Mocks (Agile Montréal 2014)
Propulsez votre architectures grâce au TDD et aux Mocks (Agile Montréal 2014)Elapse Technologies
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange LabsEmmanuel Hugonnet
 
Domain-Specific Languages avec Groovy
Domain-Specific Languages avec GroovyDomain-Specific Languages avec Groovy
Domain-Specific Languages avec GroovyGuillaume Laforge
 
Propulsez votre architecture grâce au TDD et aux mocks (Agile Québec 2013)
Propulsez votre architecture grâce au TDD et aux mocks (Agile Québec 2013)Propulsez votre architecture grâce au TDD et aux mocks (Agile Québec 2013)
Propulsez votre architecture grâce au TDD et aux mocks (Agile Québec 2013)Elapse Technologies
 
Introduction rapide à 'objet et à UML
Introduction rapide à 'objet et  à UML Introduction rapide à 'objet et  à UML
Introduction rapide à 'objet et à UML Mireille Blay-Fornarino
 
Innover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans ruptureInnover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans ruptureGuillaume Laforge
 
AT Marseille 2011 - Réduisons les gaspillages
AT Marseille 2011 - Réduisons les gaspillagesAT Marseille 2011 - Réduisons les gaspillages
AT Marseille 2011 - Réduisons les gaspillagesJérôme Avoustin
 
Nuxeo Summer Seminar 2007 - Micro Research (FR)
Nuxeo Summer Seminar 2007 - Micro Research (FR)Nuxeo Summer Seminar 2007 - Micro Research (FR)
Nuxeo Summer Seminar 2007 - Micro Research (FR)Stefane Fermigier
 
Problemes architecturaux courants
Problemes architecturaux courantsProblemes architecturaux courants
Problemes architecturaux courantsElapse Technologies
 
Industrialisation en PHP
Industrialisation en PHPIndustrialisation en PHP
Industrialisation en PHPALTER WAY
 
Webinar dalisys externalisation_de_test_2012-09-20
Webinar dalisys externalisation_de_test_2012-09-20Webinar dalisys externalisation_de_test_2012-09-20
Webinar dalisys externalisation_de_test_2012-09-20DALISYS
 
Esclave de votre dette technique?
Esclave de votre dette technique?Esclave de votre dette technique?
Esclave de votre dette technique?Elapse Technologies
 
Mise en œuvre de TFS 2010 dans un environnement technologique hétérogène
Mise en œuvre de TFS 2010 dans un environnement technologique hétérogèneMise en œuvre de TFS 2010 dans un environnement technologique hétérogène
Mise en œuvre de TFS 2010 dans un environnement technologique hétérogèneMicrosoft Technet France
 
Mise en œuvre de TFS 2010 dans un environnement technologique hétérogène
Mise en œuvre de TFS 2010 dans un environnement technologique hétérogèneMise en œuvre de TFS 2010 dans un environnement technologique hétérogène
Mise en œuvre de TFS 2010 dans un environnement technologique hétérogèneGrégory Ott
 
Architecture Agile et développement durable (v 1.2)
 Architecture Agile et développement durable (v 1.2) Architecture Agile et développement durable (v 1.2)
Architecture Agile et développement durable (v 1.2)Elapse Technologies
 
Propulsez votre architecture grâce au TDD et aux Mocks (Agile Tour Québec 2012)
Propulsez votre architecture grâce au TDD et aux Mocks  (Agile Tour Québec 2012)Propulsez votre architecture grâce au TDD et aux Mocks  (Agile Tour Québec 2012)
Propulsez votre architecture grâce au TDD et aux Mocks (Agile Tour Québec 2012)Elapse Technologies
 

La actualidad más candente (18)

Propulsez votre architectures grâce au TDD et aux Mocks (Agile Montréal 2014)
Propulsez votre architectures grâce au TDD et aux Mocks (Agile Montréal 2014)Propulsez votre architectures grâce au TDD et aux Mocks (Agile Montréal 2014)
Propulsez votre architectures grâce au TDD et aux Mocks (Agile Montréal 2014)
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange Labs
 
Domain-Specific Languages avec Groovy
Domain-Specific Languages avec GroovyDomain-Specific Languages avec Groovy
Domain-Specific Languages avec Groovy
 
Propulsez votre architecture grâce au TDD et aux mocks (Agile Québec 2013)
Propulsez votre architecture grâce au TDD et aux mocks (Agile Québec 2013)Propulsez votre architecture grâce au TDD et aux mocks (Agile Québec 2013)
Propulsez votre architecture grâce au TDD et aux mocks (Agile Québec 2013)
 
Introduction rapide à 'objet et à UML
Introduction rapide à 'objet et  à UML Introduction rapide à 'objet et  à UML
Introduction rapide à 'objet et à UML
 
Innover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans ruptureInnover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans rupture
 
Le pilotage par les tests
Le pilotage par les testsLe pilotage par les tests
Le pilotage par les tests
 
AT Marseille 2011 - Réduisons les gaspillages
AT Marseille 2011 - Réduisons les gaspillagesAT Marseille 2011 - Réduisons les gaspillages
AT Marseille 2011 - Réduisons les gaspillages
 
Nuxeo Summer Seminar 2007 - Micro Research (FR)
Nuxeo Summer Seminar 2007 - Micro Research (FR)Nuxeo Summer Seminar 2007 - Micro Research (FR)
Nuxeo Summer Seminar 2007 - Micro Research (FR)
 
Problemes architecturaux courants
Problemes architecturaux courantsProblemes architecturaux courants
Problemes architecturaux courants
 
Industrialisation en PHP
Industrialisation en PHPIndustrialisation en PHP
Industrialisation en PHP
 
Webinar dalisys externalisation_de_test_2012-09-20
Webinar dalisys externalisation_de_test_2012-09-20Webinar dalisys externalisation_de_test_2012-09-20
Webinar dalisys externalisation_de_test_2012-09-20
 
Esclave de votre dette technique?
Esclave de votre dette technique?Esclave de votre dette technique?
Esclave de votre dette technique?
 
Mise en œuvre de TFS 2010 dans un environnement technologique hétérogène
Mise en œuvre de TFS 2010 dans un environnement technologique hétérogèneMise en œuvre de TFS 2010 dans un environnement technologique hétérogène
Mise en œuvre de TFS 2010 dans un environnement technologique hétérogène
 
Mise en œuvre de TFS 2010 dans un environnement technologique hétérogène
Mise en œuvre de TFS 2010 dans un environnement technologique hétérogèneMise en œuvre de TFS 2010 dans un environnement technologique hétérogène
Mise en œuvre de TFS 2010 dans un environnement technologique hétérogène
 
Initiation à l'agile
Initiation à l'agileInitiation à l'agile
Initiation à l'agile
 
Architecture Agile et développement durable (v 1.2)
 Architecture Agile et développement durable (v 1.2) Architecture Agile et développement durable (v 1.2)
Architecture Agile et développement durable (v 1.2)
 
Propulsez votre architecture grâce au TDD et aux Mocks (Agile Tour Québec 2012)
Propulsez votre architecture grâce au TDD et aux Mocks  (Agile Tour Québec 2012)Propulsez votre architecture grâce au TDD et aux Mocks  (Agile Tour Québec 2012)
Propulsez votre architecture grâce au TDD et aux Mocks (Agile Tour Québec 2012)
 

Similar a Soigner Sa Schizophrénie

Soigner sa schizophrénie MOA/MOE - Voyage au pays des spécifications exécutables
Soigner sa schizophrénie MOA/MOE - Voyage au pays des spécifications exécutablesSoigner sa schizophrénie MOA/MOE - Voyage au pays des spécifications exécutables
Soigner sa schizophrénie MOA/MOE - Voyage au pays des spécifications exécutablesAgile Tour Genève
 
At2009 Soigner Sa Schizophrenie 1.2
At2009 Soigner Sa Schizophrenie 1.2At2009 Soigner Sa Schizophrenie 1.2
At2009 Soigner Sa Schizophrenie 1.2Emmanuel Hugonnet
 
Friday Web 16 01 2009
Friday Web 16 01 2009Friday Web 16 01 2009
Friday Web 16 01 2009Arnaud_Pukan
 
Map mycost présentationjury
Map mycost présentationjuryMap mycost présentationjury
Map mycost présentationjuryLaurent MEURISSE
 
2004-09-23 Marc Fréchette Estimation des efforts de développement en projet i...
2004-09-23 Marc Fréchette Estimation des efforts de développement en projet i...2004-09-23 Marc Fréchette Estimation des efforts de développement en projet i...
2004-09-23 Marc Fréchette Estimation des efforts de développement en projet i...Jean Gariépy
 
Qualité éditoriale : la grande oubliée - Joël Ronez - Paris Web 2008
Qualité éditoriale : la grande oubliée - Joël Ronez - Paris Web 2008Qualité éditoriale : la grande oubliée - Joël Ronez - Paris Web 2008
Qualité éditoriale : la grande oubliée - Joël Ronez - Paris Web 2008Association Paris-Web
 
SRE - Mythes et Réalités - Volcamp 2023.pdf
SRE - Mythes et Réalités - Volcamp 2023.pdfSRE - Mythes et Réalités - Volcamp 2023.pdf
SRE - Mythes et Réalités - Volcamp 2023.pdfHenri Gomez
 
Conception d'interfaces responsive pour le Web
Conception d'interfaces responsive pour le WebConception d'interfaces responsive pour le Web
Conception d'interfaces responsive pour le Web_Tristan
 
Flyers sesames pour Entreprendre 2011
Flyers sesames pour Entreprendre 2011Flyers sesames pour Entreprendre 2011
Flyers sesames pour Entreprendre 2011CCIR LR
 
Introduction au Flow Framework et au Value Stream Management par Martin Deslo...
Introduction au Flow Framework et au Value Stream Management par Martin Deslo...Introduction au Flow Framework et au Value Stream Management par Martin Deslo...
Introduction au Flow Framework et au Value Stream Management par Martin Deslo...Agile Montréal
 
Keynote Fev 2017 - Présentation simplifiée Bachelor Developpement Web
Keynote Fev 2017 - Présentation simplifiée Bachelor Developpement WebKeynote Fev 2017 - Présentation simplifiée Bachelor Developpement Web
Keynote Fev 2017 - Présentation simplifiée Bachelor Developpement WebMatthieu Deboeuf Rouchon
 
SkillValue Master Class NodeJS 101
SkillValue Master Class NodeJS 101SkillValue Master Class NodeJS 101
SkillValue Master Class NodeJS 101Benoit Fillon
 
Projet carrière
Projet carrièreProjet carrière
Projet carrière96bobcat
 
Exp PossibilitéS Exponentielles
Exp   PossibilitéS ExponentiellesExp   PossibilitéS Exponentielles
Exp PossibilitéS ExponentiellesMaxime Archaqmbault
 
Brochure Générale
Brochure GénéraleBrochure Générale
Brochure Généraleetancrez
 

Similar a Soigner Sa Schizophrénie (20)

Soigner sa schizophrénie MOA/MOE - Voyage au pays des spécifications exécutables
Soigner sa schizophrénie MOA/MOE - Voyage au pays des spécifications exécutablesSoigner sa schizophrénie MOA/MOE - Voyage au pays des spécifications exécutables
Soigner sa schizophrénie MOA/MOE - Voyage au pays des spécifications exécutables
 
At2009 Soigner Sa Schizophrenie 1.2
At2009 Soigner Sa Schizophrenie 1.2At2009 Soigner Sa Schizophrenie 1.2
At2009 Soigner Sa Schizophrenie 1.2
 
Friday Web 16 01 2009
Friday Web 16 01 2009Friday Web 16 01 2009
Friday Web 16 01 2009
 
Map mycost présentationjury
Map mycost présentationjuryMap mycost présentationjury
Map mycost présentationjury
 
2004-09-23 Marc Fréchette Estimation des efforts de développement en projet i...
2004-09-23 Marc Fréchette Estimation des efforts de développement en projet i...2004-09-23 Marc Fréchette Estimation des efforts de développement en projet i...
2004-09-23 Marc Fréchette Estimation des efforts de développement en projet i...
 
Sbp présentation
Sbp présentationSbp présentation
Sbp présentation
 
Qualité éditoriale : la grande oubliée - Joël Ronez - Paris Web 2008
Qualité éditoriale : la grande oubliée - Joël Ronez - Paris Web 2008Qualité éditoriale : la grande oubliée - Joël Ronez - Paris Web 2008
Qualité éditoriale : la grande oubliée - Joël Ronez - Paris Web 2008
 
Brochure gbo
Brochure gboBrochure gbo
Brochure gbo
 
SRE - Mythes et Réalités - Volcamp 2023.pdf
SRE - Mythes et Réalités - Volcamp 2023.pdfSRE - Mythes et Réalités - Volcamp 2023.pdf
SRE - Mythes et Réalités - Volcamp 2023.pdf
 
Mes carrière
Mes carrièreMes carrière
Mes carrière
 
Conception d'interfaces responsive pour le Web
Conception d'interfaces responsive pour le WebConception d'interfaces responsive pour le Web
Conception d'interfaces responsive pour le Web
 
Flyers sesames pour Entreprendre 2011
Flyers sesames pour Entreprendre 2011Flyers sesames pour Entreprendre 2011
Flyers sesames pour Entreprendre 2011
 
4 réalisations des Ancres du canal
4 réalisations des Ancres du canal4 réalisations des Ancres du canal
4 réalisations des Ancres du canal
 
Nicolas
NicolasNicolas
Nicolas
 
Introduction au Flow Framework et au Value Stream Management par Martin Deslo...
Introduction au Flow Framework et au Value Stream Management par Martin Deslo...Introduction au Flow Framework et au Value Stream Management par Martin Deslo...
Introduction au Flow Framework et au Value Stream Management par Martin Deslo...
 
Keynote Fev 2017 - Présentation simplifiée Bachelor Developpement Web
Keynote Fev 2017 - Présentation simplifiée Bachelor Developpement WebKeynote Fev 2017 - Présentation simplifiée Bachelor Developpement Web
Keynote Fev 2017 - Présentation simplifiée Bachelor Developpement Web
 
SkillValue Master Class NodeJS 101
SkillValue Master Class NodeJS 101SkillValue Master Class NodeJS 101
SkillValue Master Class NodeJS 101
 
Projet carrière
Projet carrièreProjet carrière
Projet carrière
 
Exp PossibilitéS Exponentielles
Exp   PossibilitéS ExponentiellesExp   PossibilitéS Exponentielles
Exp PossibilitéS Exponentielles
 
Brochure Générale
Brochure GénéraleBrochure Générale
Brochure Générale
 

Más de Emmanuel Hugonnet

You're a pretty fly for a WildFly
You're a pretty fly for a WildFlyYou're a pretty fly for a WildFly
You're a pretty fly for a WildFlyEmmanuel Hugonnet
 
Agile Tour 2009 Coding Dojo Kata ATDD
Agile Tour 2009 Coding Dojo Kata ATDDAgile Tour 2009 Coding Dojo Kata ATDD
Agile Tour 2009 Coding Dojo Kata ATDDEmmanuel Hugonnet
 
Coding Dojo in the Alps - Retour d'expérience
Coding Dojo in the Alps - Retour d'expérienceCoding Dojo in the Alps - Retour d'expérience
Coding Dojo in the Alps - Retour d'expérienceEmmanuel Hugonnet
 
Java Content Repository avec Jackrabbit
Java Content Repository avec JackrabbitJava Content Repository avec Jackrabbit
Java Content Repository avec JackrabbitEmmanuel Hugonnet
 
Le modèle d’acquisition de compétences de Dreyfus
Le modèle d’acquisition de compétences de DreyfusLe modèle d’acquisition de compétences de Dreyfus
Le modèle d’acquisition de compétences de DreyfusEmmanuel Hugonnet
 
Ddj Architecture & Design The Distributed Agile Team
Ddj   Architecture &  Design   The Distributed Agile TeamDdj   Architecture &  Design   The Distributed Agile Team
Ddj Architecture & Design The Distributed Agile TeamEmmanuel Hugonnet
 
Industrialisation Du Logiciel Introduction Et Bonnes Pratiques V1.4
Industrialisation Du Logiciel   Introduction Et Bonnes Pratiques   V1.4Industrialisation Du Logiciel   Introduction Et Bonnes Pratiques   V1.4
Industrialisation Du Logiciel Introduction Et Bonnes Pratiques V1.4Emmanuel Hugonnet
 
At2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicAt2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicEmmanuel Hugonnet
 
At2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicAt2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicEmmanuel Hugonnet
 
Ddj Architecture & Design Beyond Functional Requirements On Agile Projects
Ddj   Architecture & Design   Beyond Functional Requirements On Agile ProjectsDdj   Architecture & Design   Beyond Functional Requirements On Agile Projects
Ddj Architecture & Design Beyond Functional Requirements On Agile ProjectsEmmanuel Hugonnet
 
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel  - Introduction Et Bonnes PratiquesIndustrialisation Du Logiciel  - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel - Introduction Et Bonnes PratiquesEmmanuel Hugonnet
 

Más de Emmanuel Hugonnet (14)

You're a pretty fly for a WildFly
You're a pretty fly for a WildFlyYou're a pretty fly for a WildFly
You're a pretty fly for a WildFly
 
J2EE m’a tuer
J2EE m’a tuerJ2EE m’a tuer
J2EE m’a tuer
 
At2009 Coding Dojo ATDD
At2009 Coding Dojo ATDDAt2009 Coding Dojo ATDD
At2009 Coding Dojo ATDD
 
Agile Tour 2009 Coding Dojo Kata ATDD
Agile Tour 2009 Coding Dojo Kata ATDDAgile Tour 2009 Coding Dojo Kata ATDD
Agile Tour 2009 Coding Dojo Kata ATDD
 
Coding Dojo in the Alps - Retour d'expérience
Coding Dojo in the Alps - Retour d'expérienceCoding Dojo in the Alps - Retour d'expérience
Coding Dojo in the Alps - Retour d'expérience
 
Java Content Repository avec Jackrabbit
Java Content Repository avec JackrabbitJava Content Repository avec Jackrabbit
Java Content Repository avec Jackrabbit
 
Le modèle d’acquisition de compétences de Dreyfus
Le modèle d’acquisition de compétences de DreyfusLe modèle d’acquisition de compétences de Dreyfus
Le modèle d’acquisition de compétences de Dreyfus
 
Ddj Architecture & Design The Distributed Agile Team
Ddj   Architecture &  Design   The Distributed Agile TeamDdj   Architecture &  Design   The Distributed Agile Team
Ddj Architecture & Design The Distributed Agile Team
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
Industrialisation Du Logiciel Introduction Et Bonnes Pratiques V1.4
Industrialisation Du Logiciel   Introduction Et Bonnes Pratiques   V1.4Industrialisation Du Logiciel   Introduction Et Bonnes Pratiques   V1.4
Industrialisation Du Logiciel Introduction Et Bonnes Pratiques V1.4
 
At2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicAt2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville Public
 
At2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicAt2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville Public
 
Ddj Architecture & Design Beyond Functional Requirements On Agile Projects
Ddj   Architecture & Design   Beyond Functional Requirements On Agile ProjectsDdj   Architecture & Design   Beyond Functional Requirements On Agile Projects
Ddj Architecture & Design Beyond Functional Requirements On Agile Projects
 
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel  - Introduction Et Bonnes PratiquesIndustrialisation Du Logiciel  - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
 

Soigner Sa Schizophrénie

  • 1. Soigner sa schizophrénie MOA / MOE Voyage autour des spécifications exécutables Rémy Sanlaville Expert Senior en Ingénierie Logicielle   Orange Labs remy.sanlaville@orange-ftgroup.com Emmanuel Hugonnet Architecture J2EE Silverpeas emmanuel.hugonnet@silverpeas.com Hervé Lourdin Architecte Sénior / Coach agile OCTO Technology hlourdin@octo.com
  • 2. Double Personnalité Double Audience MOA MOE quot;Stakeholders are the people whose life you touch with your softwarequot; Dan North
  • 3. Deux hémisphères MOA MOE Idées Architecture Métier Technique Valeur Artisanat Ce qu’il faut faire Bien faire
  • 4. Fonctionnalités et leur utilisation pour un logiciel Source CHAOS
  • 5. Un problème de communication
  • 7. ATDD cycle model by Jim Shore with changes suggested by Grigori Melnick, Brian Marick, and Elisabeth Hendrickson
  • 8. Ensemble tout devient possible Atelier de spécifications Bug Bash copyright by Hans Bjordahl — www.bugbash.net
  • 9. ATDD cycle model by Jim Shore with changes suggested by Grigori Melnick, Brian Marick, and Elisabeth Hendrickson
  • 10. Given … Un Langage When … Commun Then … External Domain Specific Language
  • 11. Spécifier par l’exemple Les histoires d’utilisateur sont décrites au travers d’exemples : les scénarii Les utilisateurs doivent utiliser des mots de passe sécurisés (une chaine de caractères dont la taille est comprise entre 8 et 20 Et qui contiennent au moins une lettre, un chiffre et un caractère spécial)
  • 12. Atelier de spécifications Discussion Que ce passe t'il si un utilisateur entre un mot de passe non sécurisé ? Pouvez vous me donner des exemples de mots de passe sécurisés et non sécurisés ? Quels sont les caractères spéciaux ? Comment prend on en compte les espaces ? Que fait on pour les mots de passe basés sur un dictionnaire avec une substitution simple comme ‘p@ssw0rd’?” Comment gère t on les comptes existants ? Comment savoir que cette fonction est quot;terminéequot; ?
  • 13. Les scénarii Etant donné un nouvel Etant donné un nouvel Utilisateur Utilisateur Lorsqu'il crée un compte Lorsqu'il crée un compte avec un mot de passe avec un mot de passe non sécurisé sécurisé Alors le message 'SUCCESS' Alors le message 'FAILURE' apparait apparait Et lorsqu'il essaye de se Et lorsqu'il essaye de se connecter sur ce compte connecter sur ce compte Alors le message 'Hello Alors il n'y parvient pas et $login' apparait le message 'FAILURE' apparait
  • 14. Exemples • Exemples de mots de passe sécurisé – p@ssw0rd – d1ction n@ire – dictionnaire_01 • Exemples de mots de passe non sécurisés – Trop court: p@sw0r – Trop long: dictionnaire_01_ dictionnaire_01 – Sans chiffre: p@ssword – …
  • 16. ATDD cycle model by Jim Shore with changes suggested by Grigori Melnick, Brian Marick, and Elisabeth Hendrickson
  • 19. ATDD cycle model by Jim Shore with changes suggested by Grigori Melnick, Brian Marick, and Elisabeth Hendrickson
  • 20. Développer ATDD / BDD : bien faire ce que je dois faire Le métier pilote le développement TDD : bien faire les choses Émergence du design
  • 21. On commence au Rouge
  • 22. Il manque la Fixture Fixture: code de liaison entre le test (les tableaux) et le code du sysème testé (SUT)
  • 23. Ecriture de la Fixture
  • 26. TDD – Ecriture du Test
  • 27. TDD – Ecriture du Code
  • 30. Les tests d'acceptance sont le scanner du projet Les exemples permettent de prouver quot;scientifiquementquot; la théorie du développeur
  • 31. Enfin les tests : l’exploration Aspect Métier Te n ce st s Support du Développement pta Ex pl ce or 'Ac at Critique du Produit d oi s re st s Te Di Sc spo s Sé ala nib ire n cu bi ili ta o rit lité té U ni rati é t s tég …* es d'In ité T et Aspect Technologique
  • 32. Rendre les spécifications exécutables Différentes approches – Proche du code • JBehave, Rspec, Easyb… – Format moins technique • Wiki : Fitnesse/SLIM, GreenPepper… • HTML : Concordion, Robotframework… – De nouveaux outils en cours de maturation • Twist, JBehave 2…
  • 33. Les Pères Fondateurs • JBehave : Dan North, Chris Matt • Test Driven Development: Kent Beck • FIT: Ward Cunningham • Example Driven Development: Brian Marick • User Stories: Mike Cohn • Domain Driven Design: Eric Evans
  • 34. Bilan Une meilleure communication entre les différents acteurs du projet • Discuss : tous ensemble • Distill : définition par l'exemple • Develop : pilotage par l'exemple - quot;FAITquot; • Demo : Validation Bref, une seule équipe
  • 35. Perspectives Emergence d'une nouvelle génération d'outils pour relever de nouveaux défis • Intégration au cycle de vie du projet (SCM) • Facilité de prise en main par la MOA • Meilleure Intégration avec les outils de développement • Rapports plus complets (couverture des exigences, évolution dans le temps…)