¿Cuál es la diferencia entre una Historia de usuario y una Función en la terminología Ágil? [cerrado]


Supongo que una característica podría ser algo así como "autorización de tarjeta de crédito", mientras que una historia de usuario puede ser "autorizar tarjeta de crédito para paypal".

Entonces, ¿es una historia de usuario un subconjunto de una característica?

Author: nbro, 2009-11-10

5 answers

Sí, algo así como un subconjunto. Este artículo es una buena lectura:
Características vs Historias

Extracto:

Hoy me di cuenta de que no había hecho explicit la diferencia en mi mente entre características e historias y es una diferencia importante. Esencialmente, una característica es un grupo de historias que están relacionados y entregan un paquete de funcionalidad que los usuarios finales generalmente esperar a conseguir todo a la vez. Por ejemplo, cambiar el tamaño de la tabla en línea ser una característica (nota: esta es la habilidad arrastrar para cambiar el tamaño de las tablas, filas y columnas-pruébalo en Word). En el primer pase, probablemente tendrías un historia única para redimensionar en línea de mesas, pero sería demasiado grande para estimar. Así que lo descompones en tres pisos, redimensionar columnas, redimensionar rows y redimensionar la propia tabla.

 38
Author: o.k.w,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-11-10 13:09:21

Según Kent Beck y Martin Fowler historias y características son sinónimos:

Una historia de usuario es un trozo de funcionalidad (algunas personas utilizan el palabra característica ) que es de valor para cliente.

Un función es usualmente referido como tema o épica. Los temas y epopeyas se utilizan para agrupar historias de usuarios en conjuntos de características más grandes, que tienen sentido por sí solos.

De un más punto de vista semántico: característica es una parte del sistema que está tratando de construir, historia de usuario es una manera de describir esa parte.


Corrección:

Como Pascal ha señalado, tal vez perdí el significado real de" característica " en esa cita ("característica" obviamente se refiere a la funcionalidad) Aparte de esto, todavía creo que se pueden usar estas palabras (característica e historia de usuario) como sinónimos en muchos contextos ("Estoy trabajando en esta historia "vs." Estoy trabajando en esta característica"), ya que, como Pascal dijo, una historia de usuario es una forma de capturar una característica. Lo que significa que hay una relación 1:1 entre esos dos. Y, como se puede ver en mi comentario sobre la semántica, así es como realmente lo entiendo.

 19
Author: Milan Novota,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-11-10 13:51:20

Para nada..

Una historia de usuario representa pequeñas partes del valor del negocio. Por lo tanto, es realmente difícil decir cuando una historia de usuario es un subconjunto de una característica o una característica es un subconjunto de una historia de usuario (también tenga en cuenta que las historias de usuario generalmente son escritas por las partes interesadas, que tienden a no saber exactamente lo que quieren ... :) )

Entonces, si sigues la recomendación de agile para mantener las historias cortas, caerás en el "mejor" escenario que es que la historia del usuario sea una subconjunto de la característica.

Sin embargo, si su stakeholder escribe historias largas, cada historia tendría un par de características (si hay una buena comunicación entre el equipo y las partes interesadas, esto no sucederá ya que el equipo dividirá las historias en pequeñas)

 9
Author: Diego Dias,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-11-10 13:16:18

Las características son lo que está haciendo un sistema. Las historias de usuario son solo una forma, entre otras, de capturar características.

 8
Author: Pascal Thivent,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-11-10 15:25:53

Acabo de encontrar este tema cuando estaba buscando diferentes ideas sobre "usar múltiples roles para requisitos similares".

Creo que una característica como contenedor para historias relacionadas ayuda a priorizar los requisitos porque los interesados generalmente cuentan sus necesidades como historias dependientes. En un proyecto reciente, el cliente me dijo lo siguiente

Un miembro puede enviar mensajes al administrador El administrador puede enviar mensajes a todos los miembros Los miembros pueden enviar mensajes a cada uno los demás

Cuando veo estos requisitos, sé que deberíamos implementar un sistema que permita a las personas enviar un mensaje y deberíamos agregar comprobaciones para permitir a quién hacer qué.

Y también sé que estos requisitos pueden tener algunos otros requisitos implícitos, como leer los mensajes que llegaron, organizarlos, configurarlos como spam, etc.

Así que trato de reformular estos requisitos como

Como miembro o administrador, puedo enviar mensajes a otras personas. Como miembro o admin, puedo leer los mensajes que me enviaron.

Y como criterio de aceptación, indico en detalle quién puede enviar a quién.

Entonces llamo a todas estas cosas como función de "Mensajería privada", de modo que, en algún momento después, si el cliente decide que es un costo adicional, puede decir "Simplemente elimine la cosa de mensajería privada" y puedo eliminarlas todas del backlog.

 2
Author: Cagatay Kalan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-01-06 22:37:34