2010-10-28 20 views
11

Las historias de usuario se escriben tradicionalmente como expresión "Como [Tipo de usuario] Deseo [función] para que [algún beneficio]". En los libros y los recursos en línea [Tipo de usuario] normalmente corresponden a un papel de un ser humano. Sin embargo, al describir las características de las partes internas del sistema, a menudo es más fácil poner algún servicio desatendido en lugar de un usuario, p. "Como servicioX, quiero que algunos datos se actualicen regularmente para que pueda hacer XYZ usando la información más reciente".¿Debe ser un ser humano un actor de una historia de usuario?

Este formulario hace que sea fácil escribir pruebas de aceptación fáciles de entender para las partes relacionadas del sistema. ¿Pero esto es conceptualmente correcto? ¿No deberían las historias de los usuarios basarse en las características que dan valor empresarial, y dado que los sistemas y servicios no están interesados ​​en obtener valores comerciales, no deberían ser actores de historias de usuarios?

Respuesta

2

Los sistemas sin duda están interesados ​​en obtener valor comercial. Un actor puede ser un agente automatizado escrito por un tercero y que encarna la intención de ese tercero. De hecho, esto se está convirtiendo en una forma dominante de interacción a medida que los servicios web se convierten en una característica más popular de los principales sitios web, lo que permite interacciones complejas entre sitios en nombre de los usuarios, pero involucrando solo máquinas.

+1

Marcelo, pero no puede (y no debe) entonces el agente automatizado será reemplazado por el tercero mismo? P.ej. Si un agente automatizado ejecuta la actualización de las tasas de cambio, ¿no debería el actor de la historia del usuario ser un cliente (o comerciante) cuyo valor comercial es obtener las tarifas más recientes? –

+0

Eso depende de cómo describa el compromiso del usuario. ¿Considera que el usuario está actuando cuando su agente se despierta a la mitad de la noche y solicita una actualización de estado de una compra pendiente en la tienda en línea? O qué pasa si se realiza un solo acto en nombre de un conjunto de usuarios, o incluso una categoría completa de usuarios. Por ejemplo, un portal social podría golpear un motor de búsqueda para actualizar la nube de etiquetas para uno o más grupos de intereses especiales. Como principio general, la vida es más fácil si solo modelas las cosas como realmente son. Una parte del código no es un usuario, así que no pretendas que sí. –

+1

"Como principio general, la vida es más fácil si solo modelas las cosas como realmente son". Sí, pero ¿la historia del usuario es un modelo? ¿No solo presenta motivación para un cambio o función? Lo que me preocupa de que el sistema sea un actor es que en algún momento (para un proyecto grande) los intereses comerciales de las partes interesadas pueden cambiar, pero todavía hay un sistema no humano que quiere algo. –

8

No veo por qué un actor debería tener que ser un ser humano; su ejemplo es una buena razón para que no lo sea.

Lo que pasa con una metodología como esta es no colgarse de apegarse a las minucias de la práctica definida. Incluso si las personas que originalmente se les ocurrió el concepto de "historias de usuarios" pensaban que solo deberían aplicarse a los humanos, no existe una ley que lo obligue a apegarse estrictamente a sus conceptos.

El punto entero de historias de usuario, ágiles, scrum, y todas las otras metodologías es ayudar con el proceso de desarrollo, por no ser el proceso de desarrollo. Una metodología solo es valiosa siempre que mejore el proceso, así es como debería usarla. Debes sentirte libre de adaptar la metodología para adaptarla a tus circunstancias particulares. No permita que la metodología sea más importante que el desarrollo del código real.

4

Aquí está el secreto. No son historias de usuarios, pero son escenarios de usuario.

El usuario es lo que hace el interactuante - la máquina, o una persona.

stakeholder es la persona o corporación que obtiene el beneficio de la interacción (nunca es una máquina, no en esta etapa en el desarrollo de inteligencia artificial de todos modos). Generalmente hay varias partes interesadas con necesidades competitivas para cualquier proyecto dado. Se puede rastrear a la parte interesada principal averiguando quién paga el proyecto y por qué.

El usuario es rara vez el actor principal. Por lo general, una parte interesada desea que un usuario haga algo para que ellos, el interesado, puedan obtener el beneficio.

Por ejemplo, los inversores de Twitter quieren que los usuarios disfruten de Twitter para que puedan conservar todas sus opciones de ganar dinero en el futuro. Los jefes quieren que sus secretarias usen procesadores de texto para que puedan escribir las letras más rápido y cambiar de opinión en el último minuto. StackOverflow quiere que se suban los mensajes excelentes para que puedan obtener sus ingresos publicitarios.

Here's a blog post que escribí sobre el tema, incluida una plantilla que puede utilizar para separar las preocupaciones del usuario y el interesado.Lo dejo como ejercicio para que te imagines quién se beneficia cuando tú, el usuario de la publicación, lo lees.

Cuestiones relacionadas