<!doctype html>
<html lang="fr">

  <head>
    <meta charset="utf-8">

    <title>En tant que PO</title>

    <meta name="description" content="How to become an awesome Product Owner.">
    <meta name="author" content="Maxime">

    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

    <link rel="stylesheet" href="dist/reset.css">
    <link rel="stylesheet" href="dist/reveal.css">
    <link rel="stylesheet" href="dist/theme/black.css" id="theme">
    
    <style type="text/css">

      @import url(./dist/theme/fonts/mouse-memoirs/mouse-memoirs.css);

      section.lightbackground, section.lightbackground h1, section.lightbackground h2 {
        color: #555;
      }
      /* Font and shadow for h1 */
      div.reveal h1 {
        font-family: 'Mouse Memoirs', sans-serif;
        text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 20px 20px rgba(0, 0, 0, 0.15);
      }
      div.reveal h2 {
        font-family: 'Mouse Memoirs', sans-serif;
      }
      div.reveal ul ul {
        font-size: smaller;
      }
      div.reveal strong {
        font-size: 110%;
      }
      div.reveal small {
        font-size: 80%;
      }
      /* No image background and no border */
      div.reveal section img {
        background-color: transparent;
        border: 0;
        box-shadow: none;
        margin: 0;
      }
      /* small align */
      div.slides section small {
        vertical-align: middle;
      }

      section#bdd ul {
        list-style: none;
      }
      section#bdd span.keyword {
        color: #42AFFA;
      }
      section#bdd li.et {
        margin-left: 1em;
      }
      section#bdd pre.data {
        margin-left: 2em;
      }

      section#protocoldemo ol ul {
        list-style: none;
      }
      section#protocoldemo ol ul li {
        color: #555;
        font-size: smaller;
        font-style: italic;
      }

      section#roti ul {
        list-style: none;
        margin: 0; padding: 0;
      }
      section#roti ul li {
        background: url("i/rotione.png") no-repeat 0 0;
        line-height: 100px;
        margin: 0;
        padding: 0 0 0.6em 130px;
      }

    </style>

  </head>

  <body>
  <div class="reveal">
    <!-- Any section element inside of this container is displayed as a slide -->
    <div class="slides">
      <section id="title">
        <section data-background="i/flyingbirds.gif">
          <h1>En tant que Product Owner</h1>
          <p>
            <small>Créé avec &hearts;&hearts;&hearts; en novembre 2015 et revu en mars 2022</small><br>
            <small>F pour le fullscreen et S pour les speakernotes</small>
          </p>
        </section>
        <section data-background="i/planebackground.jpg">
          <h2>Plan</h2>
          <ol>
            <li>Product Owner, un rôle agile</li>
            <li>La Vision</li>
            <li>La Roadmap</li>
            <li>Pause</li>
            <li>Les User Stories</li>
            <li>Le BDD</li>
            <li>La Démonstration</li>
          </ol>
        </section>
      </section>
      <!-- PO le role agile -->
      <section id="role">
        <section data-background="#E6E6FA">
          <h1>Product Owner</h1>
          <p>Le terme PO a pour origine la méthode Scrum</p>
          <p>Il est l'un des 3 rôles de l'équipe,<br>avec le <b>Développeur</b> et le <b>Scrum Master</b></p>
        </section>
        <section data-background="#E6E6FA">
          <h2>Définition en 2 phrases</h2>
          <blockquote style="text-align:left" cite="http://www.scrumguides.org/scrum-guide.html#team-po">
            <p style="text-align:left">&ldquo;The Product Owner is accountable for maximizing the value of the 
              product resulting from the work of the Scrum Team.<br/>How this is done may vary widely across 
              organizations, Scrum Teams, and individuals.&rdquo;</p>
            <div style="text-align:right">&mdash; Scrum Guide 2020</div>
          </blockquote>
          <aside class="notes">
            50% du temps avec le client
            50% du temps avec l'équipe
          </aside>
        </section>
        <section data-background="#E6E6FA">
          <h2>Dans l'organisation</h2>
          <p>Le Product Owner est une personne,<br>pas un comité.</p>
          <p>Il est LE responsable du produit.</p>
          <p class="fragment">Il n'est pas <b>Project</b> Owner !</p>
          <aside class="notes">
            Il n'est pas seul à réaliser, il peut délèguer, mais il est le seul à porter la responsabilité.
          </aside>
        </section>
        <section data-background="#E6E6FA">
          <h2>Avec mes clients</h2>
          <p><img src="i/poclient.png"></p>
          <aside class="notes">
            <p>En fait, on parle de parties prenantes.<br>- Clients,<br>- Utilisateurs,<br>- Sponsor,<br>- Manager.</p>
            <p>Objectif: leur donner le sourire !</p>
          </aside>
        </section>
        <section data-background="#E6E6FA">
          <h2>Avec mes clients</h2>
          <ul>
            <li>Bâtir la vision</li>
            <li>Organiser le besoin (sous forme de User Story)</li>
            <li>Définir la valeur</li>
            <li>Recueillir les retours</li>
          </ul>
        </section>
        <section data-background="#E6E6FA">
          <h2>Avec mon équipe</h2>
          <p><img src="i/poteam.png"></p>
        </section>
        <section data-background="#E6E6FA">
          <h2>Avec mon équipe</h2>
          <ul>
            <li>Donner du sens</li>
            <ul>
              <li>Communiquer la vision</li>
              <li>Définir le Sprint Goal</li>
            </ul>
            <li>Prioriser les user stories</li>
            <li>Les valider ou les rejeter</li>
            <li>Répondre aux questions, accompagner</li>
          </ul>
          <aside class="notes">
          </aside>
        </section>
        <section data-background="#E6E6FA">
          <h2>Avec l'aide du Scrum Master</h2>
          <p>Le Scrum Master est votre allié,<br>c'est son rôle de vous aider.</p>
          <aside class="notes">
          </aside>
        </section>
        <section data-background="#E6E6FA">
          <h2>The big picture</h2>
          <p><img src="i/poyestoall.png"></p>
          <aside class="notes">
            <p>Le PO priorise le Backlog car il y a plus en entrée qu'en sortie.<br>
            Que ce passe-t-il au bout de 2 mois ?<br>
            Pas très agile d'avoir un délai de livraison de 6 mois !</p>
          </aside>
        </section>
        <section data-background="#E6E6FA">
          <h2>Le pouvoir de dire non</h2>
          <p><img style="width:80%" src="i/posayno.png"></p>
          <aside class="notes">
            <p>
              Pourquoi est-il difficile de dire non ?<br>
              Il faut en avoir le pouvoir.<br>
              Difficile d'abandonner ce qu'on a bati.
            </p>
          </aside>
        </section>
        <section data-background="#E6E6FA">
          <h2>Les qualités du PO</h2>
          <ul>
            <li>Déborder d'empathie</li>
            <ul>
              <li>Aimer le contact direct</li>
              <li>Etre curieux</li>
              <li>Vis ma vie d'utilisateur, de développeur</li>
            </ul>
            <li>Bon négociateur</li>
            <ul>
              <li>Avoir l'esprit critique</li>
              <li>Savoir être souple</li>
            </ul>
          </ul>
        </section>
        <section data-background="#E6E6FA">
          <h2>Les autres qualités du PO</h2>
          <ul>
            <li>C'est un leader</li>
            <ul>
              <li>Il motive l'équipe</li>
              <li>Emet des signes de reconnaissance</li>
              <li>Fait la promotion de son produit</li>
            </ul>
            <li>Qui communique de façon transparente</li>
            <ul>
              <li>Sait expliquer, rendre accessible</li>
              <li>Ne cache rien, au contraire, il montre !</li>
            </ul>
            <li class="fragment">Dans les 3 dimensions du mot <i>sens</i></li>
          </ul>
          <aside class="notes">
            <p>
              Les 3 sens du mot sens:<br>
              - Direction (Où va-t-on ?)<br>
              - Finalité (Pourquoi ?)<br>
              - Sensation (Quel ressenti ?)
            </p>
          </aside>
        </section>
        <section data-background="#E6E6FA">
          <h2>Le plus du super PO</h2>
          <p style="text-align: left;">Une sensibilité à la technique lui permet :</p>
          <ul>
            <li>d'optimiser le travail de l'équipe lors de la priorisation,</li>
            <li>de comprendre pourquoi réduire la dette technique a une valeur métier.</li>
          </ul>
        </section>
        <section id="dettetech1" data-background="#E6E6FA">
          <h2>La dette technique</h2>
          <p><img src="i/dettetech1.jpg" alt="Idéal" /></p>
          <p>L'intérieur du produit tel que vous l'imaginez.</p>
          <aside class="notes">
            Le PO n'a pas accès à la salle machine, mais voilà ce qu'il imagine.
          </aside>
        </section>
        <section id="dettetech2" data-background="#E6E6FA">
          <h2>La dette technique</h2>
          <p><img src="i/dettetech2.jpg" alt="Réalité" /></p>
          <p>L'intérieur du produit tel que l'équipe vous le décrit.</p>
        </section>
        <section id="dettetech3" data-background="#E6E6FA">
          <h2>La dette technique</h2>
          <p><img src="i/dettetech3.jpg" alt="Réalité" /></p>
          <p>L'intérieur du produit tel qu'il est !</p>
          <aside class="notes">
            Il n'y a pas de doc, tout repose sur la tradition orale.
          </aside>
        </section>
        <section id="dettetechnique" data-background="#E6E6FA">
          <h2>La dette technique</h2>
          <ul>
            <li>Code de mauvaise qualité, absence de refactoring</li>
            <ul>
              <li>Diminution de la productivité de l'équipe.</li>
              <li>Risque de bugs de regression plus important.</li>
            </ul>
            <li>Manque de tests automatisés</li>
            <ul>
              <li>Plus d'anomalies en phase de qualification.</li>
              <li>Risque de devoir décaler la date de livraison.</li>
            </ul>
            <li>Composant tierce obsolète</li>
            <ul>
              <li>Pas de support en cas de crash en production.</li>
              <li>Risque d'incompatibilité lors de l'upgrade d'un autre composant.</li>
            </ul>
            <li>Technologie vieillissante</li>
            <ul>
              <li>Difficile de trouver des compétences intéressées.</li>
            </ul>
          </ul>
          <aside class="notes">
            On ne fait jamais assez attention à la dette technique car on n'en a pas toujours connaissance.<br>
            Solution : Ecouter son équipe<br>
            Pour l'obsolescence: analogie du pneu, faut-il attendre qu'il crève?
          </aside>
        </section>
        <section id="ponedoitpas" data-background="#E6E6FA">
          <h2>Le PO ne doit pas</h2>
          <ul>
            <li>Considérer que c'est simple</li>
            <li>Aider l'équipe à estimer</li>
            <li>Affecter les tâches</li>
            <li>Rédiger la spécification détaillée ;-)</li>
          </ul>
          <aside class="notes">
            <p>En développement logiciel, rien n'est simple. C'est toujours une chose nouvelle. Métaphore des décisions.
            </p>
          </aside>
        </section>
        <section id="stevejobs" data-background="#E6E6FA">
          <h2>La question de tous les matins</h2>
          <blockquote style="text-align:left">
            <p style="text-align:left">&ldquo;What incredible benefits can we give to the customer?&rdquo;</p>
            <div style="text-align:right">&mdash; Steve Jobs</div>
          </blockquote>
        </section>
      </section>
      <!-- Batir la vision -->
      <section id="vision">
        <section data-background="#5488C3">
          <h1>Vision</h1>
          <p>We know why our work is important and<br>how we'll be successful</p>
          <aside class="notes">
            <p>
            </p>
          </aside>
        </section>
        <section data-background="#5488C3">
          <h2>Bâtir la vision</h2>
          <ul>
            <li>Un nouveau système pourquoi faire ?</li>
            <li>Comment mener un projet sans en connaître l'objectif ?</li>
            <li>Comment savoir ce qui est important ?</li>
          </ul>
          <p>La vision doit être formalisée</p>
          <aside class="notes">
            <p>
              Indispensable pour la définir mais aussi pour la diffuser
            </p>
          </aside>
        </section>
        <section data-background="#5488C3">
          <h2>Comment la bâtir ?</h2>
          <ul>
            <li>Avec les parties prenantes, avec l'équipe !</li>
            <li>La coopération suscite la créativité, assure l'alignement.</li>
            <li>Etre agile, c'est ne jamais travailler seul.</li>
          </ul>
          <p>Voici des outils pour la définir mais aussi pour la diffuser.</p>
        </section>
        <section data-background="#5488C3">
          <h2>Elevator Pitch</h2>
          <p style="text-align: left;" class="fragment">Le prix est un critère important pour les clients qui réservent des voyages en
            ligne.
            Les hôtels vous laissent déconnectés de la ville et de sa culture.
            Il n'y a pas de solution aisée pour réserver une chambre chez quelqu'un ou proposer une chambre.</p>
          <p class="fragment">AirBed&amp;Breakfast est une plate-forme web où les utilisateurs peuvent louer leur logement pour héberger
            des voyageurs.
          </p>
          <aside class="notes">
            <p>
              En 30 secondes, je décris mon projet au PDG ou à un investisseur.<br>
              Le temps entre le RDC et l'étage de direction en ascenceur.
            </p>
            <p>
              AirBed&amp;Breakfast est l'ancien nom de AirBnB.
            </p>
          </aside>
        </section>
        <section data-background="#5488C3">
          <p><img src="i/elevatorpitch.jpg" alt="Template" /></p>
        </section>
        <section id="persona" data-background="#5488C3">
          <h2>Personae</h2>
          <p>Se mettre à la place des utilisateurs<p>
          <ul>
            <li>Je suis Prénom Nom, sexe, age</li>
            <li>Quel est mon rôle ?</li>
            <li>Quelles sont mes attentes ?</li>
            <li>Quelles sont mes douleurs ?</li>
            <li>Je fais souvent, je dis souvent ...</li>
          </ul>
          <aside class="notes">
            <p>
              Quels sont ses buts ?<br>
              Ce n'est pas un profil, ni un rôle, ni un segment marketing.<br>
              C'est une représentation fictive d'une utilisateur type.<br><br>
              Inventé par Alan Cooper, le créateur de VB
            </p>
          </aside>
        </section>
        <section id="personaexample" data-background="#5488C3">
          <h2>Exemple de Persona</h2>
          <p><img src="i/exemplepersona.png" alt="Template" /></p>
          <aside class="notes">
            <p>3 à 5 personae par logiciel</p>
          </aside>
        </section>
        <section id="impactmapping" data-background="#5488C3">
          <h2>Impact Mapping</h2>
          <ul>
            <li>Une visualisation du périmêtre et des hypothèses sous-jacentes, créée de manière collaborative.</li>
            <li>Une mind-map qui se construit en répondant aux questions : pourquoi, qui, comment, quoi.</li>
          </ul>
          <p>
            <img src="i/impactmap.png" alt="Impact Map" />
          </p>
          <aside class="notes">
            <p>
            </p>
          </aside>
        </section>
        <section id="why" data-background="#5488C3">
          <h2>WHY ?</h2>
          <ul>
            <li>L'unique objectif principal</li>
            <li>Il est SMART</li>
            <li>Les 5 pourquoi</li>
          </ul>
          <p style="text-align: left;">Exemples&nbsp;:<p>
          <ul style="font-style: italic;">
            <li>Diminuer le délai de facturation de 20%</li>
            <li>Démarrer les ventes au Brésil en mars</li>
          </ul>
          <aside class="notes">
            <p>
              Si plusieurs objectifs, prendre le premier, les autres dans la roadmap.<br>
              SMART =<br>
              - SPECIFIQUE, précis<br>
              - MESURABLE, quantifiables<br>
              - AMBITIEUX, requiert un effort tout en restant réalisable<br>
              - REALISTE, en phase avec la stratégie de l'entreprise<br>
              - TEMPOREL, limités dans le temps<br><br>
              Mauvais objectifs: <br>Mettre en place la version N+1 du produit X.<br>
              Augmenter le nombre de visiteurs du site web.
            </p>
          </aside>
        </section>
        <section id="who" data-background="#5488C3">
          <h2>WHO ?</h2>
          <ul>
            <li>Qui peut produire le résultat attendu&nbsp;?</li>
            <li>Qui pourrait l'empêcher ?</li>
            <li>Qui va acheter / utiliser notre produit ?</li>
            <li>Qui sera impacté ?</li>
          </ul>
          <p style="text-align: left;">Exemples&nbsp;:<p>
          <ul style="font-style: italic;">
            <li>Les randonneurs qui emportent un smartphone</li>
            <li>Les valideurs de l'Apple Store</li>
          </ul>
          <aside class="notes">
            <p>
              Ce sont les acteurs qui peuvent influencer les résultats escomptés.
            </p>
          </aside>
        </section>
        <section id="how" data-background="#5488C3">
          <h2>HOW ?</h2>
          <ul>
            <li>Comment le comportent des acteurs doit-il changer&nbsp;?</li>
            <ul>
              <li>Que vont-ils commencer à faire ?</li>
              <li>Que vont-ils arrêter de faire ?</li>
            </ul>
            <li>Comment peuvent-ils nous aider à atteindre notre objectif&nbsp;?</li>
            <li>Comment peuvent-ils nous empêcher de réussir&nbsp;?</li>
          </ul>
          <p style="text-align: left;">Exemples&nbsp;:<p>
          <ul style="font-style: italic;">
            <li>Inviter leurs amis à les rejoindre dans la communauté</li>
            <li>Installer le logiciel sans faire appel au support</li>
          </ul>
          <aside class="notes">
            <p>
              Ce sont les impacts que nous voulons créer.
            </p>
          </aside>
        </section>
        <section id="what" data-background="#5488C3">
          <h2>WHAT ?</h2>
          <ul>
            <li>Que pouvons-nous réaliser, en tant qu'entreprise ou équipe de développement, pour encourager ses
              impacts&nbsp;?</li>
            <li>Il s'agit de définir le périmètre, les livrables.</li>
          </ul>
          <p style="text-align: left;">Exemples&nbsp;:<p>
          <ul style="font-style: italic;">
            <li>Homepage adaptée au mobile avec le formulaire d'achat</li>
            <li>Permettre au client d'imprimer lui-même ses tickets</li>
          </ul>
        </section>
        <section id="impactmapexample" data-background="#5488C3">
          <h2>Exemple de Map d'Impacts</h2>
          <p><img src="i/mylibraryimpactmap.png" alt="Impact Map" /></p>
        </section>
        <section data-background="#5488C3">
          <h2>Why Who How What</h2>
          <p style="text-align: left;">
            #1 Mettre en corrélation le quoi avec le pourquoi
          </p>
          <p style="text-align: left;">
            #2 Créer des options
          </p>
          <p style="text-align: left;">
            #3 Mener des expériences
          </p>
          <p>
            Minimiser l'effort,<br>maximiser les résultats
          </p>
          <aside class="notes">
            <p>
              Une carte d'impacts met tous les livrables dans le contexte des impacts qu'ils sont censés créer. Cela
              permet de comparer les livrables et d'éviter de sur-investir dans des parties moins importantes de la carte.
            </p>
            <p>
              En connectant les <b>livrables</b> aux <b>impacts</b> et aux <b>objectifs</b>, une carte d'impacts montre
              la chaîne de raisonnement qui a mené à une idée de fonctionnalité. Cela permet de mieux ré-évaluer
              ces décisions lorsque de nouvelles informations sont accessibles suite aux livraisons précédentes.
            </p>
          </aside>
        </section>
        <section id="atelierimpactmap" data-background="#5488C3">
          <h2>Atelier</h2>
          <p>
            A vous de jouer, vous avez 30 minutes.
          </p>
          <aside class="notes">
            <p>
              Bien entendu, dans la vrai vie, il faut plus que 20 minutes pour réaliser une carte d'impact.
              On parle de 2 à 4 ateliers de 2 à 4 heures.
            </p>
          </aside>
        </section>
        <section id="othertools" data-background="#5488C3">
          <h2>Autres outils</h2>
          <p style="text-align: left; padding-left: 15%; transform: rotate(4deg);"><br>Empathy Map</p>
          <p style="transform: rotate(-8deg);">Carte Interview Problème</p>
          <p style="text-align: right; padding-right: 20%; transform: rotate(-5deg);">Business Model Canvas</p>
          <p style="transform: rotate(4deg);">Lean Canvas</p>
          <p style="text-align: right; padding-right: 10%; transform: rotate(-5deg);">Product Vision Box</p>
          <p><br>Et n'oubliez pas la collaboration !</p>
          <aside class="notes">
            <p>
              Bâtir la vision c'est bien, la diffuser c'est mieux.<br>
              La mettre à jour c'est le graal.
            </p>
          </aside>
        </section>
      </section>
      <section id="productbacklog">
        <section data-background="#61380B">
          <h1>Product Backlog</h1>
          <p>Construire une roadmap agile</p>
        </section>
        <section data-background="#61380B">
          <h2>Affinage</h2>
          <p>Epic > Feature > User Story</p>
          <p><small>Définitivement une convention.</small></p>
          <aside class="notes">
            <p>
              On parle aussi de grooming.
            </p>
          </aside>
        </section>
        <section data-background="#61380B">
          <h2>Story Map</h2>
          <p>Vision en 2D du product backlog<br>à faire au démarrage, puis à mettre à jour</p>
          <p><small>Développé par Jeff Patton.</small></p>
        </section>
        <section data-background="#61380B">
          <h2>Etape 1 - Les personae</h2>
          <p><img src="i/mylibrarysm1.png" alt="StoryMap" /></p>
        </section>
        <section data-background="#61380B">
          <h2>Etape 2 - Leurs épics</h2>
          <p><img src="i/mylibrarysm2.png" alt="StoryMap" /></p>
        </section>
        <section data-background="#61380B">
          <h2>Etape 3 - Les parcours</h2>
          <p><img src="i/mylibrarysm3.png" alt="StoryMap" /></p>
        </section>
        <section id="moscow" data-background="#61380B">
          <h2>Etape 4 - MoSCoW</h2>
          <p><img src="i/mylibrarysm4.png" alt="StoryMap" /></p>
        </section>
        <section data-background="#61380B">
          <h2 style="text-transform: none">MoSCoW</h2>
          <div style="margin: auto; text-align: left; width: 60%">
            <p><b>M</b>ust have</p>
            <p><b>S</b>hould have</p>
            <p><b>C</b>ould have</p>
            <p><b>W</b>on't have <small>(but Would like in future)</small></p>
          </div>
          <aside class="notes">
            <ul>
              <li>M - On ne peut pas mettre en prod sans</li>
              <li>S - Haute valeur mais pas indispensable au lancement</li>
              <li>C - Un plus mais pourrait sortir du périmètre si nécessaire</li>
              <li>W - Exclu du planning actuel</li>
            </ul>
            <p>Les Must ne doivent pas dépasser 60% du périmètre, S et C 20% min</p>
          </aside>
        </section>
        <section id="mvp" data-background="#61380B">
          <h2>Etape 5 - Le MVP</h2>
          <p><img src="i/mylibrarysm5.png" alt="StoryMap" /></p>
        </section>
        <section data-background="#61380B">
          <h2>Atelier</h2>
          <p>
            A vous de jouer, vous avez 30 minutes.
          </p>
        </section>
        <section data-background="#61380B">
          <h2>Priorisation</h2>
          <p>
            Dans le cas d'un projet important avec un grand nombre de fonctions déjà connues, la priorisation par
            MoSCoW peut être difficile. Passer par une estimation de la valeur et éventuellement de la complexité peut
            être nécessaire.
          </p>
          <p>
            Le Planning Poker est une option mais il risque d'être long. Essayez le Bucket System.
          </p>
        </section>
        <section id="bucketsystem" data-background="#61380B">
          <h2>Bucket System</h2>
          <p>Une alternative rapide au planning poker.</p>
          <p><img src="i/mylibrarybucket.png" alt="Bucket System" /></p>
        </section>
        <section data-background="#61380B">
          <h2>Bucket System</h2>
          <ol>
            <li>Etaler en ligne un jeu de Planning Poker</li>
            <li>Prendre une US au hasard et la placer dans le bucket 8</li>
            <li>Prendre une seconde US et discuter de sa valeur avec l'ensemble des participants. La
            placer dans le bon bucket. Prendre une troisième US et répéter l'opération.</li>
            <li>Distribuer équitablement les US restantes aux participants. Demander à chacun de placer ses US dans les
            bons buckets.</li>
            <li>Pour finir, vérifier l'ensemble des estimations collectivement. Discuter des désaccords.</li>
          </ol>
          <aside class="notes">
            Peut aussi être utilisé pour estimer la complexité.<br>Mais pas avec les mêmes participants.
          </aside>
        </section>
      </section>
      <section>
        <h1>Pause</h1>
      </section>
      <section id="userstory">
        <section data-background="#D2B48C">
          <h1>User Story</h1>
          <p>
            <small>En tant que PO<br>Je veux créer des User Stories<br>
            Afin de communiquer efficacement avec mon équipe</small>
          </p>
        </section>
        <section data-background="#D2B48C">
          <h2>Histoire Utilisateur !</h2>
          <p style="text-align: left">
            Une User Story n'est pas un document. <small>Le terme désigne l'ensemble des activités qui sont nécessaires
            pour transformer une version V du produit en une version V+1 qui a plus de valeur; en ce sens une story
            est un objectif.</small><br><br>
            Le niveau de détail d'une User Story n'est pas constant. <small>Une story dont la réalisation est prévue dans plusieurs
            semaines ne sera décrite que d'une brève phrase, alors qu'une story dont la réalisation est imminente
            doit être cadrée par des tests de recette, des exemples, etc.</small>
          </p>
          <aside class="notes">
            Pratique de la méthode XP.
          </aside>
        </section>
        <section data-background="#D2B48C">
          <h2>Rôle - Fonctionnalité - Bénéfice</h2>
          <p style="margin: auto; text-align: left; width: 60%">
            En tant que [<i>rôle</i>]<br>
            Je veux [<i>fonctionnalité</i>]<br>
            Afin de [<i>bénéfice</i>]<br><br>
          </p>
          <p>
            <small>Oblige à se poser les questions : pour qui et pourquoi ?</small>
            <br><br>
          </p>
          <p style="text-align: right; transform: rotate(-8deg);" class="fragment">Donner du sens !</p>
          <aside class="notes">
            Formule proposée par Rachel Davies et Tim McKinnon en 2001
          </aside>
        </section>
        <section data-background="#D2B48C">
          <h2>Exemples</h2>
          <p style="margin: auto; text-align: left; width: 60%">
            En tant que <i>futur adhérent</i><br>
            Je veux <i>payer ma cotisation</i><br>
            Afin de <i>pouvoir emprunter des livres</i><br><br>
          </p>
          <p style="margin: auto; text-align: left; width: 60%">
            En tant que <i>jardinier</i><br>
            Je veux <i>une pelle</i><br>
            Afin de <i>creuser un trou</i>
          </p>
          <p style="margin-left: 4em; margin-top: -4em; text-align: left; transform: rotate(-16deg)" class="fragment">
            _______________________
          </p>
          <aside class="notes">
            Une différence entre ces 2 exemples ?<br><br>
            Pas assez de contexte : quelle taille de trou ? pour planter quoi ?<br>
            Trop orienté solution : la pelle !
          </aside>
        </section>
        <section id="invest" data-background="#D2B48C">
          <h2>INVEST</h2>
          <p style="margin: auto; text-align: left; width: 30%">
            Independent<br>
            Negotiable<br>
            Valuable<br>
            Estimable<br>
            Small<br>
            Testable
          </p>
        </section>
        <section id="independent" data-background="#D2B48C">
          <h2>Indépendante</h2>
          <p>
            Ne dépend pas de la réalisation d'une autre story.<br>
            Peut être réalisée à n'importe quel moment.
          </p>
          <p>
            Les bouchons sont vos amis.
          </p>
        </section>
        <section id="negotiable" data-background="#D2B48C">
          <h2>Négociable</h2>
          <p>
            Ce n'est pas un contrat explicite, les détails sont co-créés au cours du développement avec le client et le
            développeur. Une bonne story capture l'essentiel et laisse les détails.
          </p>
          <p>
            Evitez de penser solution. Oubliez les termes techniques&nbsp;: bouton, menu, colonne de table.
          </p>
        </section>
        <section id="valuable" data-background="#D2B48C">
          <h2>De Valeur</h2>
          <p>
            C'est un incrément qui apporte de la valeur à mon client. Soyez attentif à ce point lorsque vous
            découpez.
          </p>
          <p>
            Le découpage en couche n'a pas de valeur pour mon client. Exemple&nbsp;:
            "<i>réaliser le schéma de la bdd pour la facturation</i>"
          </p>
        </section>
        <section id="estimable" data-background="#D2B48C">
          <h2>Estimable</h2>
          <p>
            Ceci implique que la story est suffisamment comprise, l'objectif est de pouvoir faire une estimation relative.
          </p>
          <p>
            Si l'équipe a vraiment du mal à estimer, proposez un Spike.
          </p>
        </section>
        <section id="small" data-background="#D2B48C">
          <h2>Suffisamment petite</h2>
          <p>
            Le développement d'une story ne doit pas dépasser quelques jours-hommes. Au dessus d'une semaine
            l'estimation est imprécise.
          </p>
          <p>
            Idéalement, vous devez faire au minimum<br>5 ou 6 stories par sprint.
          </p>
        </section>
        <section id="testable" data-background="#D2B48C">
          <h2>Testable</h2>
          <p>
            Je comprends assez ce que je demande<br>pour pouvoir écrire ce que je vais tester.
          </p>
          <p>
            La story "<i>augmenter la performance de la recherche</i>"<br>ne va pas être facile à tester.
          </p>
        </section>
        <section data-background="#D2B48C">
          <h2>Un exemple <span class="fragment">trop gros</span></h2>
          <p style="margin-left: 2em; text-align: left">
            En tant qu'adhérent<br>
            Je veux emprunter un livre<br>
            Afin de le lire tranquillement chez moi
          </p>
          <p style="text-align: left">
            Notes<br>
            <small>Le livre et la date d'emprunt sont mémorisés et associés à la fiche adhérent.<br>
            Le même livre ne peut plus être emprunté par un autre adhérent.<br>
            L'adhérent ne dépasse pas le nombre maximum d'emprunts possibles.<br>
            Si le livre n'est pas disponible, proposer de le réserver.</small>
          </p>
        </section>
        <section id="storysplit" data-background="#D2B48C">
          <h2>Un exemple de découpage</h2>
          <p style="background-color: #CF8B33; text-align: left">
            En tant qu'adhérent<br>
            Je veux visualiser ma fiche (avec mes emprunts)<br>
            Afin de vérifier ma situation (adhésion, nombre d'emprunts)
          </p>
          <p style="background-color: #CFC4B5; margin-left: 3em; text-align: left">
            En tant qu'adhérent<br>
            Je veux emprunter un livre disponible<br>
            Afin de le lire tranquillement chez moi
          </p>
          <aside class="notes">
            Et on peut imaginer une 3e story sur la réservation d'un livre.
          </aside>
        </section>
        <section id="technicalstory" data-background="#D2B48C">
          <h2>Technical Story</h2>
          <p><img src="i/technicalstory.jpg" alt="#OMG" /></p>
          <aside class="notes">
            <p>
              Une User Story qu'on ne veut pas expliquer au PO (ou client) ?
            </p>
          </aside>
        </section>
        <section data-background="#D2B48C">
          <h2>Atelier</h2>
          <p>
            A vous de jouer, vous avez 30 minutes.
          </p>
        </section>
      </section>
      <section id="sprintbacklog">
        <section data-background="#0B3B0B">
          <h1>Sprint Backlog</h1>
          <p>Le contenu de l'itération</p>
        </section>
        <section data-background="#0B3B0B">
          <h2>L'objectif</h2>
          <p>Ajouter un nouvel incrément au produit.</p>
          <p>
            Sélectionnez les stories qui vont être réalisées dans la prochaine itération. Elles sont prioritaires et
            elles ont du sens. L'incrément du produit sera mis en production.
          </p>
        </section>
        <section data-background="#0B3B0B">
          <h2>Le comment</h2>
          <p>
            Le Sprint Planning est la réunion où les membres de l'équipe sélectionnent les stories. Pour cela, ils en
            discutent, ils les estiment, ils élaborent les solutions.
          </p>
          <p>
            En sortie de réunion, l'équipe s'est engagée à réaliser les items du Sprint Backlog
          </p>
          <aside class="notes">
            En Scrum strict, le PO ne sélectionne pas les stories à inclure dans le sprint backlog.
          </aside>
        </section>
        <section data-background="#0B3B0B">
          <h2>Estimation relative</h2>
          <p>
            L'estimation est réalisée à l'aide d'un planning poker.<br>
            Story point ou taille de T-shirt, peu importe.
          </p>
          <p>
            C'est une estimation relative.
          </p>
          <aside class="notes">
            Une échelle de 1 à 10 avec 8 barreaux suffit amplement.
          </aside>
        </section>
        <section data-background="i/meteo.jpg">
          <h2>Météo d'hier</h2>
          <p style="background-color: rgba(11, 59, 11, 0.5); text-align: left;">
            On utilise les données d'historique pour déterminer la capacité de réalisation de l'équipe.<br>
            On nomme <b>vélocité</b> la somme des estimations associées aux stories terminées lors de la précédente
            itération.
          </p>
          <p style="background-color: rgba(11, 59, 11, 0.5);">
            La première fois, on est forcément dans le flou, mais avec l'expérience on s'améliore.
          </p>
        </section>
        <section data-background="#0B3B0B">
          <h2>Garder de la marge</h2>
          <ul>
            <li>Parce que les estimations sont imprécises</li>
            <li>Pour la correction des anomalies (<i>no broken window</i>)</li>
            <li>Pour les retours de démo</li>
          </ul>
          <p>
            Un tiers de marge n'est pas exhorbitant.
          </p>
        </section>
      </section>
      <section id="bdd">
        <section data-background="#3D3D3D">
          <h1>Behavior Driven Development</h1>
          <p>Le TDD avec les mots du métier</p>
        </section>
        <section id="tdd" data-background="#3D3D3D">
          <h2>Test Driven Development</h2>
          <p><img src="i/tdd_cycle.jpg" alt="Cycle du TDD" /></p>
        </section>
        <section data-background="#3D3D3D">
          <h2>Principes du BDD</h2>
          <ul>
            <li>Elaborer le cas de test avant de réaliser le développement</li>
            <li>Dans un langage simple et standardisé (semi-formel) compris de toute l'équipe</li>
            <li>Et automatisable à l'aide d'un outil</li>
            <ul>
              <li>Cucumber, Fitnesse, JBehave</li>
            </ul>
          </ul>
        </section>
        <section id="givenwhenthen" data-background="#3D3D3D">
          <h2>Given When Then</h2>
          <p style="margin-left: 2em; text-align: left;">Scénario : [<i>Intitulé du scénario</i>]</p>
          <ul>
            <li><span class="keyword">Etant donné</span> [<i>que le monde était dans cet état</i>]</li>
            <li><span class="keyword">Quand</span> [<i>l'action se produit</i>]</li>
            <li><span class="keyword">Alors</span> [<i>le changement a eu lieu</i>]</li>
          </ul>
          <p><small>On peut ajouter des conditions supplémentaires avec des <span class="keyword">Et</span>.</small></p>
          <aside class="notes">
            Le When peut être vu comme une pré-condition.<br>
            Et le Then comme une post-condition.<br><br>
            Etant donné le CONTEXTE<br>
            Quand l'EVENEMENT<br>
            Alors le RESULTAT ATTENDU
          </aside>
        </section>
        <section data-background="#3D3D3D">
          <h2>Un exemple</h2>
          <p style="background-color: #5D3908; color: #CCC ; font-size: smaller; margin: 0 3em; padding: 10px 3em; text-align: left">
            En tant qu'adhérent<br>
            Je veux emprunter un livre disponible<br>
            Afin de le lire tranquillement chez moi
          </p>
          <p style="margin-left: 2em; text-align: left;">Scénario : Emprunt d'un premier livre</p>
          <ul>
            <li><span class="keyword">Etant donné</span> que je suis à jour de mon adhésion</li>
            <li class="et"><span class="keyword">Et</span> que je n'ai pas de livre emprunté</li>
            <li><span class="keyword">Quand</span> j'emprunte un livre</li>
            <li><span class="keyword">Alors</span> j'ai en ma possession 1 livre emprunté</li>
            <li class="et"><span class="keyword">Et</span> je dois le rendre dans un mois</li>
          </ul>
        </section>
        <section data-background="#3D3D3D">
          <h2>Un second exemple</h2>
          <p style="margin-left: 2em; text-align: left;">Scénario : Emprunt refusé pour défaut d'adhésion</p>
          <ul>
            <li><span class="keyword">Etant donné</span> que je n'ai pas renouvelé mon adhésion</li>
            <li class="et"><span class="keyword">Et</span> que j'ai en ma possession 2 livres empruntés</li>
            <li><span class="keyword">Quand</span> j'emprunte un livre</li>
            <li><span class="keyword">Alors</span> le système refuse le nouvel emprunt</li>
            <li class="et"><span class="keyword">Et</span> il m'affiche le retard de règlement de mon adhésion</li>
          </ul>
        </section>
        <section data-background="#3D3D3D">
          <h2>Un troisième exemple</h2>
          <p style="margin-left: 2em; text-align: left;">Scénario : Emprunt refusé pour retard</p>
          <ul>
            <li><span class="keyword">Etant donné</span> que je suis à jour de mon adhésion</li>
            <li class="et"><span class="keyword">Et</span> que je suis en retard de retour d'1 livre emprunté</li>
            <li><span class="keyword">Quand</span> j'emprunte un livre</li>
            <li><span class="keyword">Alors</span> le système refuse le nouvel emprunt</li>
            <li class="et"><span class="keyword">Et</span> il m'affiche l'objet du retard (livre, date de retour prévue)</li>
          </ul>
        </section>
        <section data-background="#3D3D3D">
          <h2>Un exemple avec des données</h2>
          <p style="margin-left: 2em; text-align: left;">Scénario : Validation des emprunts</p>
          <ul style="width: 80%">
            <li><span class="keyword">Etant donné</span> le stock de livres :</li>
            <pre class="data">
|ISBN |Titre          |Auteur   |Date retour
|1234 |L'étranger     |A. Camus |2014-12-21
|5678 |Les misérables |V. Hugo  |2015-05-15</pre>
            <li class="et"><span class="keyword">Et</span> que la date du jour est &lt;Date&gt;</li>
            <li><span class="keyword">Quand</span> j'emprunte le livre &lt;ISBN&gt;</li>
            <li><span class="keyword">Alors</span> le système &lt;Action&gt; le nouvel emprunt</li>
            <li><span class="keyword">Exemples :</span></li>
            <pre class="data">
|Date       |ISBN |Action
|2015-05-01 |1234 |enregistre
|2015-05-01 |5678 |refuse
|2015-05-30 |5678 |enregistre</pre>
          </ul>
        </section>
        <section data-background="#3D3D3D">
          <h2>Atelier</h2>
          <p>
            A vous de jouer, vous avez 30 minutes.
          </p>
        </section>
      </section>
      <section id="demo">
        <section data-background="#D2B48C">
          <h1>Démonstration</h1>
          <p>Fier de ce qu'on a fait</p>
        </section>
        <section data-background="#D2B48C">
          <h2>Préparation</h2>
          <ul>
            <li>Une plate-forme opérationnelle</li>
            <li>Un jeu de données</li>
            <li>Le matériel nécessaire</li>
            <ul>
              <li>PC, écran de projection, téléconférence, ...</li>
            </ul>
            <li>Mais pas plus de 2 heures !</li>
          </ul>
        </section>
        <section data-background="#D2B48C">
          <h2>Les invités</h2>
          <ul>
            <li>L'équipe, c'est elle qui organise</li>
            <li>Le Product Owner</li>
            <li>Les invités du PO&nbsp;:</li>
            <ul>
              <li>Le sponsor</li>
              <li>Des utilisateurs clés (ou pas)</li>
              <li>Le directeur, l'expert, le coach agile</li>
            </ul>
          </ul>
        </section>
        <section data-background="#D2B48C">
          <h2>L'ordre du jour</h2>
          <ul>
            <li>Ouverture</li>
            <li>Liste des stories prévues</li>
            <ul>
              <li>Finies vs Non finies</li>
              <li>Les non-démontrables</li>
            </ul>
            <li>Démo avec le protocole 1-2-3</li>
            <li>Evé...</li>
            <li>Fut...</li>
            <ul>
              <li>Pro...</li>
              <li>Roa...</li>
            </ul>
            <li>Clo...</li>
          </ul>
          <aside class="notes">
            La démo n'est jamais faite avec des slides
          </aside>
        </section>
        <section id="protocoldemo" data-background="#D2B48C">
          <h2>1-2-3 démo</h2>
          <p>
            Pour chaque story démontrée&nbsp;:
          </p>
          <ol>
            <li>Contexte</li>
            <ul class="fragment">
              <li>Le PO donne le contexte de la story et rappelle ses principales conditions de satisfaction</li>
            </ul>
            <li>Démo de la story</li>
            <ul class="fragment">
              <li>L'Equipe fait la demo de la story en montrant qu'elle répond aux conditions de satisfaction</li>
            </ul>
            <li>Feedback</li>
            <ul class="fragment">
              <li>L'Assemblée commente, questionne et donne son retour sur ce qu'elle vient de voir</li>
            </ul>
          </ol>
          <aside class="notes">
            Contexte : et conditions de satisfaction<br>
            Feedback : à minima du PO
          </aside>
        </section>
        <section data-background="#D2B48C">
          <h2>L'ordre du jour</h2>
          <ul>
            <li>Ouverture</li>
            <li>Liste des stories prévues</li>
            <ul>
              <li>Finies vs Non finies</li>
              <li>Les non-démontrables</li>
            </ul>
            <li>Démo avec le protocole 1-2-3</li>
            <li>Evénements et apprentissages</li>
            <li>Futur du produit</li>
            <ul>
              <li>Prochain sprint</li>
              <li>Roadmap</li>
            </ul>
            <li>Cloture</li>
          </ul>
        </section>
        <section data-background="#D2B48C">
          <h2>Les objectifs</h2>
          <ul>
            <li>Recueillir des retours</li>
            <li>Entretenir la cohésion d'équipe</li>
            <li>Améliorer le produit</li>
          </ul>
          <p class="fragment">
            C'est la rétrospective du Produit
          </p>
        </section>
      </section>
      <section id="recap" data-background="#46656A">
        <h1>Récapitulons</h1>
        <iframe width="560" height="315" src="https://www.youtube.com/embed/3qMpB-UH9kA" frameborder="0"></iframe>
        <p>https://www.youtube.com/watch?v=3qMpB-UH9kA</p>
      </section>
      <section id="end">
        <section>
          <h1>The End</h1>
        </section>
        <section>
          <h2>Le ROTI</h2>
          <p>POULET en français, selon la définition de Pablo Pernot&nbsp;:</p>
          <p>Performance Octroyée selon l'Utilité et la Légitimité du sujet En relation avec le Temps passé</p>
        </section>
        <section id="roti">
          <h2>
            Return On Time Invested
          </h2>
          <ul>
            <li style="background-image: url('i/rotione.png');">Totalement inutile, j'ai perdu mon temps</li>
            <li style="background-image: url('i/rotitwo.png');">Négatif, trop de temps par rapport à la valeur reçue</li>
            <li style="background-image: url('i/rotithree.png');">Moyen, équilibre entre gain et temps passé</li>
            <li style="background-image: url('i/rotifour.png');">Positif, gain supérieur au temps passé</li>
            <li style="background-image: url('i/rotifive.png');">Réellement utile, vaut largement le temps passé</li>
          </ul>
        </section>
        <section>
          <h2>Crédits</h2>
          <p style="font-size: smaller ;text-align: left;">
            - Cette présentation utilise <a href="https://github.com/hakimel/reveal.js">reveal.js</a> de Hakim El Hattab<br>
            - <a href="http://blog.crisp.se/2012/10/25/henrikkniberg/agile-product-ownership-in-a-nutshell">Illustration
              du rôle du PO</a> de Henrik Kniberg sur le Crisp's Blog<br>
            - <a href="http://15marches.fr/numerique/pitchandloveau-startupweekend">Elevator Pitch sentence</a> issue de 15Marches<br>
            - <a href="http://wellington.pm.org/archive/200606/tdd/slide10.html">Cycle du TDD</a> emprunté à Grant McLean sur le site wellington.pm.org<br>
            - <a href="http://www.qualitystreet.fr/2014/09/08/truc-de-coach-1-2-3-demo-notre-protocole-demo/">Protocole Démo</a> emprunté à Jean Claude Grosjean<br>
            - <a href="https://commons.wikimedia.org/wiki/File:Cain_Henri_Vidal_Tuileries.jpg">Caïn par Henri Vidal</a>,
              photo de Marie-Lan Nguyen<br>
            - <a href="http://wavegrower.tumblr.com/image/153518377345">Vol d'oiseaux de l'écran titre</a> de Frédéric Vayssouze-Faure
            </p>
        </section>
      </section>
    </div>
  </div>

  <script src="dist/reveal.js"></script>
  <script src="plugin/notes/notes.js"></script>
  <script src="plugin/markdown/markdown.js"></script>
  <script src="plugin/highlight/highlight.js"></script>
  <script>
    // More info about initialization & config:
    // - https://revealjs.com/initialization/
    // - https://revealjs.com/config/
    Reveal.initialize({
        // Help the user learn the controls by providing hints, for example by
        // bouncing the down arrow when they first encounter a vertical slide
        controlsTutorial: false,
        // Add the current slide number to the URL hash so that reloading the
        // page/copying the URL will return you to the same slide
        hash: true,
        // The "normal" size of the presentation, aspect ratio will
        // be preserved when the presentation is scaled to fit different
        // resolutions. Can be specified using percentage units.
        width: 1300,
        height: 800,
        // Learn about plugins: https://revealjs.com/plugins/
        plugins: [ RevealMarkdown, RevealHighlight, RevealNotes ]
    });
  </script> 

</body>
</html>
