SlideShare ist ein Scribd-Unternehmen logo
1 von 72
Downloaden Sie, um offline zu lesen
USER STORY
                           Yannick Quenec’hdu
                         yquenechdu@gmail.com




vendredi 24 juin 2011
AGENDAS

         • Qu'est-ce           qu’une user story

         • Modéliser           le rôle de l’utilisateur

         • Écrire         des user stories

         • INVEST(IR)            dans une bonne user story

         • Les          story ne sont pas ...

         • Pourquoi           des user story


vendredi 24 juin 2011
Des spécifications de mauvaises qualités

       Les spécifications de mauvaises qualités sont souvent mentionnées comme l’une
       des principales causes de l'échec d’un projet

              1. Qu’elle est le processus qui engendre des spécifications de mauvaises
                qualités .

              2. Quels sont les problèmes qui résultent d’une spécification de
                mauvaise qualité ?




vendredi 24 juin 2011
AGILE ET LES USERS STORIES




        Agile est associé à l'expérience utilisateur

                        On raconte une histoire : User stories

                        On montre notre histoire : Prototype




vendredi 24 juin 2011
u’est  ce q  u’une
                        Q
                               s tor y




vendredi 24 juin 2011
RON JEFFRIES LES TROIS C

                                          •Les story sont traditionnellement écrits sur des
                                          cartes
                           Carte
                                          •Les cartes peuvent être annotées avec des
                                          estimations, commentaires, etc.




                                          Les détails derrières les cartes peuvent être étudiés
                        Conversation
                                            durant les conversations avec le product owner




                                             La validation des tests confirme que les story
                        Confirmation
                                                   ont été développés correctement




vendredi 24 juin 2011
EXEMPLE DEPUIS UN SITE DE VOYAGES

                                             je suis
             je suis un                              un voy
                                                            ageur,
                   , je veux
       utilisateur hôtel
                                               je veux
                                                       voir les
                                             photos
        rés er ver un                                 de l'hô
                                                              tel
            je suis un ut
                          ilisateur, je   Comme je suis un vo
               veux annule                                        yageur
                              r une       fréquent, je veux faire
                  réser vation                                      une
                                           nouvelle réser vation
                                                                   d’un
                                          voyage déjà effectué,
                        SP : 8                                    pour
                                               gagner du temps
                        BV : 1
                                                    SP : 5
                                                    BV : 2

vendredi 24 juin 2011
UNE RECOMMANDATION



                        Utiliser ce masque

                              Je suis « Rôle de l’utilisateur »,
                                      je veux « But »,
                                 les « conditions » pour ...




vendredi 24 juin 2011
QUELS SONT LES DÉTAILS ?
   •   Je suis un utilisateur, je veux annuler une réservation

         •   Le client reçoit un remboursement complet ou partiel

              -     Je rembourse directement sur son compte ou à l’intermédiaire

         •   Comment doit fonctionner l’annulation d’une réservation ?

              -   C’est le même principe pour tous les hôtels ?

              -   Un voyageur fréquent peut-il annuler après sa réservation

         •   Une confirmation est adressée à l’utilisateur ?

              -   Comment ?


vendredi 24 juin 2011
LES DÉTAILS SONT AJOUTÉS EN PETITES USER STORIES

                                        Je suis un utilisateur
                                         premium, je peux
                                            annuler une
                                          réservation à la
                                          dernière minute
                       je suis un              Je ne suis pas un
                 utilisateur, je veux      utilisateur premium, je
                     annuler une              peux annuler ma
                      réservation           réservation 24 hrs à
                                                    l’avance

                                        Je suis un partenaire,
                                        j’adresse un courriel
                                         pour annuler toutes
                                           mes réservations


vendredi 24 juin 2011
LES DÉTAILS SONT AUSSI UNE CONDITION DE
                             SATISFACTION
   • Le product owner peut ajouter aux users stories des
     conditions de satisfaction
     • Ce sont essentiellement des vérifications

                           je suis un
                         utilisateur, je
                         veux annuler        Vérifier qu’un premium peut annuler
                        une réservation le jour même sans charge supplémentaire
                                              Vérifier qu’un non-premium paye 10%
                                         du montant en cas d’annulation le jour de
                                         sa réservation
                                              Vérifier qu’il y a bien un courriel qui
                                         est adressé en cas d’annulation
                                              Vérifier que l'hôtel est bien notifié de
                                         l’ensemble des annulations

vendredi 24 juin 2011
UN EXEMPLE DE JEUX DE DÉVELOPPEMENT



           Je suis un joueur, je veux
          que les ennemis aient une
          réaction physique quand je
                   les touche
                                        Un ennemi bascule sur la gauche
                                   quand je le touche sur la gauche et sur la
                                   droite quand je le touche sur la droite
                                        Un ennemi bascule vers l’avant quand
                                   je le touche au centre
                                        Un ennemi tombe en arrière quand je
                                   le touche à la tête


vendredi 24 juin 2011
LES TECHNIQUES PEUVENT ÊTRE COMBINÉES


   • Ces           approches ne s’excluent pas mutuellement

   • Il faut essayer d’écrire les user stories à un niveau de détails
       approprié et de favoriser les conditions de satisfaction

   • Au    moment où elles seront mises en oeuvre, chaque user
       stories devra avoir une condition de satisfaction qui lui sera
       associée

         • Permet       de vérifier la user story



vendredi 24 juin 2011
le rô le de
                        Modéliser
                            l ’utilisateur




vendredi 24 juin 2011
LE RÔLE UTILISATEUR

   • Élargir            le périmètre de recherche à plus d’un utilisateur

   • Étudier            les variations des utilisateurs :

         -   Comment il utilise le logiciel

         -   Pourquoi il utilise le logiciel

         -   Est-il familiarisé avec les ordinateurs

         -   Connaît-il le contexte métier de l’application

   • Utiliser           intensivement la conception centrée sur l’utilisateur


vendredi 24 juin 2011
LE PERSONA


       Pour améliorer la satisfaction des utilisateurs, nous favorisons la
       conception centrée sur l’utilisateur

       Le Persona est un élément important de la conception centrée
       sur l’utilisateur

       Le persona est représente un personnage imaginaire, il permet
       de représenter un groupe d’utilisateur




vendredi 24 juin 2011
UNE CARTE PERSONA




vendredi 24 juin 2011
EXEMPLE DE PERSONA :
                        DE LA BANQUE ILIKEYOURMONEY

                                  • Les   rôles utilisateurs

                                    • Chef   de famille

                                    • Indépendant

                                    • VIP

                                    • Innovateur

                                    • Phobique



vendredi 24 juin 2011
RÔLE À HAUTE VALEUR

   • Chef               de famille
         -   Fait attention aux revenus de la famille. Aime ses enfants, se préoccupe de
             leur éducation et de leur santé. Typiquement conservatrice

   • Phobique
         -   N’aime pas les investissements et ne les comprends pas

   • Indépendant
         -   Veux sa liberté et son indépendance financière

   • Anonyme
         -   Extrêmement privé, ne veux donner aucune information. Très loyale une fois
             la confiance acquise

vendredi 24 juin 2011
RÔLE À TRÈS HAUTE VALEUR
    •   Le nabab
         -   Recherche le pouvoir, l’influence et le contrôle. Investi d’une autre manière pour
             montrer sa différence et son importance

    •   VIP
         -   il veut du prestige, il veut investir pour acheter des biens

    •   Accumulateur
         -   Vie au dessous de ses moyens et ne montre pas de signe extérieur de richesse

    •   Parieur
         -   Investi pour l’excitation, le drame et les performances des résultats

    •   innovateurs
         -   Aime les nouveaux produits, stratégies et services. Possède une culture technique


vendredi 24 juin 2011
BRAINSTORMING DU RÔLE UTILISATEUR
       Exemple de déroulement d’une réunion de brainstorming

         •   Participants : clients, développeurs, toutes les personnes à valeurs
             ajoutées qui comprennent le produit attendu par l’utilisateur

                        ✓ Tout    le monde prend un jeu de cartes

                        ✓ Écrire   le nom des rôles sur les cartes

                          -   Le plus rapidement possible et sans jugement

                              -   Pas de tour

                          -   Placer les cartes sur la table

                          -   Donner des noms aux rôles

vendredi 24 juin 2011
ORGANISER, CONSOLIDER, AFFINER



                        étudiant
                                                Recruteur
                            Chercheur              Chasseur de
                                   Enseignant          têtes



                        chômeur                 Admin sys
                           sans emploi
                                                 Développeur



vendredi 24 juin 2011
BRAINSTORMING DU RÔLE UTILISATEUR

                        Vous êtes un célibataire, vous abonnez à un site de
                                            rencontre :
                        - Vous chercher des femmes célibataires
                        - Dans la même, tranche d'âge que vous
                        - avec ou sans enfants
                        - Avec un objectif de se rencontrer rapidement


                1. Étudier le rôle utilisateur qui interagit avec le site
                2. Organiser, consolider, affiner plusieurs modèles de
                rôle pour ce site



vendredi 24 juin 2011
AVANTAGES D’UTILISER LES RÔLES

                                            Nous faisons parler « un passager
               Au lieu de faire parler
                                             fréquent » ou « un voyageur
                     l’utilisateur
                                                      sporadique »



                  L’utilisateur devient    Penser le logiciel en pensant à ce dont
                          tangible                  l’utilisateur a besoin




                 Intégrer le rôle dans    Je suis «Role utilisateur», je veux «But»
                    une user story                 avec comme bénéfice...




vendredi 24 juin 2011
BÉNÉFICES
              Les Personnages servent de fil rouge au projet

       • Le format est plus engageant et apporte le
         STORYTELLING
       • L’information est spécifique: ce n’est plus «80% de
         femme», «entre 25 et 35 ans», …. c’est Sophie, 32ans,
         Assistante Marketing
       • L’accent est mis sur les BUTS & Comportements
         utilisateurs
       • Les bénéfices sont réels et bien plus étendus que sur les
         autres formats: VISION partagée, PRIORISATION,
         DESIGN D’INTERFACE, mais aussi potentiellement
         communication, formation, commerce et activités
         marketing.

vendredi 24 juin 2011
UTILISATEUR SYSTÈME OU DÉVELOPPEUR



                            Dans le système de
                        vérification de paiement, je
                            veux que toutes les
                            transactions soient
                            formatées en XML
                                                      En tant que programmeur,
                                                        je veux une API pour
                                                       supprimer les widget en
                                                           base de données




vendredi 24 juin 2011
r une  user
                        R édige
                               s tor y




vendredi 24 juin 2011
L’ICEBERG DU PRODUIT BACKLOG


                          Sprint



                   Release                         Priorité


  Future
  Release



vendredi 24 juin 2011
L’ICEBERG DU PRODUIT BACKLOG
                                              User Story

        Thèmes
                                                Une description des
                                               user stories souhaitées
           Une collection de                     en se positionnant
           user stories sur le                 dans une perspective
            même thème                                utilisateur




                        Epic

              Des user stories macro

vendredi 24 juin 2011
Un exemple
                                          Je suis un musicien, je veux
                                           afficher les musiques par
                                          catégorie qui ont le mieux
                                           marché dans une période
                                               de temps précise
           Je suis un musicien, je veux
             gérer mes morceaux de
                     musique                       Epic ?
                                          Je suis un musicien, je veux
                  Clairement une Epic     sélectionner une catégorie
                                           de musique selon un type
                                            de format (audio, vidéo,
                                            etc.) sur une période de
                                                  temps précise.


vendredi 24 juin 2011
Un exemple

                        Je suis un musicien, je veux
                             obtenir la liste des
                         musiques au format audio
                           pour une période de
                               temps précise
                                                  Je suis un musicien, je
                                                 veux obtenir la liste des
                                                musiques au format vidéo
                                                  pour une période de
                                                      temps précise


                                                                             ...



vendredi 24 juin 2011
TERMINER, EN AJOUTANT LES CONDITIONS DE
                SATISFACTION



                          Je suis un musicien, je veux
                         afficher les musiques les plus
                        populaires par catégorie dans
                        une période de temps précise

                                                         • Afficher le nombre d’albums
                                                                vendus par musique
                                                         •   Afficher le nombre d’écoutes
                                                                    par musique




vendredi 24 juin 2011
Un autre
           exemple


        Je suis un joueur, je veux
         jouer en ligne en mode
            multiplayer, je me
        connecte à internet et je
       peux jouer contre d’autres      En tant que joueur, je
                 joueurs               veux avoir accès à un
                                        espace central pour
          Clairement une epic        consulter les parties qui
                                      me sont disponibles et
                                      pouvoir rejoindre celle
                                            que je veux
                                           Epic ?
vendredi 24 juin 2011
Un exemple

                        Je suis un joueur et je veux
                            savoir le nombre de
                          joueurs qui sont dans la
                               partie en cours

                                              Je suis un joueur, je veux
                                                rejoindre la partie en
                                                        cours


                                                                    Je suis un joueur, je veux
                                                                     démarrer une nouvelle
                                                                              partie



vendredi 24 juin 2011
ATELIER D’ÉCRITURE DES USER STORIES
                               SPRINT 0
       • Participants          : product owner, utilisateurs, client, équipe, etc.

       • Réflexion            pour générer les users stories

       • Le         but est d’écrire le plus grand nombre de user stories

             -   Commencer avec les fonctions macro (EPIC)

             -   travailler sur les détails pour les users stories qui seront
                 développées prochainement

       • Pas            de gestion des priorités pour le moment

            Se référer à la présentation Sprint 0 pour plus de détails
vendredi 24 juin 2011
CRÉER DES HISTOIRES
          Je me nomme Jacques, je voudrais étudier le droit à la faculté. Mon ami
          Marie m’a conseillé d’utiliser le formulaire d’inscription que la faculté
          propose sur son site Internet. Elle me dit qu’une fois que j’aurais déposé
          mon formulaire, un responsable de la faculté ira l’étudier et
          éventuellement le valider, ainsi j’aurais rapidement une réponse à mon
          inscription

            Je traduis en user stories
                         Je suis un étudiant, je    Je suis un responsable,
                                  veux                       je veux
                           remplir un dossier            consulter les
                              d’inscription        inscriptions en attentes


                                                            Je suis un
                         Je suis un étudiant, je      responsable, je veux
                           veux connaître le           valider/rejeter les
                        statut de mon dossier              inscriptions

vendredi 24 juin 2011
COMMENCER MACRO (EPIC) ET ITÉRER

                                                  Je suis un voyageur fréquent,
                                                   je veux réserver un vol en
                           je suis un Voyageur          utilisant mes miles
                            fréquent, je veux
                         pouvoir contrôler mon
                                 compte           je suis un voyageur fréquent,
                                                    je veux faire une nouvelle
                                                  réservation d’un voyage déjà
             Voyageur     Je suis un voyageur                effectué
                           fréquent, je veux
             fréquent       réserver un vol
                                                  Je suis un voyageur fréquent,
                                                  je veux faire une mise à jour

                          Je suis un voyageur
                          fréquent, je veux ...
                                                   Je suis un voyageur fréquent,
                                                  je veux voir si ma mise à jour
                                                    à bien été prise en compte



vendredi 24 juin 2011
UTILISER LE CHEMIN DE PENSÉE (MINDMAP)

                                                     Lorgner les
                         Retrouver le                 hommes
                        profil des gens
                        que je connais

                                         Un groupe   Trouver une date
                                         de femmes

                        Trouver une
                          relation                     Décider qui
                                                      rejoins le site




vendredi 24 juin 2011
UNE AUTRE APPROCHE

   • Utiliser           un autre type d’interface utilisateur (le papier)

         • Question         ouverte ou fermée, des questions hors contextes :
              -   Quelles informations complémentaires l’utilisateur a besoin ?

              -   Quelles erreurs l’utilisateur pourrait faire ?

              -   Qu'est-ce qui pourrait engendrer la confusion chez l’utilisateur ?

              -   Qu’est ce que va faire généralement l’utilisateur à la prochaine étape ?

         • Considérer         ces questions pour chaque rôle utilisateur

vendredi 24 juin 2011
IN VES  T(IR)
                         ans u  ne b onne
                        d
                             h istoire



vendredi 24 juin 2011
COMMENT FAIRE UNE BONNE STORY


                                   •I   - Indépendant

                                   •N    - Négociable

                                   •V   - Valeur
                        INVEST
                                   •E   - Estimable

                                   •S   - Size (Taille)

                                   •T   - Testable


vendredi 24 juin 2011
INDÉPENDANT
   • Éviter             d’introduire des dépendances
         • Conduit    à une difficulté de la définition des priorités et de
             planification

        Je suis un client, je peux
          payer mes articles de
          mon panier avec ma                               - La première histoire prendra 3 jours
                carte VISA                                     pour être développée
                             Je suis un client, je peux     - ça n’a pas d’importance qui est la
                               payer mes articles de
                               mon panier avec ma
                                                                première
                                 carte Mastercard         - Les autres prendront 1 jour
       Je suis un client, je peux
        payer mes articles de
                                                             pour chaque
         mon panier avec ma
       carte American Express

vendredi 24 juin 2011
RENDRE LES USER STORIES INDÉPENDANTES


                                        Je suis un client, je veux payer avec ma
          Combiner les histoires
                                                      carte de crédit



                                    • Je suis un client, je veux payer avec un
       Les découper au travers              premier type de carte de crédit
       de différentes dimensions    •    Je suis un client, je veux payer avec un
                                           deuxième type de carte de crédit



       Écrire deux estimations et
                                         3 jours c’est bon pour commencer
          passer à autre chose




vendredi 24 juin 2011
QUAND EST-IL DE CETTE APPROCHE

                                                •Je suis un développeur, j’ai besoin de coder
                                                l’architecture pour le processus de carte de
         extraire les éléments                  crédit
         techniques communs                     •Je suis un client, je peux payer avec une carte
                                                visa
                                                •Je suis un client, je peux payer avec une carte
                                                Mastercard
                                                •Je suis un client, je peux payer avec une carte
                                                Amercian express
                   - Parfois nécessaire, mais
                     ce n’est pas l'idéal
                  - Pourquoi ?


vendredi 24 juin 2011
NÉGOCIABLE


       Une user story n’est pas un contrat

         • Il    n’est pas nécessaire d’inclure tous les détails

         • Laisser  une flexibilité sur certaines user stories qui seront
             étudiées durant les itérations




vendredi 24 juin 2011
QU'EST-CE QUI EST LE PLUS NÉGOCIABLE
     1

            Une boîte de dialogue permet aux utilisateurs d’éditer la
            liste des imprimantes. La boîte de dialogue permet aux
            utilisateurs d’ajouter ou de supprimer des imprimantes. Un
            utilisateur peut ajouter une imprimante par une recherche
            automatique ou manuelle par le biais d’une adresse DNS ou
            d’une adresse IP. Une recherche avancée optionnelle
            permet de filtrer les imprimantes par adresse IP ou par le
            masque de réseau




vendredi 24 juin 2011
2
            Je suis un utilisateur, je
            peux ajouter une
            imprimante à ma liste
            d’imprimante
                                     Recherche automatique
                                     Recherche manuelle par adresse IP
                                     Recherche manuelle par adresse DNS
                                   Remarque : J’ai plusieurs autres approches pour
                                   ajouter une imprimante. Venez me voir si vous
                                   avez le temps



vendredi 24 juin 2011
VALEUR


                                     Je suis un utilisateur, je veux rechercher
                   Utilisateurs         un emploi par fonction et par liste
                                              décroissante de salaire



                                  •Je suis un sponsor de ce projet, je veux qu’il
                                  passe un audit ISO9001
                                  •Je suis un sponsor de ce projet, je veux une
                        Clients   documentation conforme CMMI niveau 3
                                  •Je suis un admin. système, je veux que
                                  toutes les informations de configuration
                                  soient centralisées dans un lieu précis




vendredi 24 juin 2011
UNE USER STORY ÉVALUÉE PAR UN DÉVELOPPEUR

   • Elle    doit être réécrite pour montrer le bénéfice pour les
       utilisateurs et les clients




                                              Je suis un acheteur de ce
        Toutes les connexions à
                                               système, je veux que ce
          la base de données
                                           système soit utilisable pour 50
         doivent passer par un
                                             utilisateurs avec 5 licences
          pool de connexions
                                                      utilisateurs




vendredi 24 juin 2011
La réécrire en tant que user stories




                                                                     Je suis
                   Refactorer le système
                                                                    je veux
                       de paiement
                                                                      et ...




                                 Refactoring
                                  Pour modifier la structure, mais
                                  pas le comportement du code



vendredi 24 juin 2011
ESTIMABLE
   • Parceque les user stories sont utilisées dans le planning
   • Une user stories peut ne pas être estimable si :

                                                             Je suis un nouvel
                   Le développeur connaît                  utilisateur, j’ai besoin
                       peu le domaine                      d’un écran pour les
                         fonctionnel                             diabétiques
                                                         Je représente tous les
                 Le développeur connaît               utilisateurs, je veux faire un
                peu le domaine technique                zoom sur la carte sans
                                                               aucun délai

                    La user stories est trop                Je suis un chômeur, je
                             grosse                         recherche un emploi


vendredi 24 juin 2011
TAILLE APPROXIMATIVE
   • Des            petites user stories pour un futur proche

   • Macro              (Epic) pour les prochaines

   • Les   user stories sont progressivement affinées dans le temps,
       plus elles s’approchent de la fin,

   • Deux               types de grandes user stories

         -   Les user stories complexes : intrinsèquement grande et sans
             possibilités de les réduire

         -   Les user stories combinées : Plusieurs user stories combinées
             en une seule

vendredi 24 juin 2011
USER STORIES COMBINÉES

   • Un          Epic comprend de multiples petites histoires

   • Qui           cachent souvent un grand nombre d’hypothèses

                                         •Pour déposer un objet à vendre, vous
                                         devez fournir plusieurs informations
                                         concernant cet objet (description, nom, date
      Je suis un vendeur, je             de fin de la vente, etc.)
        peux déposer des
         objets à vendre
                                         • Certains éléments sont obligatoires,
                                         d’autres sont optionnelles
                                         •Les éléments peuvent être mis à jour une
                                         fois qu’ils ont été déposés
                                         • Une vente peut être annulée


vendredi 24 juin 2011
DÉCOUPER EN HISTOIRE COMBINÉE



                          Découper en groupe opérationnel (CRUD)



                         • Je suis un vendeur, je peux créer une nouvelle vente
                         • Je suis un vendeur, je peux mettre à jour une vente
                         • Je suis un vendeur, je peux supprimer mes ventes




vendredi 24 juin 2011
DÉCOUPER EN HISTOIRE COMBINÉE



                             Découper en données opérationnelles


                         • Je suis un vendeur, je peux créer et mettre à jour une
                         vente
                         • Je suis un vendeur, je peux ajouter, supprimer, mettre
                         à jour une photo dans une vente




vendredi 24 juin 2011
TESTABLE
   • Un   test démontre que la user stories correspond aux besoins
       du client

   • Automatiser, automatiser, automatiser


                         Un utilisateur veut                   Je suis un novice, je
                         trouver un logiciel                  dois être capable de
                           facile à utiliser                   créer un workflow
                                                             simple sans formation


                        Un utilisateur ne doit               Je suis un utilisateur, je
                           jamais attendre                  dois voir un nouvel écran
                           longtemps que                    en moins de 2 secondes
                         l’écran apparaisse                       95% du temps


vendredi 24 juin 2011
stori es ne
                        Les user s
                              son  t pas




vendredi 24 juin 2011
UNE USER STORY N’EST PAS ....



         • IEEE          830 Spécifications des exigences logiciel

               -   « Le système doit... »

         • Les          cas d’utilisation




vendredi 24 juin 2011
PROBLÈME AVEC IEEE 830
   • Le         temps consommé pour écrire et lire

   • Fastidieux         à lire

         -   Le lecteur parcourt ou saute des sections

   • Considère          que tout est connu d’avance

                                       Feedback


                        Spécification              Logiciel



vendredi 24 juin 2011
IEEE 830 SPÉCIFICATION DES EXIGENCES LOGICIEL



               • Le produit doit avoir un moteur à essence
               • Le produit doit avoir quatre roues
               • Le produit doit être construit en fer
               • Le produit doit avoir un siège pour s’asseoir


                          Ce n’est pas une voiture, mais une
                                 tondeuse à gazon !!



vendredi 24 juin 2011
LES USER STORIES NE SONT PAS DES CAS


                Titre : Accepter une réservation pour une chambre
                 Premier acteur : Acheteur
                 ...
                 Scénario nominal :
                1. L’acheteur soumet son numéro de carte de crédit, la date de
                péremption et les informations associées à son identité
                2. Le système valide les données
                3. Le système débite la carte de crédit du montant d’une nuit d’hôtel
                4. L’acheteur reçoit un numéro de confirmation




vendredi 24 juin 2011
LES USERS STORY NE SONT PAS DES CAS



                  Scénario alternatif :
                 2a. La carte n’est pas acceptée par le système | Le système le notifie au
                 client
                 2b. La carte est expirée | Le système le notifie au client et propose
                 d’utiliser une autre carte
                 3a. Le paiement par carte est refusé
                  a. Le système refait un nouvel essai
                  b. Le système propose à l’utilisateur d’utiliser une autre carte




vendredi 24 juin 2011
DIFFÉRENCE ENTRE USER STORIES ET CAS

   •   Le périmètre
   •   Exhaustivité
   •   Longévité
   •   Objectif
         •   Cas d’utilisation
              -   Document d’acception entre le client et les développeurs
         •   Story
              -   Écrit pour faciliter le planning de release et des itérations
              -   Des espaces réservés pour de futures conversations



vendredi 24 juin 2011
i des user
                        Pou rquo
                              stories




vendredi 24 juin 2011
POURQUOI DES USER STORIES

   •   Mettre l’accent de l'écriture vers la communication orale


          SI les spécifications sont                     Alors   L’utilisateur aura ce qu’il
                    écrites                                                 veut




                        Nous développons ce qu’il a             Au mieux, il aura ce qui
                        demandé, mais ce n’est pas ce                 est écrit
                        qu’il veut


vendredi 24 juin 2011
LES MOTS SONT IMPRÉCIS


                            L’entrée est constituée d'une
                             soupe ou d’une salade avec
                                       du pain




                         • (Soupe ou salade) avec du pain
                         • (Soupe) ou salade avec du pain




vendredi 24 juin 2011
UN AUTRE EXEMPLE


                        « J’ai écrit ce scénario, il y a un an et le
                             studio n’a pas changé un mot »



                               « Le mot qu’ils n’ont pas
                               changé est en page 87 »



                                      Steve Martin




vendredi 24 juin 2011
DES RAISONS SUPPLÉMENTAIRES
   • Les          user stories sont compréhensibles

         -   Les développeurs et les clients les comprennent

         -   Les gens ont de meilleures capacités à les retenir s’ils sont
             organisés sous forme de user stories

   • Support            et encourage le développement itératif

         -   Il est plus facile de partir avec un Epic et de les décomposer
             quand le temps du développement approche




vendredi 24 juin 2011
ENCORE D’AUTRES RAISONS


     • Les          user stories ont les bonnes tailles pour les plannings

     • Les          user stories supportent un développement opportuniste

          -   Nous concevons une solution de manière opportuniste en
              allant vers une approche «du haut vers le bas» et «du bas
              vers le haut»

     • Les          user stories supportent la conception participative




vendredi 24 juin 2011
QUESTIONS ?




vendredi 24 juin 2011
Blog :
      www.openagile.net

       Contact :
 yquenechdu@gmail.com




                 Merci pour
                votre attention
vendredi 24 juin 2011
Usage commercial non autorisé




vendredi 24 juin 2011




                        Usage commercial non autorisé

Weitere ähnliche Inhalte

Was ist angesagt?

Rapport exposé eXtreme Programming XP
Rapport exposé eXtreme Programming XPRapport exposé eXtreme Programming XP
Rapport exposé eXtreme Programming XPSarah
 
Gestion du temps et des priorités
Gestion du temps et des prioritésGestion du temps et des priorités
Gestion du temps et des prioritésMathieu Laferrière
 
Android-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsAndroid-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsLilia Sfaxi
 
Collecte et Traitement de données avec Sphinx
Collecte et Traitement de données avec SphinxCollecte et Traitement de données avec Sphinx
Collecte et Traitement de données avec SphinxIbrahima Sylla
 
gestion production
gestion productiongestion production
gestion productionReda Eci
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrigeAmineMouhout1
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
Méthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesMéthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesSirine Barguaoui
 
La Gestion de Projet Agile
La Gestion de Projet AgileLa Gestion de Projet Agile
La Gestion de Projet Agilebcollet
 
L Architecture Logicielle En Pratique
L Architecture Logicielle En PratiqueL Architecture Logicielle En Pratique
L Architecture Logicielle En PratiqueFrançois Trudel
 
Introduction à la qualité logicielle (1/5)
Introduction à la qualité logicielle (1/5)Introduction à la qualité logicielle (1/5)
Introduction à la qualité logicielle (1/5)Sylvain Leroy
 
Chp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesChp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesLilia Sfaxi
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesENSET, Université Hassan II Casablanca
 

Was ist angesagt? (20)

Angular
AngularAngular
Angular
 
Méthodes Agiles - La Méthode XP
Méthodes Agiles - La Méthode XPMéthodes Agiles - La Méthode XP
Méthodes Agiles - La Méthode XP
 
Rapport exposé eXtreme Programming XP
Rapport exposé eXtreme Programming XPRapport exposé eXtreme Programming XP
Rapport exposé eXtreme Programming XP
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
Nouveautés de java 8
Nouveautés de java 8Nouveautés de java 8
Nouveautés de java 8
 
Gestion du temps et des priorités
Gestion du temps et des prioritésGestion du temps et des priorités
Gestion du temps et des priorités
 
Android-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsAndroid-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intents
 
Collecte et Traitement de données avec Sphinx
Collecte et Traitement de données avec SphinxCollecte et Traitement de données avec Sphinx
Collecte et Traitement de données avec Sphinx
 
Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1 Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1
 
gestion production
gestion productiongestion production
gestion production
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrige
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
Méthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesMéthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiques
 
La Gestion de Projet Agile
La Gestion de Projet AgileLa Gestion de Projet Agile
La Gestion de Projet Agile
 
L Architecture Logicielle En Pratique
L Architecture Logicielle En PratiqueL Architecture Logicielle En Pratique
L Architecture Logicielle En Pratique
 
Introduction à la qualité logicielle (1/5)
Introduction à la qualité logicielle (1/5)Introduction à la qualité logicielle (1/5)
Introduction à la qualité logicielle (1/5)
 
Chp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesChp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications Mobiles
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependances
 
Diagramme d'activité en UML
Diagramme d'activité en UMLDiagramme d'activité en UML
Diagramme d'activité en UML
 
Qualité de code et bonnes pratiques
Qualité de code et bonnes pratiquesQualité de code et bonnes pratiques
Qualité de code et bonnes pratiques
 

Mehr von Yannick Quenec'hdu (20)

Order to cash Agile
Order to cash AgileOrder to cash Agile
Order to cash Agile
 
Stop to start
Stop to startStop to start
Stop to start
 
Kanban Key Performance indicator
Kanban Key Performance indicatorKanban Key Performance indicator
Kanban Key Performance indicator
 
Modèle de santé des équipes Agile
Modèle de santé des équipes AgileModèle de santé des équipes Agile
Modèle de santé des équipes Agile
 
Open xke kanban à grande échelle
Open xke kanban à grande échelleOpen xke kanban à grande échelle
Open xke kanban à grande échelle
 
Scrum night kanban chez Google
Scrum night kanban chez GoogleScrum night kanban chez Google
Scrum night kanban chez Google
 
Conférence Lean Kanban France 2013
Conférence Lean Kanban France 2013Conférence Lean Kanban France 2013
Conférence Lean Kanban France 2013
 
Guide scrum
Guide scrumGuide scrum
Guide scrum
 
Agile shock therapy
Agile shock therapyAgile shock therapy
Agile shock therapy
 
Comment apprendre a coder
Comment apprendre a coderComment apprendre a coder
Comment apprendre a coder
 
Scrumday 2012 - De V vers Agile
Scrumday 2012 - De V vers AgileScrumday 2012 - De V vers Agile
Scrumday 2012 - De V vers Agile
 
Redmine présentation sug 2012
Redmine présentation sug 2012Redmine présentation sug 2012
Redmine présentation sug 2012
 
kanban, un outil de production
kanban, un outil de productionkanban, un outil de production
kanban, un outil de production
 
Behavior driven Development
Behavior driven DevelopmentBehavior driven Development
Behavior driven Development
 
Managment visuel
Managment visuelManagment visuel
Managment visuel
 
Sprint0
Sprint0Sprint0
Sprint0
 
Pomodoro
PomodoroPomodoro
Pomodoro
 
Story point
Story pointStory point
Story point
 
Formation au métier de Product owner
Formation au métier de Product ownerFormation au métier de Product owner
Formation au métier de Product owner
 
Les bases de Scrum
Les bases de ScrumLes bases de Scrum
Les bases de Scrum
 

User stories

  • 1. USER STORY Yannick Quenec’hdu yquenechdu@gmail.com vendredi 24 juin 2011
  • 2. AGENDAS • Qu'est-ce qu’une user story • Modéliser le rôle de l’utilisateur • Écrire des user stories • INVEST(IR) dans une bonne user story • Les story ne sont pas ... • Pourquoi des user story vendredi 24 juin 2011
  • 3. Des spécifications de mauvaises qualités Les spécifications de mauvaises qualités sont souvent mentionnées comme l’une des principales causes de l'échec d’un projet 1. Qu’elle est le processus qui engendre des spécifications de mauvaises qualités . 2. Quels sont les problèmes qui résultent d’une spécification de mauvaise qualité ? vendredi 24 juin 2011
  • 4. AGILE ET LES USERS STORIES Agile est associé à l'expérience utilisateur On raconte une histoire : User stories On montre notre histoire : Prototype vendredi 24 juin 2011
  • 5. u’est ce q u’une Q s tor y vendredi 24 juin 2011
  • 6. RON JEFFRIES LES TROIS C •Les story sont traditionnellement écrits sur des cartes Carte •Les cartes peuvent être annotées avec des estimations, commentaires, etc. Les détails derrières les cartes peuvent être étudiés Conversation durant les conversations avec le product owner La validation des tests confirme que les story Confirmation ont été développés correctement vendredi 24 juin 2011
  • 7. EXEMPLE DEPUIS UN SITE DE VOYAGES je suis je suis un un voy ageur, , je veux utilisateur hôtel je veux voir les photos rés er ver un de l'hô tel je suis un ut ilisateur, je Comme je suis un vo veux annule yageur r une fréquent, je veux faire réser vation une nouvelle réser vation d’un voyage déjà effectué, SP : 8 pour gagner du temps BV : 1 SP : 5 BV : 2 vendredi 24 juin 2011
  • 8. UNE RECOMMANDATION Utiliser ce masque Je suis « Rôle de l’utilisateur », je veux « But », les « conditions » pour ... vendredi 24 juin 2011
  • 9. QUELS SONT LES DÉTAILS ? • Je suis un utilisateur, je veux annuler une réservation • Le client reçoit un remboursement complet ou partiel - Je rembourse directement sur son compte ou à l’intermédiaire • Comment doit fonctionner l’annulation d’une réservation ? - C’est le même principe pour tous les hôtels ? - Un voyageur fréquent peut-il annuler après sa réservation • Une confirmation est adressée à l’utilisateur ? - Comment ? vendredi 24 juin 2011
  • 10. LES DÉTAILS SONT AJOUTÉS EN PETITES USER STORIES Je suis un utilisateur premium, je peux annuler une réservation à la dernière minute je suis un Je ne suis pas un utilisateur, je veux utilisateur premium, je annuler une peux annuler ma réservation réservation 24 hrs à l’avance Je suis un partenaire, j’adresse un courriel pour annuler toutes mes réservations vendredi 24 juin 2011
  • 11. LES DÉTAILS SONT AUSSI UNE CONDITION DE SATISFACTION • Le product owner peut ajouter aux users stories des conditions de satisfaction • Ce sont essentiellement des vérifications je suis un utilisateur, je veux annuler Vérifier qu’un premium peut annuler une réservation le jour même sans charge supplémentaire Vérifier qu’un non-premium paye 10% du montant en cas d’annulation le jour de sa réservation Vérifier qu’il y a bien un courriel qui est adressé en cas d’annulation Vérifier que l'hôtel est bien notifié de l’ensemble des annulations vendredi 24 juin 2011
  • 12. UN EXEMPLE DE JEUX DE DÉVELOPPEMENT Je suis un joueur, je veux que les ennemis aient une réaction physique quand je les touche Un ennemi bascule sur la gauche quand je le touche sur la gauche et sur la droite quand je le touche sur la droite Un ennemi bascule vers l’avant quand je le touche au centre Un ennemi tombe en arrière quand je le touche à la tête vendredi 24 juin 2011
  • 13. LES TECHNIQUES PEUVENT ÊTRE COMBINÉES • Ces approches ne s’excluent pas mutuellement • Il faut essayer d’écrire les user stories à un niveau de détails approprié et de favoriser les conditions de satisfaction • Au moment où elles seront mises en oeuvre, chaque user stories devra avoir une condition de satisfaction qui lui sera associée • Permet de vérifier la user story vendredi 24 juin 2011
  • 14. le rô le de Modéliser l ’utilisateur vendredi 24 juin 2011
  • 15. LE RÔLE UTILISATEUR • Élargir le périmètre de recherche à plus d’un utilisateur • Étudier les variations des utilisateurs : - Comment il utilise le logiciel - Pourquoi il utilise le logiciel - Est-il familiarisé avec les ordinateurs - Connaît-il le contexte métier de l’application • Utiliser intensivement la conception centrée sur l’utilisateur vendredi 24 juin 2011
  • 16. LE PERSONA Pour améliorer la satisfaction des utilisateurs, nous favorisons la conception centrée sur l’utilisateur Le Persona est un élément important de la conception centrée sur l’utilisateur Le persona est représente un personnage imaginaire, il permet de représenter un groupe d’utilisateur vendredi 24 juin 2011
  • 18. EXEMPLE DE PERSONA : DE LA BANQUE ILIKEYOURMONEY • Les rôles utilisateurs • Chef de famille • Indépendant • VIP • Innovateur • Phobique vendredi 24 juin 2011
  • 19. RÔLE À HAUTE VALEUR • Chef de famille - Fait attention aux revenus de la famille. Aime ses enfants, se préoccupe de leur éducation et de leur santé. Typiquement conservatrice • Phobique - N’aime pas les investissements et ne les comprends pas • Indépendant - Veux sa liberté et son indépendance financière • Anonyme - Extrêmement privé, ne veux donner aucune information. Très loyale une fois la confiance acquise vendredi 24 juin 2011
  • 20. RÔLE À TRÈS HAUTE VALEUR • Le nabab - Recherche le pouvoir, l’influence et le contrôle. Investi d’une autre manière pour montrer sa différence et son importance • VIP - il veut du prestige, il veut investir pour acheter des biens • Accumulateur - Vie au dessous de ses moyens et ne montre pas de signe extérieur de richesse • Parieur - Investi pour l’excitation, le drame et les performances des résultats • innovateurs - Aime les nouveaux produits, stratégies et services. Possède une culture technique vendredi 24 juin 2011
  • 21. BRAINSTORMING DU RÔLE UTILISATEUR Exemple de déroulement d’une réunion de brainstorming • Participants : clients, développeurs, toutes les personnes à valeurs ajoutées qui comprennent le produit attendu par l’utilisateur ✓ Tout le monde prend un jeu de cartes ✓ Écrire le nom des rôles sur les cartes - Le plus rapidement possible et sans jugement - Pas de tour - Placer les cartes sur la table - Donner des noms aux rôles vendredi 24 juin 2011
  • 22. ORGANISER, CONSOLIDER, AFFINER étudiant Recruteur Chercheur Chasseur de Enseignant têtes chômeur Admin sys sans emploi Développeur vendredi 24 juin 2011
  • 23. BRAINSTORMING DU RÔLE UTILISATEUR Vous êtes un célibataire, vous abonnez à un site de rencontre : - Vous chercher des femmes célibataires - Dans la même, tranche d'âge que vous - avec ou sans enfants - Avec un objectif de se rencontrer rapidement 1. Étudier le rôle utilisateur qui interagit avec le site 2. Organiser, consolider, affiner plusieurs modèles de rôle pour ce site vendredi 24 juin 2011
  • 24. AVANTAGES D’UTILISER LES RÔLES Nous faisons parler « un passager Au lieu de faire parler fréquent » ou « un voyageur l’utilisateur sporadique » L’utilisateur devient Penser le logiciel en pensant à ce dont tangible l’utilisateur a besoin Intégrer le rôle dans Je suis «Role utilisateur», je veux «But» une user story avec comme bénéfice... vendredi 24 juin 2011
  • 25. BÉNÉFICES Les Personnages servent de fil rouge au projet • Le format est plus engageant et apporte le STORYTELLING • L’information est spécifique: ce n’est plus «80% de femme», «entre 25 et 35 ans», …. c’est Sophie, 32ans, Assistante Marketing • L’accent est mis sur les BUTS & Comportements utilisateurs • Les bénéfices sont réels et bien plus étendus que sur les autres formats: VISION partagée, PRIORISATION, DESIGN D’INTERFACE, mais aussi potentiellement communication, formation, commerce et activités marketing. vendredi 24 juin 2011
  • 26. UTILISATEUR SYSTÈME OU DÉVELOPPEUR Dans le système de vérification de paiement, je veux que toutes les transactions soient formatées en XML En tant que programmeur, je veux une API pour supprimer les widget en base de données vendredi 24 juin 2011
  • 27. r une user R édige s tor y vendredi 24 juin 2011
  • 28. L’ICEBERG DU PRODUIT BACKLOG Sprint Release Priorité Future Release vendredi 24 juin 2011
  • 29. L’ICEBERG DU PRODUIT BACKLOG User Story Thèmes Une description des user stories souhaitées Une collection de en se positionnant user stories sur le dans une perspective même thème utilisateur Epic Des user stories macro vendredi 24 juin 2011
  • 30. Un exemple Je suis un musicien, je veux afficher les musiques par catégorie qui ont le mieux marché dans une période de temps précise Je suis un musicien, je veux gérer mes morceaux de musique Epic ? Je suis un musicien, je veux Clairement une Epic sélectionner une catégorie de musique selon un type de format (audio, vidéo, etc.) sur une période de temps précise. vendredi 24 juin 2011
  • 31. Un exemple Je suis un musicien, je veux obtenir la liste des musiques au format audio pour une période de temps précise Je suis un musicien, je veux obtenir la liste des musiques au format vidéo pour une période de temps précise ... vendredi 24 juin 2011
  • 32. TERMINER, EN AJOUTANT LES CONDITIONS DE SATISFACTION Je suis un musicien, je veux afficher les musiques les plus populaires par catégorie dans une période de temps précise • Afficher le nombre d’albums vendus par musique • Afficher le nombre d’écoutes par musique vendredi 24 juin 2011
  • 33. Un autre exemple Je suis un joueur, je veux jouer en ligne en mode multiplayer, je me connecte à internet et je peux jouer contre d’autres En tant que joueur, je joueurs veux avoir accès à un espace central pour Clairement une epic consulter les parties qui me sont disponibles et pouvoir rejoindre celle que je veux Epic ? vendredi 24 juin 2011
  • 34. Un exemple Je suis un joueur et je veux savoir le nombre de joueurs qui sont dans la partie en cours Je suis un joueur, je veux rejoindre la partie en cours Je suis un joueur, je veux démarrer une nouvelle partie vendredi 24 juin 2011
  • 35. ATELIER D’ÉCRITURE DES USER STORIES SPRINT 0 • Participants : product owner, utilisateurs, client, équipe, etc. • Réflexion pour générer les users stories • Le but est d’écrire le plus grand nombre de user stories - Commencer avec les fonctions macro (EPIC) - travailler sur les détails pour les users stories qui seront développées prochainement • Pas de gestion des priorités pour le moment Se référer à la présentation Sprint 0 pour plus de détails vendredi 24 juin 2011
  • 36. CRÉER DES HISTOIRES Je me nomme Jacques, je voudrais étudier le droit à la faculté. Mon ami Marie m’a conseillé d’utiliser le formulaire d’inscription que la faculté propose sur son site Internet. Elle me dit qu’une fois que j’aurais déposé mon formulaire, un responsable de la faculté ira l’étudier et éventuellement le valider, ainsi j’aurais rapidement une réponse à mon inscription Je traduis en user stories Je suis un étudiant, je Je suis un responsable, veux je veux remplir un dossier consulter les d’inscription inscriptions en attentes Je suis un Je suis un étudiant, je responsable, je veux veux connaître le valider/rejeter les statut de mon dossier inscriptions vendredi 24 juin 2011
  • 37. COMMENCER MACRO (EPIC) ET ITÉRER Je suis un voyageur fréquent, je veux réserver un vol en je suis un Voyageur utilisant mes miles fréquent, je veux pouvoir contrôler mon compte je suis un voyageur fréquent, je veux faire une nouvelle réservation d’un voyage déjà Voyageur Je suis un voyageur effectué fréquent, je veux fréquent réserver un vol Je suis un voyageur fréquent, je veux faire une mise à jour Je suis un voyageur fréquent, je veux ... Je suis un voyageur fréquent, je veux voir si ma mise à jour à bien été prise en compte vendredi 24 juin 2011
  • 38. UTILISER LE CHEMIN DE PENSÉE (MINDMAP) Lorgner les Retrouver le hommes profil des gens que je connais Un groupe Trouver une date de femmes Trouver une relation Décider qui rejoins le site vendredi 24 juin 2011
  • 39. UNE AUTRE APPROCHE • Utiliser un autre type d’interface utilisateur (le papier) • Question ouverte ou fermée, des questions hors contextes : - Quelles informations complémentaires l’utilisateur a besoin ? - Quelles erreurs l’utilisateur pourrait faire ? - Qu'est-ce qui pourrait engendrer la confusion chez l’utilisateur ? - Qu’est ce que va faire généralement l’utilisateur à la prochaine étape ? • Considérer ces questions pour chaque rôle utilisateur vendredi 24 juin 2011
  • 40. IN VES T(IR) ans u ne b onne d h istoire vendredi 24 juin 2011
  • 41. COMMENT FAIRE UNE BONNE STORY •I - Indépendant •N - Négociable •V - Valeur INVEST •E - Estimable •S - Size (Taille) •T - Testable vendredi 24 juin 2011
  • 42. INDÉPENDANT • Éviter d’introduire des dépendances • Conduit à une difficulté de la définition des priorités et de planification Je suis un client, je peux payer mes articles de mon panier avec ma - La première histoire prendra 3 jours carte VISA pour être développée Je suis un client, je peux - ça n’a pas d’importance qui est la payer mes articles de mon panier avec ma première carte Mastercard - Les autres prendront 1 jour Je suis un client, je peux payer mes articles de pour chaque mon panier avec ma carte American Express vendredi 24 juin 2011
  • 43. RENDRE LES USER STORIES INDÉPENDANTES Je suis un client, je veux payer avec ma Combiner les histoires carte de crédit • Je suis un client, je veux payer avec un Les découper au travers premier type de carte de crédit de différentes dimensions • Je suis un client, je veux payer avec un deuxième type de carte de crédit Écrire deux estimations et 3 jours c’est bon pour commencer passer à autre chose vendredi 24 juin 2011
  • 44. QUAND EST-IL DE CETTE APPROCHE •Je suis un développeur, j’ai besoin de coder l’architecture pour le processus de carte de extraire les éléments crédit techniques communs •Je suis un client, je peux payer avec une carte visa •Je suis un client, je peux payer avec une carte Mastercard •Je suis un client, je peux payer avec une carte Amercian express - Parfois nécessaire, mais ce n’est pas l'idéal - Pourquoi ? vendredi 24 juin 2011
  • 45. NÉGOCIABLE Une user story n’est pas un contrat • Il n’est pas nécessaire d’inclure tous les détails • Laisser une flexibilité sur certaines user stories qui seront étudiées durant les itérations vendredi 24 juin 2011
  • 46. QU'EST-CE QUI EST LE PLUS NÉGOCIABLE 1 Une boîte de dialogue permet aux utilisateurs d’éditer la liste des imprimantes. La boîte de dialogue permet aux utilisateurs d’ajouter ou de supprimer des imprimantes. Un utilisateur peut ajouter une imprimante par une recherche automatique ou manuelle par le biais d’une adresse DNS ou d’une adresse IP. Une recherche avancée optionnelle permet de filtrer les imprimantes par adresse IP ou par le masque de réseau vendredi 24 juin 2011
  • 47. 2 Je suis un utilisateur, je peux ajouter une imprimante à ma liste d’imprimante Recherche automatique Recherche manuelle par adresse IP Recherche manuelle par adresse DNS Remarque : J’ai plusieurs autres approches pour ajouter une imprimante. Venez me voir si vous avez le temps vendredi 24 juin 2011
  • 48. VALEUR Je suis un utilisateur, je veux rechercher Utilisateurs un emploi par fonction et par liste décroissante de salaire •Je suis un sponsor de ce projet, je veux qu’il passe un audit ISO9001 •Je suis un sponsor de ce projet, je veux une Clients documentation conforme CMMI niveau 3 •Je suis un admin. système, je veux que toutes les informations de configuration soient centralisées dans un lieu précis vendredi 24 juin 2011
  • 49. UNE USER STORY ÉVALUÉE PAR UN DÉVELOPPEUR • Elle doit être réécrite pour montrer le bénéfice pour les utilisateurs et les clients Je suis un acheteur de ce Toutes les connexions à système, je veux que ce la base de données système soit utilisable pour 50 doivent passer par un utilisateurs avec 5 licences pool de connexions utilisateurs vendredi 24 juin 2011
  • 50. La réécrire en tant que user stories Je suis Refactorer le système je veux de paiement et ... Refactoring Pour modifier la structure, mais pas le comportement du code vendredi 24 juin 2011
  • 51. ESTIMABLE • Parceque les user stories sont utilisées dans le planning • Une user stories peut ne pas être estimable si : Je suis un nouvel Le développeur connaît utilisateur, j’ai besoin peu le domaine d’un écran pour les fonctionnel diabétiques Je représente tous les Le développeur connaît utilisateurs, je veux faire un peu le domaine technique zoom sur la carte sans aucun délai La user stories est trop Je suis un chômeur, je grosse recherche un emploi vendredi 24 juin 2011
  • 52. TAILLE APPROXIMATIVE • Des petites user stories pour un futur proche • Macro (Epic) pour les prochaines • Les user stories sont progressivement affinées dans le temps, plus elles s’approchent de la fin, • Deux types de grandes user stories - Les user stories complexes : intrinsèquement grande et sans possibilités de les réduire - Les user stories combinées : Plusieurs user stories combinées en une seule vendredi 24 juin 2011
  • 53. USER STORIES COMBINÉES • Un Epic comprend de multiples petites histoires • Qui cachent souvent un grand nombre d’hypothèses •Pour déposer un objet à vendre, vous devez fournir plusieurs informations concernant cet objet (description, nom, date Je suis un vendeur, je de fin de la vente, etc.) peux déposer des objets à vendre • Certains éléments sont obligatoires, d’autres sont optionnelles •Les éléments peuvent être mis à jour une fois qu’ils ont été déposés • Une vente peut être annulée vendredi 24 juin 2011
  • 54. DÉCOUPER EN HISTOIRE COMBINÉE Découper en groupe opérationnel (CRUD) • Je suis un vendeur, je peux créer une nouvelle vente • Je suis un vendeur, je peux mettre à jour une vente • Je suis un vendeur, je peux supprimer mes ventes vendredi 24 juin 2011
  • 55. DÉCOUPER EN HISTOIRE COMBINÉE Découper en données opérationnelles • Je suis un vendeur, je peux créer et mettre à jour une vente • Je suis un vendeur, je peux ajouter, supprimer, mettre à jour une photo dans une vente vendredi 24 juin 2011
  • 56. TESTABLE • Un test démontre que la user stories correspond aux besoins du client • Automatiser, automatiser, automatiser Un utilisateur veut Je suis un novice, je trouver un logiciel dois être capable de facile à utiliser créer un workflow simple sans formation Un utilisateur ne doit Je suis un utilisateur, je jamais attendre dois voir un nouvel écran longtemps que en moins de 2 secondes l’écran apparaisse 95% du temps vendredi 24 juin 2011
  • 57. stori es ne Les user s son t pas vendredi 24 juin 2011
  • 58. UNE USER STORY N’EST PAS .... • IEEE 830 Spécifications des exigences logiciel - « Le système doit... » • Les cas d’utilisation vendredi 24 juin 2011
  • 59. PROBLÈME AVEC IEEE 830 • Le temps consommé pour écrire et lire • Fastidieux à lire - Le lecteur parcourt ou saute des sections • Considère que tout est connu d’avance Feedback Spécification Logiciel vendredi 24 juin 2011
  • 60. IEEE 830 SPÉCIFICATION DES EXIGENCES LOGICIEL • Le produit doit avoir un moteur à essence • Le produit doit avoir quatre roues • Le produit doit être construit en fer • Le produit doit avoir un siège pour s’asseoir Ce n’est pas une voiture, mais une tondeuse à gazon !! vendredi 24 juin 2011
  • 61. LES USER STORIES NE SONT PAS DES CAS Titre : Accepter une réservation pour une chambre Premier acteur : Acheteur ... Scénario nominal : 1. L’acheteur soumet son numéro de carte de crédit, la date de péremption et les informations associées à son identité 2. Le système valide les données 3. Le système débite la carte de crédit du montant d’une nuit d’hôtel 4. L’acheteur reçoit un numéro de confirmation vendredi 24 juin 2011
  • 62. LES USERS STORY NE SONT PAS DES CAS Scénario alternatif : 2a. La carte n’est pas acceptée par le système | Le système le notifie au client 2b. La carte est expirée | Le système le notifie au client et propose d’utiliser une autre carte 3a. Le paiement par carte est refusé a. Le système refait un nouvel essai b. Le système propose à l’utilisateur d’utiliser une autre carte vendredi 24 juin 2011
  • 63. DIFFÉRENCE ENTRE USER STORIES ET CAS • Le périmètre • Exhaustivité • Longévité • Objectif • Cas d’utilisation - Document d’acception entre le client et les développeurs • Story - Écrit pour faciliter le planning de release et des itérations - Des espaces réservés pour de futures conversations vendredi 24 juin 2011
  • 64. i des user Pou rquo stories vendredi 24 juin 2011
  • 65. POURQUOI DES USER STORIES • Mettre l’accent de l'écriture vers la communication orale SI les spécifications sont Alors L’utilisateur aura ce qu’il écrites veut Nous développons ce qu’il a Au mieux, il aura ce qui demandé, mais ce n’est pas ce est écrit qu’il veut vendredi 24 juin 2011
  • 66. LES MOTS SONT IMPRÉCIS L’entrée est constituée d'une soupe ou d’une salade avec du pain • (Soupe ou salade) avec du pain • (Soupe) ou salade avec du pain vendredi 24 juin 2011
  • 67. UN AUTRE EXEMPLE « J’ai écrit ce scénario, il y a un an et le studio n’a pas changé un mot » « Le mot qu’ils n’ont pas changé est en page 87 » Steve Martin vendredi 24 juin 2011
  • 68. DES RAISONS SUPPLÉMENTAIRES • Les user stories sont compréhensibles - Les développeurs et les clients les comprennent - Les gens ont de meilleures capacités à les retenir s’ils sont organisés sous forme de user stories • Support et encourage le développement itératif - Il est plus facile de partir avec un Epic et de les décomposer quand le temps du développement approche vendredi 24 juin 2011
  • 69. ENCORE D’AUTRES RAISONS • Les user stories ont les bonnes tailles pour les plannings • Les user stories supportent un développement opportuniste - Nous concevons une solution de manière opportuniste en allant vers une approche «du haut vers le bas» et «du bas vers le haut» • Les user stories supportent la conception participative vendredi 24 juin 2011
  • 71. Blog : www.openagile.net Contact : yquenechdu@gmail.com Merci pour votre attention vendredi 24 juin 2011
  • 72. Usage commercial non autorisé vendredi 24 juin 2011 Usage commercial non autorisé