2009-11-11 15 views
5

Soy de un fondo de XP. Conozco el proceso muy bien y tengo una sólida experiencia de trabajo con él. He encontrado que es la mejor manera de desarrollar software.Historias de usuarios - Problemas que no se pueden hacer historias de usuarios

Me encuentro en la posición de un médico de proceso y esto crea mucho autoexamen y revalorización de mi propia comprensión.

Una cosa muy común que escucho es que algunos trabajos no se pueden convertir en historias. Yo personalmente no creo esto Las excusas incluyen

  1. Es demasiado grande (El desarrollador no tendrá nada que mostrar hasta el final de 5 semanas).
  2. es un algoritmo complicado o un concepto abstracto (tomará 5 semanas para escribir y nada que mostrar).

Esta pregunta es para obtener consejos, consejos o sugerencias.

Estoy buscando consejos, consejos y sugerencias sobre cómo abordar estos y otros problemas percibidos similares (y más si puede pensar en ellos).

Voy a marcar la respuesta que tiene la mayor información sobre cómo evitar a los usuarios/desarrolladores que no escriben historias y abordar sus muchas excusas de por qué no (solo he enumerado algunas y hay muchas más).

+5

Si desea obtener discusión, que la cuestión de un wiki de la comunidad. Edita la pregunta. En la parte inferior, haz clic en el botón wiki de la comunidad. –

+3

Además, saque "suscite el debate" y reemplácelo "obtenga sugerencias, consejos o sugerencias" Este no es un foro de discusión. Son preguntas y respuestas. Haga una pregunta que (al menos en principio) tiene una respuesta. –

+1

@ S.Lott: Wiki de la comunidad eliminará la motivación para participar de un número entero de personas. –

Respuesta

10

Así que, básicamente, su pregunta es "¿Qué puedo hacer si la gente dice una tarea es demasiado grande para una historia de usuario, y no pueden ser divididos.

En mi experiencia, casi cualquier problema se puede dividir Pregunte si pueden implementar una versión simplificada, omita las funciones avanzadas, incluso puede usar valores predeterminados en algunos lugares, básicamente cualquier cosa para producir algo que dé resultados significativos (es decir, comprobables) en una iteración.

Recuerde: El punto de una iteración no es entregar una funcionalidad completa, sino solo una funcionalidad útil y comprobable.

Esta división puede ser difícil, pero te obliga a considerar lo que realmente necesitas primero, lo cual es muy valioso. Los desarrolladores pueden quejarse (a menudo yo mismo :-)), pero es realmente necesario. Desglose de grandes tareas en historias de usuario manejables es el corazón de todos los métodos ágiles.

Dicho esto, si la tarea realmente, realmente, realmente no puede ser procesado (pensar algoritmo matemático complejo en un contexto de investigación, que lleva semanas incluso comprender los fundamentos de), entonces su iteración es demasiado corto. La iteración debe ser lo suficientemente larga para producir resultados significativos. Y si la mayoría de tus problemas son tan difíciles que tardan entre 2 y 3 meses en hacer algo, entonces esa es tu longitud de iteración. Pero nunca he visto un proyecto en el que en realidad era el caso ...

+0

¡Qué buena respuesta! ¡Gracias! – Jonathan

+1

@Jonathan: ¡Gracias! Por cierto: la forma común de reconocer una buena respuesta es votando hacia arriba ;-). – sleske

1

El problema de "especificación algorítmica" es común.

Muchas personas prefieren escribir código y realmente no les importa quién es el usuario o lo que hace.

Intento que se concentren al hacer estas preguntas.

  1. ¿Qué medida puede tomar la persona? ¿Qué podrían posiblemente hacer con la información? Si tienen alguna responsabilidad, pueden tomar medidas para denegar, aprobar, mantener, rechazar, reprocesar, detener, iniciar, algo. Si el usuario no puede realizar ninguna acción, debe preguntar si realmente son interesados.
  2. ¿Qué decisión tienen que tomar? ¿Cómo deciden qué acción (si corresponde) tomar? No podemos automatizar esa decisión, es por eso que personas están en el circuito.
  3. ¿Qué información necesita esta persona para tomar la decisión de tomar medidas?

Information-Decision-Action.

Solo escribimos software para preparar información para que las personas tomen decisiones para que puedan tomar medidas.

Si ese no es el enfoque, entonces las historias se saldrán de control. No se supone que

3

usuarios/desarrolladores que solía escribir historias

a los usuarios escribir historias de usuario. No se supone que te cuenten las historias de los usuarios. Puede esperar que hablen sobre cómo funcionan, los problemas que les molestan y lo que les gustaría tener para facilitar su trabajo diario.

Usted, a su vez, se supone que debe escucharlos y tomar notas. Si permiten, use una grabadora o una cámara. Luego, recupera la información recopilada cuando la reproduce e identifica lo que llama historias de usuarios. Discutes con el equipo y cuando tienes un acuerdo tienes casos de uso para apuntar en tu desarrollo.

El papel de los desarrolladores depende de ti. Si solo codifican, no participan en el proceso. Si en parte actúan como consultores, entonces ayudan a definir las historias de los usuarios.

3

Por lo general, cuando obtiene "es demasiado grande", lo que realmente dicen es "Solo tengo una vaga idea de cómo debería funcionar esto". Debe trabajar con ellos para definir mejor hasta que sea posible dividirlo en partes lógicas que puedan administrarse más fácilmente.

+0

¿Qué hay de BizTalk? El desarrollador dirá que lleva 5 semanas escribir las partes internas para obtener un archivo de A a B. Luego, de C - D, etc ... – Jonathan

+1

Lo importante aquí es definir la unidad de trabajo más grande aceptable. Para algunas tiendas, son tareas de 1 a 2 horas, otras son 20 horas. Defina y divida las tareas hasta que se ajuste a estas divisiones. –

+0

¡Buen punto @Mike Reedell! – Jonathan

0

Es básicamente el deber y la responsabilidad del propietario del producto. Y puede haber requisitos/tareas que no puedan dividirse en User Stories. Encontré muchas de tales discusiones en SCrum Master Forums

Cuestiones relacionadas