« Une user story est le titre d'un scénario alors qu'un cas d'utilisation est le contenu de plusieurs scénarios » : différence entre les versions
De Wiki Agile
Aucun résumé des modifications |
|||
| Ligne 20 : | Ligne 20 : | ||
<br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">-- un ange passe --(parce qu'il n'y a pas de réponse consensuellement acceptée)</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Dans [[Une user story est à un cas d'utilisation ce qu'une gazelle est à un gazoduc]][http://alistair.cockburn.us/Re%3A+A+user+story+is+to+a+use+case+as+a+gazelle+is+to+a+gazebo ,] j’ai conclu par la réponse suivante :</span><br /> <br /> ''<span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline"> Après les trois premières lettres, ils n'ont rien en commun.</span>''<br /> <br /> | <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">-- un ange passe --(parce qu'il n'y a pas de réponse consensuellement acceptée)</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Dans [[Une user story est à un cas d'utilisation ce qu'une gazelle est à un gazoduc]][http://alistair.cockburn.us/Re%3A+A+user+story+is+to+a+use+case+as+a+gazelle+is+to+a+gazebo ,] j’ai conclu par la réponse suivante :</span><br /> <br /> ''<span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline"> Après les trois premières lettres, ils n'ont rien en commun.</span>''<br /> <br /> | ||
---- | ---- | ||
<span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Jens Coldewey | <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Jens Coldewey a écrit dans son blog qu'une user story est le titre d'un scénario. (Ce n'est pas parfaitement, ni obligatoirement, presque toujours cela, mais c'est vraiment très proche).</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Cela amène à la réponse formelle suivante :</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Une user story est le titre d'un scénario, alors qu'un cas d'utilisation est le contenu de plusieurs scénarios.</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Par conséquent, j'ai souvent été cité disant, "Une user story est une promesse pour une conversation", ... éludant ainsi la question " à propos de quoi ?" ... à laquelle il est répondu, "à propos du scénario dont c'est le titre !".</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">A propos, vous pourriez vouloir considérer, [http://alistair.cockburn.us/Why+I+still+use+use+cases Pourquoi je continue à utiliser les cas d'utilisation][http://alistair.cockburn.us/Re%3A+Why+I+still+use+use+cases (discussion: Re: Pourquoi je continue à utiliser les cas d'utilisation]</span><br /> <br /> | ||
---- | ---- | ||
'''<span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Le Ver Plat Géant Qui A Mangé Calcutta</span>'''<span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline"> (3 février 2008)</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">(D'accord, cette ville ne s'appelle plus Calcutta, ils aiment l'écrire Kolkata, mais j'aime toujours Calcutta – elle a une histoire intéressante).</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">L'autre jour, Craig Larman m'a choqué en disant que les user stories étaient des fractales. Je savais déjà que les user stories étaient comme des vers plats ... coupez-les en deux et vous en aurez deux. Mais cela signifie seulement les rendre plus petits. Craig laissait entendre que vous pourriez les rendre plus gros (faites un zoom arrière sur une fractale et vous aurez encore une fractale ... faites un zoom arrière sur un ver plat (ou collez les ensemble) et vous aurez toujours deux vers plats).</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Une remarque est que Craig aime écrire de vraiment grosses user stories, du genre prenant 3 ans et 2 000 personnes à implémenter.</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Aussi, selon la distinction faite ci-dessus, il s'agirait juste d'écrire le nom d'un cas d'utilisation pour avoir ce même cas d'utilisation.</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Toutefois, Craig va plus loin. Utilisant les [http://about.wikispaces.com/blank Storyotypes] de Gerard Meszaros comme base (non que Craig l'ait indiqué, c'est ma contextualisation de la recommandation de Craig), nous pouvons voir que Craig utilise d'énormes user stories pour </span><span style="font-family: 'Times New Roman'; font-size: 16px">même faire remonter les exigences non fonctionnelles sur une très grande échelle.</span><br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Je trouve cela intéressant et j'espère pouvoir faire des recherches sur le sujet. Attendez-vous à entendre parler davantage du Platus Helmins Gigantus avalant Tokyo ou attaquant NYC avec des exigences non fonctionnelles.</span><br /> <br /> | '''<span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Le Ver Plat Géant Qui A Mangé Calcutta</span>'''<span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline"> (3 février 2008)</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">(D'accord, cette ville ne s'appelle plus Calcutta, ils aiment l'écrire Kolkata, mais j'aime toujours Calcutta – elle a une histoire intéressante).</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">L'autre jour, Craig Larman m'a choqué en disant que les user stories étaient des fractales. Je savais déjà que les user stories étaient comme des vers plats ... coupez-les en deux et vous en aurez deux. Mais cela signifie seulement les rendre plus petits. Craig laissait entendre que vous pourriez les rendre plus gros (faites un zoom arrière sur une fractale et vous aurez encore une fractale ... faites un zoom arrière sur un ver plat (ou collez les ensemble) et vous aurez toujours deux vers plats).</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Une remarque est que Craig aime écrire de vraiment grosses user stories, du genre prenant 3 ans et 2 000 personnes à implémenter.</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Aussi, selon la distinction faite ci-dessus, il s'agirait juste d'écrire le nom d'un cas d'utilisation pour avoir ce même cas d'utilisation.</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Toutefois, Craig va plus loin. Utilisant les [http://about.wikispaces.com/blank Storyotypes] de Gerard Meszaros comme base (non que Craig l'ait indiqué, c'est ma contextualisation de la recommandation de Craig), nous pouvons voir que Craig utilise d'énormes user stories pour </span><span style="font-family: 'Times New Roman'; font-size: 16px">même faire remonter les exigences non fonctionnelles sur une très grande échelle.</span><br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Je trouve cela intéressant et j'espère pouvoir faire des recherches sur le sujet. Attendez-vous à entendre parler davantage du Platus Helmins Gigantus avalant Tokyo ou attaquant NYC avec des exigences non fonctionnelles.</span><br /> <br /> | ||
---- | ---- | ||
'''<span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">15 décembre 2008</span>'''<span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline"> (essayant à nouveau à partir de la liste de diffusion Scrum, ce coup-ci)</span><br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">> >> D'un autre côté, si vous ignorez le concept de "complétude", l'approche du Cas d'Utilisation dégénère gentiment en Stories.</span><br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">> > Non.</span><br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">> :-( as-tu le temps de dire autre chose que "Non." Ton livre était l'un des premiers que j'ai lu sur le sujet, je suis intéressé par ce que tu as à dire.</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Trois caractéristiques distinguent un cas d'utilisation d'une user story ou d'une fonctionnalité.</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">1. Un cas d'utilisation a une intrigue. A l'inverse d'une "user story" (qui bizarrement, n'est pas une histoire du tout, parce qu'elle n'a pas d'intrigue), un cas d'utilisation raconte une histoire de quelqu'un utilisant le système pour réaliser un objectif quelconque. Cela signifie qu'il a plus d'une étape ...</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">2. Un cas d'utilisation décrit la boîte noire du comportement du système. C'est à dire, que les autres systèmes communiquent avec le système en cours de conception. Une user story ne le fait pas.</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">3. La différence la plus évidente est qu'un cas d'utilisation recueille des scénarios. Une user "story" (ahem à nouveau la partie 'histoire' d'une user story) indique seulement un scénario. Un cas d'utilisation ne peut se réduire à une user story parce qu'un cas d'utilisation a certainement ou presque deux portes de sortie, l'une où l'objectif de l'utilisateur est accompli et l'autre où l'objectif de l'utilisateur n'est pas accompli.</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">N'importe laquelle de ces trois caractéristiques fait qu'un cas d'utilisation ne se réduit pas à une user story.</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Le cas d'utilisation a le mérite de montrer la taille et la forme du système lorsqu'il est assemblé, pour aider les rédacteurs à résoudre ce qui est peut être manquant ou pour être certain que des choses ne manquent pas, pour montrer le comportement général du système. </span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Les User (ahem) stories ou les fonctionnalités du produit sont des points utiles à développer dans les lots définis par les développeurs (comme Gerard l'avait fait remarqué). </span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Les grands bénéfices apportés par les cas d'utilisations sont pour le sponsor, l’utilisateur et le PO. Les développeurs ont montré une tendance ces dernières années à ne pas les aimer parce qu'ils ne montrent pas les travaux à mener par les développeurs.</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Les user stories, les fonctionnalités et les éléments de backlog présentent la tendance inverse - ils montrent bien les travaux à mener, mais de manière flou le schéma général. </span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Il y a longtemps, j'en ai conclu que vous ne pourriez avoir les deux dans le même document (même si la story map de Jeff Patton en est proche), bien que je comprenne que les deux puissent être nécéssaires. </span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Personnellement, je travaille à partir des cas d'utilisations et fait le découpage dans ma tête ou avec des crayons. Gerard semble travailler à partir des user stories et les assemble ensemble en cas d'utilisation dans sa tête. La plupart des gens choisissent l’un des deux et ne se préoccupent pas d'apprendre l'autre.</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Alistair</span> | '''<span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">15 décembre 2008</span>'''<span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline"> (essayant à nouveau à partir de la liste de diffusion Scrum, ce coup-ci)</span><br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">> >> D'un autre côté, si vous ignorez le concept de "complétude", l'approche du Cas d'Utilisation dégénère gentiment en Stories.</span><br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">> > Non.</span><br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">> :-( as-tu le temps de dire autre chose que "Non." Ton livre était l'un des premiers que j'ai lu sur le sujet, je suis intéressé par ce que tu as à dire.</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Trois caractéristiques distinguent un cas d'utilisation d'une user story ou d'une fonctionnalité.</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">1. Un cas d'utilisation a une intrigue. A l'inverse d'une "user story" (qui bizarrement, n'est pas une histoire du tout, parce qu'elle n'a pas d'intrigue), un cas d'utilisation raconte une histoire de quelqu'un utilisant le système pour réaliser un objectif quelconque. Cela signifie qu'il a plus d'une étape ...</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">2. Un cas d'utilisation décrit la boîte noire du comportement du système. C'est à dire, que les autres systèmes communiquent avec le système en cours de conception. Une user story ne le fait pas.</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">3. La différence la plus évidente est qu'un cas d'utilisation recueille des scénarios. Une user "story" (ahem à nouveau la partie 'histoire' d'une user story) indique seulement un scénario. Un cas d'utilisation ne peut se réduire à une user story parce qu'un cas d'utilisation a certainement ou presque deux portes de sortie, l'une où l'objectif de l'utilisateur est accompli et l'autre où l'objectif de l'utilisateur n'est pas accompli.</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">N'importe laquelle de ces trois caractéristiques fait qu'un cas d'utilisation ne se réduit pas à une user story.</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Le cas d'utilisation a le mérite de montrer la taille et la forme du système lorsqu'il est assemblé, pour aider les rédacteurs à résoudre ce qui est peut être manquant ou pour être certain que des choses ne manquent pas, pour montrer le comportement général du système. </span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Les User (ahem) stories ou les fonctionnalités du produit sont des points utiles à développer dans les lots définis par les développeurs (comme Gerard l'avait fait remarqué). </span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Les grands bénéfices apportés par les cas d'utilisations sont pour le sponsor, l’utilisateur et le PO. Les développeurs ont montré une tendance ces dernières années à ne pas les aimer parce qu'ils ne montrent pas les travaux à mener par les développeurs.</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Les user stories, les fonctionnalités et les éléments de backlog présentent la tendance inverse - ils montrent bien les travaux à mener, mais de manière flou le schéma général. </span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Il y a longtemps, j'en ai conclu que vous ne pourriez avoir les deux dans le même document (même si la story map de Jeff Patton en est proche), bien que je comprenne que les deux puissent être nécéssaires. </span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Personnellement, je travaille à partir des cas d'utilisations et fait le découpage dans ma tête ou avec des crayons. Gerard semble travailler à partir des user stories et les assemble ensemble en cas d'utilisation dans sa tête. La plupart des gens choisissent l’un des deux et ne se préoccupent pas d'apprendre l'autre.</span><br /> <br /> <span style="background-color: transparent; color: #000000; font-family: Times New Roman; font-size: 16px; text-decoration: none; vertical-align: baseline">Alistair</span> | ||