Quelle est la différence entre les user stories et les fonctionnalités?

25

En jouant avec icescrum , j'ai réalisé que je ne comprenais pas la différence entre les user stories et les fonctionnalités utilisateur.

Quelqu'un peut-il expliquer la différence?

BЈовић
la source

Réponses:

23

Une fonctionnalité est un élément distinct de fonctionnalité qui peut fournir des capacités à l'entreprise.

Une histoire est un petit aspect d'une fonctionnalité que vous pouvez utiliser pour obtenir des commentaires de vos parties prenantes et savoir si vous faites quelque chose de mal.

Par exemple, une fonctionnalité pourrait être «permettre aux utilisateurs de commenter des articles». Les histoires associées à cette fonctionnalité pourraient alors être:

  • enregistrer les commentaires
  • filtrer les commentaires pour les mots grossiers
  • limiter les commentaires à 400 caractères et renvoyer aux utilisateurs
  • ajouter des captchas pour empêcher les robots de spammer le site
  • autoriser les utilisateurs à se connecter via Google id

etc.

À chaque étape, nous pouvons ensuite obtenir des commentaires sur la pertinence de la direction que nous prenons.

Certaines équipes ne prennent pas la peine de diviser des fonctionnalités en histoires. C'est bon.

Lunivore
la source
13
Ces histoires associées ne sont-elles pas réellement des tâches de user story? Je dirais que oui. Une histoire d'utilisateur serait: en tant qu'utilisateur, je voudrais commenter des articles afin que nous, en tant qu'utilisateurs, puissions améliorer le contenu de l'article ou exprimer des préoccupations. Cette user story serait décomposée en tâches que vous avez décrites ...
Robert Koritnik
4
Je considère qu'une tâche est quelque chose qui doit être fait pour obtenir des commentaires, mais sur laquelle vous ne pouvez pas obtenir de commentaires seuls - par exemple, créer une table de base de données. N'importe laquelle de ces histoires, à l'exception de la première, pourrait potentiellement être supprimée tout en laissant de la valeur à l'expédition. Les tâches sont généralement découpées horizontalement dans mon monde. Mais, si vous avez des définitions différentes, c'est OK. La granularité n'est pas une chose complètement discrète, chaque objectif est un sous-objectif d'un autre, et je pense que vous devriez faire tout ce qui est pragmatique pour vous. Je trouve cette ventilation utile, tout comme nombre de mes équipes.
Lunivore
16

Caractéristiques == Histoires d'utilisateurs.

Le verbiage est dicté par la méthodologie Agile donnée utilisée.

Les différentes méthodologies utilisent une terminologie différente pour faire référence aux fonctionnalités. C'est à l'équipe de décider quelle méthodologie ou terminologie utiliser. Extreme Programming (XP) utilise les termes User Stories ou Stories pour représenter des fonctionnalités; Scrum utilise Product Backlog pour décrire une liste de fonctionnalités; Le développement piloté par les fonctionnalités utilise la fonctionnalité; et DSDM utilise l'exigence. De même, il existe différentes versions allégées du processus unifié, ou Agile UP, qui utilisent l'exigence et / ou le cas d'utilisation pour définir des fonctionnalités livrables de manière incrémentielle. En fin de compte, l'objectif est le même: fournir de la valeur commerciale régulièrement par petits incréments et le plus tôt possible.

Aaron McIver
la source
+1, cela explique bien. Je ne dirais pas nécessairement fonctionnalité == user story, sauf lorsque vous parlez de valeur commerciale ou de valeur client. Dans d'autres cas, le terme respectif peut ne pas avoir de sens.
murrekatt
2
Je ne pense pas que vous puissiez dire que ce sont les mêmes, même si ce sont des termes apparentés. Qu'en est-il des fonctionnalités qui s'étendent sur plusieurs user stories?
sleske
@sleske Une user story dans une approche Scrum pure devrait être une valeur ajoutée pour l'utilisateur et donc une fonctionnalité. Si nous allons cataloguer des fonctionnalités comme des épopées globales, c'est bien, mais le résultat final est des histoires d'utilisateurs qui offrent de la valeur.
Aaron McIver
1
@AaronMcIver: Oui, c'est vrai. Cependant, parfois, la quantité minimale de fonctionnalités vraiment utiles à l'utilisateur (= fonctionnalité) est trop pour une user story (ou même pour une itération). Dans ce cas, vous devez décomposer la fonctionnalité en plusieurs histoires.
sleske
BTW, questions et réponses connexes: stackoverflow.com/questions/1714557/…
sleske
7

Une User Story est une déclaration informelle dans la langue du client qui capture l'intention de quelque chose que le client souhaite réaliser. Vous pouvez considérer une User Story comme une déclaration de besoin informelle.

Une fonctionnalité logicielle est une caractéristique distincte du logiciel qui contribue à la conception et aux fonctionnalités générales du logiciel.

Quelques considérations clés:

  • Une histoire peut décrire une fonctionnalité , mais une fonctionnalité ne décrit jamais une histoire .
  • Une histoire peut ne pas décrire directement une fonctionnalité .
  • Une histoire peut impliquer l'inclusion d'un certain nombre de fonctionnalités .
  • Une fonctionnalité - seule ou en tant que membre d'une collection de fonctionnalités - peut capturer l'intention d'une histoire .

Avec tout cela à l'esprit, j'ai tendance à considérer les histoires comme des descriptions. Exigences essentiellement informelles qui me disent ce que veut le client. Les fonctionnalités, d'autre part, j'ai tendance à penser davantage à une spécification qui me dit comment un système devrait fonctionner pour répondre aux exigences des clients.

S.Robins
la source
3

Les deux termes sont étroitement liés, mais il existe quelques différences.

Tout d'abord, ils proviennent de différents domaines. Le terme «fonctionnalité» est un terme assez général pour désigner une partie des fonctionnalités d'un logiciel, alors que «user story» a été inventé et n'est vraiment utilisé que dans le contexte du développement logiciel agile.

En pratique, elles coïncident très souvent, en ce qu'une seule user story consiste à implémenter une certaine fonctionnalité.

Cependant, dans certaines situations, ils peuvent être différents:

  • Souvent, une fonctionnalité représente trop de travail pour une seule histoire d'utilisateur. Les user stories ne doivent pas être trop grandes (généralement pas plus de quelques jours, max 1-2 semaines de travail). De toute évidence, de nombreuses fonctionnalités sont beaucoup plus importantes. Dans ce cas, une fonctionnalité sera implémentée dans de nombreuses user stories. Certaines personnes utilisent des «épopées» pour regrouper des user stories, dans ce cas, vous pourriez dire que la fonctionnalité est une épopée.
  • Les exigences non fonctionnelles (performances, sécurité, compatibilité, etc.) peuvent également être traitées comme des user-stories (bien que cela ne soit pas universellement accepté). Dans ce cas, le résultat de la user story ne serait normalement pas appelé une fonctionnalité (sauf si vous appelez "notre application plante rarement" une fonctionnalité).
sleske
la source