Estamos planeando adoptar historias de usuarios para capturar la 'intención' de los interesados de una manera ligera en lugar de un SRS pesado (especificaciones de requisitos de software). Sin embargo, parece que aunque entienden el valor de las historias, todavía existe el deseo de 'convertir' las historias en un lenguaje similar al SRS con todos los atributos, prioridades, entradas, salidas, fuente, destino, etc.
Las historias de usuario 'eliminan' la necesidad de un SRS formal como artefacto para comenzar, entonces, ¿cuál es el punto de tener un SRS? ¿Cómo debería convencer a mi equipo (que son personas CS muy calificadas por cierto, tanto por educación como por práctica) que el SRS sería 'eliminado' si adoptamos historias de usuarios para capturar los requisitos funcionales del sistema? (También se pueden capturar NFR, etc., pero esa no es la intención de la pregunta).
Así que aquí está mi argumento de 'flujo de trabajo': captura los requisitos iniciales como historias de usuarios y luego los elabora para casos de uso (que deben documentarse a un nivel bajo, es decir, que describen las interacciones con los prototipos / maquetas de UI y son una publicación entregable) despliegue). Pasando así de historias de usuarios a casos de uso en lugar de historias de usuarios a SRS a casos de uso.
¿Cómo están actualmente capturando historias de usuarios en su lugar de trabajo (si es que lo hacen) y cómo sugieren que 'defienda' la ausencia de SRS en presencia de historias de usuarios?
Respuestas:
Pequeños pasos. Continúe escribiendo el SRS por un tiempo. Luego convoque a una reunión y discuta si todavía tienen un propósito. ¿Alguien todavía los lee? ¿Está justificado el tiempo dedicado a ellos? ¿Hay otro paso intermedio que sería más ligero?
Nunca se sabe, puede descubrir que está equivocado. Recuerde el manifiesto ágil, encontramos más valor en "Software de trabajo sobre documentación completa", pero todavía hay valor en este último.
Sin embargo, supongo que descubrirá rápidamente que el deseo de continuar escribiendo documentos pesados desaparece cuando ven cuán estrechamente se relacionan los casos de uso y las historias de usuarios.
fuente
Las epopeyas son marcadores de posición
En casi cualquier metodología ágil, el concepto de épicas sería todo lo que necesita para una Especificación de requisitos, los marcadores de posición es lo que necesita a ese nivel. Esas entradas se priorizarán constantemente, más detalles se desperdician si el requisito tiene baja prioridad durante mucho tiempo, o si nunca se implementa. Documentarlo y administrar la documentación a su alrededor sería una completa pérdida de tiempo. YAGNI se extiende a las actividades de requisitos, así como a las actividades de codificación.
Las herramientas son tu amigo!
Si utiliza una herramienta adecuada para recopilar y administrar las historias de los usuarios, puede generar la Especificación de requisitos a partir de ellas. Una especificación de requisitos es un documento de artefactos temporales de todos modos, no es un documento vivo, es una instantánea de los requisitos a tiempo. Y nunca está sincronizado con la realidad.
Generar artefactos automáticamente
Las historias de usuarios que se pueden exportar desde una herramienta adecuada son mucho más valiosas que cualquier documento de artefactos estático en cualquier momento. Personalmente, prefiero Pivotal Tracker para rastrear historias de usuarios, incluso escribí un conjunto de complementos de MoinMoin en Python para publicar todas las diferentes historias y sus estados en el Wiki (que contenía notas detalladas del desarrollador y similares sobre las historias), los datos en vivo siempre son mejor que los datos estáticos.
El Wiki se convirtió en un documento en vivo de todas las tiendas / requisitos y su estado de finalización y prioridad con detalles y comentarios y otros metadatos.
¡Mucho mejor que un gran documento de Word en Sharepoint que simplemente se envía por correo electrónico constantemente y nunca se actualiza, garantizando que todos tengan una versión diferente y que no estén sincronizados con los demás!
Las historias de usuarios son más ricas que los casos de uso
La historia de uso es mucho más valiosa que un caso de uso porque dicen POR QUÉ .
El formato de la historia del usuario:
As a [ROLE] I [ACTIVITY] so that [WHY]
es mucho más expresivo que los casos de uso similaresThe System [shall/shall not/may/must] perform [action]
(donde la acción es un diagrama de flujo).Con una historia de usuario, usted tiene QUIEN quiere hacer algo, tiene QUÉ quiere hacer (que puede indicar un diagrama / documento más detallado para tareas complejas) y tiene la parte más importante POR QUÉ quieren hacer esta actividad.
Si tiene el primero, el segundo es completamente redundante, y solo ruido en el mejor de los casos. Una especificación de requisitos formales tradicionales de una metodología de cascada no tiene cabida en un entorno ágil.
En el final
Si su gerencia no está comprometida con el cambio, no tendrá éxito con una nueva metodología. He trabajado para una compañía de más de 100 mil millones de dólares al año, no tomaron pequeños pasos para mudarse a Agile / SCRUM, solo dijeron, toda la compañía se está mudando a esto, aquí está la nueva forma de hacer las cosas, aquí está cuando comenzará su entrenamiento en la nueva forma, aquí están las nuevas herramientas que vamos a usar, aquí está la fecha en que comenzamos a hacer las cosas de esta manera. Les funcionó en menos de un año. He trabajado en implementar esto en compañías más pequeñas con el mismo éxito.
Compromiso
Las implementaciones de pequeños pasos , independientemente de cuál sea el cambio, son una receta para el fracaso. Es una palabra clave para la administración que discretamente no están de acuerdo y lo están configurando pasivamente para que falle. Dicen que no creo en esto lo suficiente como para comprometerme con él, por lo que te dejaré hacer lo suficiente para fracasar / no tener éxito , de esa manera pueden decir que lo intentaron y que no funcionó y de la forma en que lo estaban manejando. todo bien todo el tiempo. El compromiso parcial en última instancia conduce al fracaso.
En su caso, probablemente no creen en silencio en las Historias de usuarios, y después de un tiempo de hacer ambas cosas, comenzarán a afirmar que son las Historias de usuarios las que son inútiles y no el SRS, y presionarán para que dejen de escribirlas. , que solo lo llevará hacia atrás y no hacia adelante.
fuente
Intentaría usar el humor.
Comience con el http://www.halfarsedagilemanifesto.org/
Hable sobre esto por un tiempo ( diversión )
y hable sobre lo que realmente significan los conflictos ( discusión abierta ),
luego , después de un tiempo, recurra a su organización ( pivote )
y examine el SRS y si tiene sentido con la nueva configuración del proyecto .
Luego concluiría (o tal vez en otra reunión) con una discusión sobre el cambio en el enfoque re: SRS y ver si tiene más consenso.
Al final del día, también está limitado por el presupuesto y el servicio a la gente de negocios, por lo que puede haber un punto en el que sea un poco más firme en lo que se usa, pero esto realmente depende de la industria, el tamaño de la empresa, los factores organizativos y muchos otros. Otros factores de este tipo.
fuente
Convencer a mgmt de alejarse del SRS y comenzar a usar historias de usuarios es esencialmente lo mismo que convencer a mgmt de adoptar Agile. Existen estadísticas convincentes sobre los beneficios de productividad de Agile. Un ejemplo es la presentación que dio VersionOne en una conferencia de 2013. Muestre los datos de esta industria y si son del tipo de escucha, tiene una oportunidad.
fuente