2009-11-10 10 views
38

Je suppose qu'une fonctionnalité peut être quelque chose comme "autorisation de carte de crédit", tandis qu'une histoire d'utilisateur peut être "autoriser la carte de crédit pour paypal".Quelle est la différence entre un User Story et un Feature dans la terminologie Agile?

Donc, une histoire utilisateur est-elle un sous-ensemble d'une fonctionnalité?

+4

Un magasin utilisateur agile doit être centré sur la personne. Par exemple: "En tant que propriétaire du compte, je peux autoriser ma carte de crédit pour Paypal." Après cela, vous voudrez obtenir des critères de réussite détaillés. – Jay

+2

Il existe des modèles UML pour expliquer les relations des histoires, des arriérés, etc. dans http://scalingsoftwareagility.files.wordpress.com/2007/03/a-lean-and-scalable-requirements-information-model-for-agile- enterprises-pdf.pdf – Fuhrmanator

Répondre

33

Oui, quelque chose comme un sous-ensemble. Cet article est une bonne lecture:
Features vs Stories

Extrait:

j'ai réalisé aujourd'hui que je ne l'avais pas fait explicite la différence dans mon esprit entre les caractéristiques et les histoires et il est un important différence. Essentiellement, une fonctionnalité est un groupe d'histoires que sont liées et délivrer un paquet de fonctionnalité que les utilisateurs finaux s'attendent généralement à obtenir tous à la fois. Par exemple, le redimensionnement de la table en ligne est une caractéristique (note: c'est la capacité de faire glisser pour redimensionner les tables, les lignes et les colonnes - essayez-le dans Word). Dans la première passe , vous auriez probablement un histoire unique pour le redimensionnement en ligne des tables , mais il serait trop gros pour estimer . Donc vous décomposer en trois étages, redimensionner les colonnes, redimensionner lignes et redimensionner la table elle-même.

+0

Jetez un coup d'œil au billet 'Diego's' sur cette page, une perspective rafraîchissante. –

+0

Merci ... C'est aussi un bon lien que vous avez posté. Chaque fois que je lis l'expérience de quelqu'un qui repense à ce qu'il fait, cela me fait penser différemment au sujet. C'est une des raisons pour lesquelles je pense que ce site est incroyable .. vous continuez toujours à apprendre –

+0

Les sentiments exacts ici :) –

9

Pas du tout ..

Une histoire d'utilisateur représente les petites pièces de valeur commerciale. Il est donc vraiment difficile de dire quand une histoire d'utilisateur est un sous-ensemble d'une fonctionnalité ou une fonctionnalité est un sous-ensemble d'une histoire d'utilisateur (gardez également à l'esprit que les histoires d'utilisateurs sont généralement écrites par les parties prenantes). ce qu'ils veulent ... :))

Donc, si vous suivez la recommandation d'agile pour garder les histoires courtes, vous tomberez sur le «meilleur» scénario qui est l'histoire de l'utilisateur étant un sous-ensemble de la fonctionnalité. Cependant, si vos parties prenantes écrivent des histoires longues, chaque histoire aura quelques caractéristiques (s'il y a une bonne communication entre l'équipe et les parties prenantes, cela ne se produira pas puisque l'équipe divisera les histoires en petites)

18

Selon Kent Beck and Martin Fowlerhistoires et caractéristiques sont synonymes:

une histoire d'utilisateur est un morceau de fonctionnalité (certaines personnes utilisent le mot fonctionnalité) qui est de valeur à le client.

Ce que vous appelez une fonction est généralement appelé thème ou épique. Les thèmes et les épopées sont utilisés pour regrouper des histoires d'utilisateurs à des ensembles de fonctionnalités plus importants, qui ont un sens par eux-mêmes.D'un point de vue plus sémantique: la fonctionnalité fait partie du système que vous essayez de construire, l'histoire de l'utilisateur est un moyen de décrire cette partie.


Correction:

Comme Pascal a souligné - je manqué peut-être le vrai sens de « fonction » dans cette citation (« fonctionnalité » fait évidemment référence à la fonctionnalité) En dehors de cela, je pense toujours que l'on peut utiliser ces mots (fonctionnalité et user story) comme des synonymes dans beaucoup de contextes ("Je travaille sur cette histoire" vs "Je travaille sur cette fonctionnalité"), puisque, comme Pascal l'a dit, une histoire d'utilisateur est un moyen de capturer une fonctionnalité. Ce qui signifie qu'il existe une relation 1: 1 entre les deux. Et, comme on peut le voir dans ma remarque sur la sémantique, c'est ainsi que je le comprends vraiment.

+1

"Ce que vous appelez une fonctionnalité est généralement appelé thème ou épique", j'aime cette analogie. :) –

+0

J'ai supprimé mon commentaire par accident, donc je le remets pour des raisons de clarté: êtes-vous sûr que certaines personnes utilisent le mot fonctionnalité ne s'applique pas à la fonctionnalité? –

+0

BTW, j'aime vraiment l'addendum même si j'ai un autre point de vue (personnellement, je vois la relation comme * user story => feature * sans stricte équivalence). –

7

Les fonctions sont ce que fait un système. Les user stories sont juste un moyen parmi d'autres de capturer des fonctionnalités.

+0

Mon point, Pascal;) –

2

Je viens de tomber sur ce sujet lorsque je cherchais différentes idées sur «l'utilisation de rôles multiples pour des exigences similaires». Je pense qu'une caractéristique en tant que conteneur pour les histoires associées aide à hiérarchiser les exigences parce que les parties prenantes disent généralement leurs besoins en tant que récits dépendants. Dans un récent projet, le client m'a dit comme suit

Un membre peut envoyer des messages à l'administrateur Admin peut envoyer des messages à tous les membres Les membres peuvent envoyer des messages les uns aux autres

Quand je vois ces exigences, i sachez que nous devrions mettre en place un système pour permettre aux gens d'envoyer un message et nous devrions ajouter des vérifications pour permettre à qui de faire quoi.

Et je sais aussi que ces exigences peuvent avoir d'autres exigences implicites telles que la lecture des messages qui sont venus, les arranger, peuvent être réglage comme spam et etc.

J'essaie donc de reformuler ces exigences

En tant que membre ou administrateur, je peux envoyer des messages à d'autres personnes. En tant que membre ou administrateur, je peux lire les messages qui m'ont été envoyés.

Et comme critères d'acceptation, je précise en détail qui peut envoyer à qui. Puis j'appelle toutes ces choses comme la fonction de "messagerie privée", de sorte que, plus tard, si le client décide que c'est un coût supplémentaire, il peut dire "Il suffit de laisser tomber la chose de messagerie privée" et je peux tous les retirer de l'arriéré.

Questions connexes