Soigner sa schizophrénie
             MOA / MOE
            Voyage autour des
         spécifications exécutables

       ...
Double Personnalité
                       Double Audience

                 MOA                        MOE




quot;Stake...
Deux hémisphères

          MOA         MOE
Idées                   Architecture




Métier
                              ...
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 — w...
ATDD cycle model by Jim Shore with changes suggested by
  Grigori Melnick, Brian Marick, and Elisabeth Hendrickson
Given …
                                      Un Langage
                             When …       Commun



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



   Les utilisa...
Atelier de spécifications
                   Discussion
Que ce passe t'il si un utilisateur entre un mot de
  passe non sé...
Les scénarii

Etant donné un nouvel        Etant donné un nouvel
Utilisateur                  Utilisateur
Lorsqu'il crée u...
Exemples
• Exemples de mots de passe sécurisé
  – p@ssw0rd
  – d1ction n@ire
  – dictionnaire_01
• Exemples de mots de pas...
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
Ém...
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...
Enfin les tests : l’exploration
                                                    Aspect Métier

                       ...
Rendre les spécifications
              exécutables


Différentes approches
  – Proche du code
    • JBehave, Rspec, Easyb...
Les Pères Fondateurs
• JBehave : Dan North, Chris Matt
• Test Driven Development: Kent Beck
• FIT: Ward Cunningham
• Examp...
Bilan

Une meilleure communication entre les
différents acteurs du projet
      • Discuss : tous ensemble
      • Distill ...
Perspectives
 Emergence d'une nouvelle génération
 d'outils pour relever de nouveaux défis

• Intégration au cycle de vie ...
Prochain SlideShare
Chargement dans…5
×

Soigner Sa Schizophrénie

2 520 vues

Publié le

Présentation du pilotage du développement par les tests d'acceptance faite aux XPDay de Paris.

Publié dans : Technologie, Santé & Médecine
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 520
Sur SlideShare
0
Issues des intégrations
0
Intégrations
121
Actions
Partages
0
Téléchargements
44
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Soigner Sa Schizophrénie

  1. 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. 2. Double Personnalité Double Audience MOA MOE quot;Stakeholders are the people whose life you touch with your softwarequot; Dan North
  3. 3. Deux hémisphères MOA MOE Idées Architecture Métier Technique Valeur Artisanat Ce qu’il faut faire Bien faire
  4. 4. Fonctionnalités et leur utilisation pour un logiciel Source CHAOS
  5. 5. Un problème de communication
  6. 6. Communication Définition de quot;terminéquot;
  7. 7. ATDD cycle model by Jim Shore with changes suggested by Grigori Melnick, Brian Marick, and Elisabeth Hendrickson
  8. 8. Ensemble tout devient possible Atelier de spécifications Bug Bash copyright by Hans Bjordahl — www.bugbash.net
  9. 9. ATDD cycle model by Jim Shore with changes suggested by Grigori Melnick, Brian Marick, and Elisabeth Hendrickson
  10. 10. Given … Un Langage When … Commun Then … External Domain Specific Language
  11. 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. 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. 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. 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 – …
  15. 15. L’information circule
  16. 16. ATDD cycle model by Jim Shore with changes suggested by Grigori Melnick, Brian Marick, and Elisabeth Hendrickson
  17. 17. Scénarii Distillés
  18. 18. Exemples
  19. 19. ATDD cycle model by Jim Shore with changes suggested by Grigori Melnick, Brian Marick, and Elisabeth Hendrickson
  20. 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. 21. On commence au Rouge
  22. 22. Il manque la Fixture Fixture: code de liaison entre le test (les tableaux) et le code du sysème testé (SUT)
  23. 23. Ecriture de la Fixture
  24. 24. Prêt à Développer
  25. 25. Première Etape
  26. 26. TDD – Ecriture du Test
  27. 27. TDD – Ecriture du Code
  28. 28. Vérification Fonctionnelle
  29. 29. Fonctionnalité Terminée
  30. 30. Les tests d'acceptance sont le scanner du projet Les exemples permettent de prouver quot;scientifiquementquot; la théorie du développeur
  31. 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. 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. 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. 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. 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…)

×