agile - una - quién estima las historias de usuario en scrum
¿Cuál es la diferencia entre una historia de usuario y una característica en terminología ágil? (5)
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?
Acabo de encontrar este tema cuando estaba buscando ideas diferentes sobre "usar múltiples roles para requisitos similares".
Creo que, una característica como contenedor de historias relacionadas ayuda a priorizar los requisitos porque las partes interesadas 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 entre sí.
Cuando veo estos requisitos, sé que debemos implementar un sistema para permitir que las personas envíen un mensaje y debemos agregar verificaciones para permitir a quién hacer qué.
Y también sé que estos requisitos pueden tener otros requisitos implícitos, como leer los mensajes recibidos, organizarlos, configurar como correo no deseado, etc.
Así que trato de reformular estos requisitos como
Como miembro o administrador, puedo enviar mensajes a otras personas. Como miembro o administrador, puedo leer los mensajes que me enviaron.
Y como criterio de aceptación, declaro en detalle quién puede enviar a quién.
Luego llamo a todas estas cosas como la función de "Mensajería privada", de modo que, algún tiempo después, si el cliente decide que es un costo adicional, puede decir "Simplemente descarte la cosa de la mensajería privada" y puedo eliminarlas todas. desde el backlog.
De ningún modo..
Una historia de usuario representa pequeñas partes de valor comercial. 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 suelen estar escritas por los interesados, que tienden a no saber exactamente qué ellos quieren ... :) )
Por lo tanto, si sigue la recomendación de Agile para mantener las historias cortas, caerá en el "mejor" escenario, ya que la historia del usuario es un subconjunto de la función.
Sin embargo, si su parte interesada escribe historias largas, cada historia tendrá 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).
Las características son lo que hace un sistema. Las historias de usuario son solo una forma, entre otras, de capturar características.
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 explícita 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 relacionadas y ofrecen un paquete de funcionalidades que los usuarios finales generalmente esperan obtener de una sola vez. Por ejemplo, el cambio de tamaño de la tabla en línea es una característica (nota: esta es la capacidad de arrastrar para cambiar el tamaño de tablas, filas y columnas, inténtelo en Word). En la primera pasada, es probable que tenga una sola historia para cambiar el tamaño de las tablas en línea, pero sería demasiado grande para estimar. Así que lo divide en tres historias, cambia el tamaño de las columnas, cambia el tamaño de las filas y cambia el tamaño de la tabla.
Según Kent Beck y Martin Fowler, las historias y las características son sinónimos:
Una historia de usuario es una parte de la funcionalidad (algunas personas usan la característica de la palabra) que es de valor para el cliente.
Lo que llamas una característica generalmente se conoce como tema o épica . Los temas y las épicas se utilizan para agrupar historias de usuarios en conjuntos de características más grandes, que tienen sentido por sí mismos.
Desde un punto de vista más semántico: la característica es una parte del sistema que está intentando construir, la historia del usuario es una forma de describir esa parte.
Corrección:
Como ha señalado Pascal, tal vez me haya perdido 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 del usuario) como sinónimos en muchos contextos ("Estoy trabajando en esta historia" contra "Estoy trabajando en esta función"), ya que, como dijo Pascal, una historia de usuario es una forma de capturar una función. 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.