SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
lundi 12 octobre 2009
        agiletour.org/fr/at2009_geneve.html




                         B6
    Soigner sa schizophrénie MOA/MOE
Voyage au pays des spécifications exécutables
         Emmanuel HUGONNET
Soigner sa schizophrénie
          MOA / MOE
         Voyage autour des
      spécifications exécutables

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




                              Hervé Lourdin
                              Architecte Sénior / Coach agile
                              OCTO Technology
                              hlourdin@octo.com
Contrat de la session
Ce que vous verrez dans cette session
  • Une introduction aux spécifications exécutables ?
       • A quoi ca sert, pourquoi c'est utile…
  • Vivre un exemple basé sur la fonctionnalité d'authentification
  • Un panorama du domaine
       • outils existants : approches, les avantages et inconvénients
       • les père fondateurs


Ce que vous ne verrez pas dans cette session
   • Une démonstration des outils
       • cf. session Coding Dojo - Kata sur le pilotage par les tests
         d'acceptances (ATDD)
   • Une solution magique à tous vos problèmes
Double Personnalité
                       Double Audience
                  MOA                       MOE




"Stakeholders are the people
whose life you touch with your
software"
Dan North
Deux hémisphères

         MOA                         MOE

          Idées          Architecture




        Métier              Technique



             Valeur     Artisanat



Ce qu’il faut faire                 Bien faire
Un problème de communication
Communication
          MOA                       MOE


Client
                                                    Insatisfaction




                                                      Besoin
                                                      Couvert
exprime
                décrit
                         comprend
                                          délivre    Gaspillage
Fonctionnalités
 et leur utilisation
  pour un logiciel




Source CHAOS
Communication
 Définition de "terminé"
MOA                        MOE
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 doiven
                             t utiliser des mots
   de passe sécurisés
   (une chaine de caractère
                              s dont la taille est
   comprise entre 8 et 20
   Et qui contiennent au m
                             oins une lettre, un
   chiffre et un caractère s
                            pé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 "terminée" ?
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 "terminée" ?
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
                       "scientifiquement"
                       la théorie du
                       développeur
Enfin les tests : l’exploration
                                                        Aspect Métier

                                                                    Te
                                                         e             s
                                                       nc                  ts
Support du Développement



                                                   a                            Ex
                                             e   pt                               pl
                                           cc                                          or
                                                                                         at
                                        d'A




                                                                                                       Critique du Produit
                                    s                                                      oi
                                                                                                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
• Test Obsessed: Elisabeth Hendrickson
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 - "FAIT"
      • 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…)
ROTI
(Return On Time Invested)

    5 doigts : Excellente
    Super c'est exactement ce qu'il me fallait !


    4 doigts : Bonne
    Très intéressant,


    3 doigts : Juste Moyenne
    Intéressant, sans plus. Je n’ai pas perdu mon
    temps.


    2 doigts : Utile
    Bof ! J'ai perdu du temps.


    1 doigt : Inutile
    Je n'ai rien appris. J’ai vraiment perdu mon temps
merci aux sponsors !

Weitere ähnliche Inhalte

Ähnlich wie 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.2Emmanuel Hugonnet
 
Agilité et les Tests Utilisateurs
Agilité et les Tests UtilisateursAgilité et les Tests Utilisateurs
Agilité et les Tests UtilisateursSat Philora
 
Eb02 Ergonomie Creation Graphique D Un Site Web Et Processus Agile De Develop...
Eb02 Ergonomie Creation Graphique D Un Site Web Et Processus Agile De Develop...Eb02 Ergonomie Creation Graphique D Un Site Web Et Processus Agile De Develop...
Eb02 Ergonomie Creation Graphique D Un Site Web Et Processus Agile De Develop...Valtech
 
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
 
Construire un Design System dans une société d'assurance centenaire
Construire un Design System dans une société d'assurance centenaireConstruire un Design System dans une société d'assurance centenaire
Construire un Design System dans une société d'assurance centenaireGeoffrey Croftє
 
Des conférences à voir et à revoir
Des conférences à voir et à revoirDes conférences à voir et à revoir
Des conférences à voir et à revoirAnthony Maison
 
Nos Systèmes by Fing : "Kit d'auto-évaluation des algorithmes"
Nos Systèmes by Fing : "Kit d'auto-évaluation des algorithmes"Nos Systèmes by Fing : "Kit d'auto-évaluation des algorithmes"
Nos Systèmes by Fing : "Kit d'auto-évaluation des algorithmes"Fing
 
Collaboration In The Cloud
Collaboration In The CloudCollaboration In The Cloud
Collaboration In The CloudSogeti
 
Synthèse des travaux du licef sur les outils et les environnements de formati...
Synthèse des travaux du licef sur les outils et les environnements de formati...Synthèse des travaux du licef sur les outils et les environnements de formati...
Synthèse des travaux du licef sur les outils et les environnements de formati...Gilbert Paquette
 
Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019
Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019
Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019Oeil de Coach
 
comment rédiger une expression de besoins
comment rédiger une expression de besoinscomment rédiger une expression de besoins
comment rédiger une expression de besoinsAlexandre Zermati
 
Présentation Dataquitaine 2023.pdf
Présentation Dataquitaine 2023.pdfPrésentation Dataquitaine 2023.pdf
Présentation Dataquitaine 2023.pdfVIA INNO
 
Scikit Learn: Développement communautaire
Scikit Learn: Développement communautaireScikit Learn: Développement communautaire
Scikit Learn: Développement communautaireGael Varoquaux
 
Diginova - Session sur le machine learning avec ML.NET
Diginova - Session sur le machine learning avec ML.NETDiginova - Session sur le machine learning avec ML.NET
Diginova - Session sur le machine learning avec ML.NETJulien Chable
 
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
 

Ähnlich wie Soigner sa schizophrénie MOA/MOE - Voyage au pays des spécifications exécutables (20)

At2009 Soigner Sa Schizophrenie 1.2
At2009 Soigner Sa Schizophrenie 1.2At2009 Soigner Sa Schizophrenie 1.2
At2009 Soigner Sa Schizophrenie 1.2
 
Agilité et les Tests Utilisateurs
Agilité et les Tests UtilisateursAgilité et les Tests Utilisateurs
Agilité et les Tests Utilisateurs
 
Eb02 Ergonomie Creation Graphique D Un Site Web Et Processus Agile De Develop...
Eb02 Ergonomie Creation Graphique D Un Site Web Et Processus Agile De Develop...Eb02 Ergonomie Creation Graphique D Un Site Web Et Processus Agile De Develop...
Eb02 Ergonomie Creation Graphique D Un Site Web Et Processus Agile De Develop...
 
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...
 
Construire un Design System dans une société d'assurance centenaire
Construire un Design System dans une société d'assurance centenaireConstruire un Design System dans une société d'assurance centenaire
Construire un Design System dans une société d'assurance centenaire
 
Paris Chaos Engineering Meetup #5
Paris Chaos Engineering Meetup #5Paris Chaos Engineering Meetup #5
Paris Chaos Engineering Meetup #5
 
Brochure gbo
Brochure gboBrochure gbo
Brochure gbo
 
Des conférences à voir et à revoir
Des conférences à voir et à revoirDes conférences à voir et à revoir
Des conférences à voir et à revoir
 
Nos Systèmes by Fing : "Kit d'auto-évaluation des algorithmes"
Nos Systèmes by Fing : "Kit d'auto-évaluation des algorithmes"Nos Systèmes by Fing : "Kit d'auto-évaluation des algorithmes"
Nos Systèmes by Fing : "Kit d'auto-évaluation des algorithmes"
 
Collaboration In The Cloud
Collaboration In The CloudCollaboration In The Cloud
Collaboration In The Cloud
 
Web business model
Web business modelWeb business model
Web business model
 
Synthèse des travaux du licef sur les outils et les environnements de formati...
Synthèse des travaux du licef sur les outils et les environnements de formati...Synthèse des travaux du licef sur les outils et les environnements de formati...
Synthèse des travaux du licef sur les outils et les environnements de formati...
 
Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019
Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019
Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019
 
comment rédiger une expression de besoins
comment rédiger une expression de besoinscomment rédiger une expression de besoins
comment rédiger une expression de besoins
 
Présentation Dataquitaine 2023.pdf
Présentation Dataquitaine 2023.pdfPrésentation Dataquitaine 2023.pdf
Présentation Dataquitaine 2023.pdf
 
Scikit Learn: Développement communautaire
Scikit Learn: Développement communautaireScikit Learn: Développement communautaire
Scikit Learn: Développement communautaire
 
Diginova - Session sur le machine learning avec ML.NET
Diginova - Session sur le machine learning avec ML.NETDiginova - Session sur le machine learning avec ML.NET
Diginova - Session sur le machine learning avec ML.NET
 
Sprint0
Sprint0Sprint0
Sprint0
 
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
 

Mehr von Agile Tour Genève

Maitrise d'Ouvrage et Agilité
Maitrise d'Ouvrage et AgilitéMaitrise d'Ouvrage et Agilité
Maitrise d'Ouvrage et AgilitéAgile Tour Genève
 
Vers une infrastructure plus agile avec le Cloud Computing
Vers une infrastructure plus agile avec le Cloud ComputingVers une infrastructure plus agile avec le Cloud Computing
Vers une infrastructure plus agile avec le Cloud ComputingAgile Tour Genève
 
Rétrospective - Alchimiste-Agile.com
Rétrospective - Alchimiste-Agile.comRétrospective - Alchimiste-Agile.com
Rétrospective - Alchimiste-Agile.comAgile Tour Genève
 
Accompagner la transition vers l'agilité
Accompagner la transition vers l'agilitéAccompagner la transition vers l'agilité
Accompagner la transition vers l'agilitéAgile Tour Genève
 
Coding Dojo - Kata sur le pilotage par les tests d'acceptances (ATDD)
Coding Dojo - Kata sur le pilotage par les tests d'acceptances (ATDD)Coding Dojo - Kata sur le pilotage par les tests d'acceptances (ATDD)
Coding Dojo - Kata sur le pilotage par les tests d'acceptances (ATDD)Agile Tour Genève
 
Gestion des coûts et Projets Agiles
Gestion des coûts et Projets AgilesGestion des coûts et Projets Agiles
Gestion des coûts et Projets AgilesAgile Tour Genève
 
La parabole du trafic urbain (ou "Comment expliquer l'Agilité à grand-maman?")
La parabole du trafic urbain (ou "Comment expliquer l'Agilité à grand-maman?")La parabole du trafic urbain (ou "Comment expliquer l'Agilité à grand-maman?")
La parabole du trafic urbain (ou "Comment expliquer l'Agilité à grand-maman?")Agile Tour Genève
 
Les défis de Scrum pour une grande organisation
Les défis de Scrum pour une grande organisationLes défis de Scrum pour une grande organisation
Les défis de Scrum pour une grande organisationAgile Tour Genève
 
Spécifications et Planning : éxecution dans un monde Agile
Spécifications et Planning : éxecution dans un monde AgileSpécifications et Planning : éxecution dans un monde Agile
Spécifications et Planning : éxecution dans un monde AgileAgile Tour Genève
 
Pour passer la crise, remboursez votre dette technique !
Pour passer la crise, remboursez votre dette technique !Pour passer la crise, remboursez votre dette technique !
Pour passer la crise, remboursez votre dette technique !Agile Tour Genève
 
La face cachée de la mesure : une opportunité pour votre amélioration continue
La face cachée de la mesure : une opportunité pour votre amélioration continueLa face cachée de la mesure : une opportunité pour votre amélioration continue
La face cachée de la mesure : une opportunité pour votre amélioration continueAgile Tour Genève
 
Convergences entre CMMI et SCRUM / XP
Convergences entre CMMI et SCRUM / XPConvergences entre CMMI et SCRUM / XP
Convergences entre CMMI et SCRUM / XPAgile Tour Genève
 

Mehr von Agile Tour Genève (12)

Maitrise d'Ouvrage et Agilité
Maitrise d'Ouvrage et AgilitéMaitrise d'Ouvrage et Agilité
Maitrise d'Ouvrage et Agilité
 
Vers une infrastructure plus agile avec le Cloud Computing
Vers une infrastructure plus agile avec le Cloud ComputingVers une infrastructure plus agile avec le Cloud Computing
Vers une infrastructure plus agile avec le Cloud Computing
 
Rétrospective - Alchimiste-Agile.com
Rétrospective - Alchimiste-Agile.comRétrospective - Alchimiste-Agile.com
Rétrospective - Alchimiste-Agile.com
 
Accompagner la transition vers l'agilité
Accompagner la transition vers l'agilitéAccompagner la transition vers l'agilité
Accompagner la transition vers l'agilité
 
Coding Dojo - Kata sur le pilotage par les tests d'acceptances (ATDD)
Coding Dojo - Kata sur le pilotage par les tests d'acceptances (ATDD)Coding Dojo - Kata sur le pilotage par les tests d'acceptances (ATDD)
Coding Dojo - Kata sur le pilotage par les tests d'acceptances (ATDD)
 
Gestion des coûts et Projets Agiles
Gestion des coûts et Projets AgilesGestion des coûts et Projets Agiles
Gestion des coûts et Projets Agiles
 
La parabole du trafic urbain (ou "Comment expliquer l'Agilité à grand-maman?")
La parabole du trafic urbain (ou "Comment expliquer l'Agilité à grand-maman?")La parabole du trafic urbain (ou "Comment expliquer l'Agilité à grand-maman?")
La parabole du trafic urbain (ou "Comment expliquer l'Agilité à grand-maman?")
 
Les défis de Scrum pour une grande organisation
Les défis de Scrum pour une grande organisationLes défis de Scrum pour une grande organisation
Les défis de Scrum pour une grande organisation
 
Spécifications et Planning : éxecution dans un monde Agile
Spécifications et Planning : éxecution dans un monde AgileSpécifications et Planning : éxecution dans un monde Agile
Spécifications et Planning : éxecution dans un monde Agile
 
Pour passer la crise, remboursez votre dette technique !
Pour passer la crise, remboursez votre dette technique !Pour passer la crise, remboursez votre dette technique !
Pour passer la crise, remboursez votre dette technique !
 
La face cachée de la mesure : une opportunité pour votre amélioration continue
La face cachée de la mesure : une opportunité pour votre amélioration continueLa face cachée de la mesure : une opportunité pour votre amélioration continue
La face cachée de la mesure : une opportunité pour votre amélioration continue
 
Convergences entre CMMI et SCRUM / XP
Convergences entre CMMI et SCRUM / XPConvergences entre CMMI et SCRUM / XP
Convergences entre CMMI et SCRUM / XP
 

Soigner sa schizophrénie MOA/MOE - Voyage au pays des spécifications exécutables

  • 1. lundi 12 octobre 2009 agiletour.org/fr/at2009_geneve.html B6 Soigner sa schizophrénie MOA/MOE Voyage au pays des spécifications exécutables Emmanuel HUGONNET
  • 2. Soigner sa schizophrénie MOA / MOE Voyage autour des spécifications exécutables Emmanuel Hugonnet Rémy Sanlaville Architecture J2EE Expert Senior en Ingénierie Logicielle   Silverpeas Orange Labs emmanuel.hugonnet@silverpeas.com remy.sanlaville@orange-ftgroup.com Hervé Lourdin Architecte Sénior / Coach agile OCTO Technology hlourdin@octo.com
  • 3. Contrat de la session Ce que vous verrez dans cette session • Une introduction aux spécifications exécutables ? • A quoi ca sert, pourquoi c'est utile… • Vivre un exemple basé sur la fonctionnalité d'authentification • Un panorama du domaine • outils existants : approches, les avantages et inconvénients • les père fondateurs Ce que vous ne verrez pas dans cette session • Une démonstration des outils • cf. session Coding Dojo - Kata sur le pilotage par les tests d'acceptances (ATDD) • Une solution magique à tous vos problèmes
  • 4. Double Personnalité Double Audience MOA MOE "Stakeholders are the people whose life you touch with your software" Dan North
  • 5. Deux hémisphères MOA MOE Idées Architecture Métier Technique Valeur Artisanat Ce qu’il faut faire Bien faire
  • 6. Un problème de communication
  • 7. Communication MOA MOE Client Insatisfaction Besoin Couvert exprime décrit comprend délivre Gaspillage
  • 8. Fonctionnalités et leur utilisation pour un logiciel Source CHAOS
  • 9. Communication Définition de "terminé" MOA MOE
  • 10. ATDD cycle model by Jim Shore with changes suggested by Grigori Melnick, Brian Marick, and Elisabeth Hendrickson
  • 11. Ensemble tout devient possible Atelier de spécifications Bug Bash copyright by Hans Bjordahl — www.bugbash.net
  • 12. ATDD cycle model by Jim Shore with changes suggested by Grigori Melnick, Brian Marick, and Elisabeth Hendrickson
  • 13. Given … Un Langage When … Commun Then … External Domain Specific Language
  • 14. Spécifier par l’exemple Les histoires d’utilisateur sont décrites au travers d’exemples : les scénarii Les utilisateurs doiven t utiliser des mots de passe sécurisés (une chaine de caractère s dont la taille est comprise entre 8 et 20 Et qui contiennent au m oins une lettre, un chiffre et un caractère s pécial)
  • 15. 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 "terminée" ?
  • 16. 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 "terminée" ?
  • 17. 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
  • 18. 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 – …
  • 20. ATDD cycle model by Jim Shore with changes suggested by Grigori Melnick, Brian Marick, and Elisabeth Hendrickson
  • 23. ATDD cycle model by Jim Shore with changes suggested by Grigori Melnick, Brian Marick, and Elisabeth Hendrickson
  • 24. 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
  • 25. On commence au Rouge
  • 26. Il manque la Fixture Fixture: code de liaison entre le test (les tableaux) et le code du sysème testé (SUT)
  • 27. Ecriture de la Fixture
  • 30. TDD – Ecriture du Test
  • 31. TDD – Ecriture du Code
  • 34. Les tests d'acceptance sont le scanner du projet Les exemples permettent de prouver "scientifiquement" la théorie du développeur
  • 35. Enfin les tests : l’exploration Aspect Métier Te e s nc ts Support du Développement a Ex e pt pl cc or at d'A Critique du Produit s oi 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
  • 36. 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…
  • 37. 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 • Test Obsessed: Elisabeth Hendrickson
  • 38. 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 - "FAIT" • Demo : Validation Bref, une seule équipe
  • 39. 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…)
  • 40. ROTI (Return On Time Invested)  5 doigts : Excellente Super c'est exactement ce qu'il me fallait !  4 doigts : Bonne Très intéressant,  3 doigts : Juste Moyenne Intéressant, sans plus. Je n’ai pas perdu mon temps.  2 doigts : Utile Bof ! J'ai perdu du temps.  1 doigt : Inutile Je n'ai rien appris. J’ai vraiment perdu mon temps