¿Dónde encaja la documentación como los documentos de especificaciones de requisitos de software y negocios en un proyecto ágil?

Estamos implementando Scrum en nuestra empresa. El problema al que nos enfrentamos es nuestro pensamiento tradicional, que siempre requiere un documento físico.

La gerencia solicita constantemente documentos como la Especificación de requisitos comerciales (BRS) y la Especificación de requisitos de software (SRS).

Al avanzar hacia ágil, ¿está bien escribir historias de usuario y sus criterios de aceptación en lugar de (BRS y SRS) en un solo documento?

Si ese es el caso, ¿puede proporcionarme plantillas o ejemplos? ¿Existe algo así como un estándar ISO relacionado con la documentación Agile?

Usamos TFS para la gestión de proyectos.

Si su empresa tiene un flujo de trabajo existente que utiliza BRS y SRS, debe averiguar cómo se utilizan esos documentos. ¿Qué propósitos están sirviendo? ¿Quién los lee y qué hace con ellos? Hable con los consumidores de estos documentos sobre lo que necesitarían y si creen que sus historias de usuario satisfarían estas necesidades.
Bien, en función de su experiencia, como equipo de desarrollo, ¿podemos implementar el código en función de la historia del usuario delimitada por criterios de aceptación?
Si el equipo de prueba está profundamente integrado en el desarrollo y participa en la creación de la historia y los criterios de aceptación, esto puede funcionar. Si el equipo de prueba es externo al equipo de desarrollo, creo que esto sería más complicado.
Si puede lograr que todas las personas relevantes relacionadas con la implementación del proyecto (partes interesadas, líderes técnicos, probadores, usuarios finales, etc., etc.) estén en una sala el tiempo suficiente para escribir todos los requisitos como historias, entonces sí, puede usar esos como sus requisitos. (El libro Scrum original de Sutherland tiene un ejemplo real de que esto sucede. Pero en estos días diría que es raro poder hacer eso). De lo contrario, desafortunadamente probablemente necesite algún tipo de BRS/SRS y deje que el BRS sea el "material de origen" para las historias, con el SRS como una guía técnica para el equipo de implementación.
bien, vamos a implementar Agile como scrum, intentaremos recopilar los requisitos como historias de usuario con sus criterios de aceptación, todos como equipo creíamos en los valores agregados de Agile, acordamos que las historias de usuario serán una fuente única de verdad para todos los participantes, esperamos tener éxito y sentir la potencia de Agile
si no podemos colaborar para recopilar requisitos, no somos ágiles en absoluto, tratamos de no tender a la mini-cascada en cada iteración, por lo que usaremos solo historias de usuarios
Hola, Mjd: una vez que una de las respuestas se ajuste a sus necesidades, márquela para ayudar a la comunidad. Feliz de ver florecer su pregunta con tantas buenas respuestas.

Respuestas (5)

En el manifiesto para el desarrollo ágil de software se puede leer:

Software de trabajo sobre documentación completa

Esto no significa que la documentación sea algo malo. En cambio, el código de trabajo es mejor para que pueda documentar lo que va a codificar.

Dicho esto, las historias de usuarios y los criterios de aceptación pueden ser todo lo que necesita para comprender los requisitos, teniendo en cuenta que no es responsable del Documento de visión y alcance.

Mucha gente olvida que el Manifiesto enumera ocho valores importantes, no cuatro. El Manifiesto hace un juicio de valor relativo de que los valores de la izquierda son más importantes que los valores de la derecha, pero no dice que los valores de la derecha no sean importantes. El Manifiesto dice explícitamente: "hay valor en los elementos de la derecha". +1 por señalar eso!
realmente, es una mentalidad más que un proceso, según su comentario, somos ágiles cuando pensamos ágilmente

Animo a las personas a no pensar en las historias de usuarios (o en los elementos pendientes de ningún tipo) como otra forma de requisitos. Existe una diferencia crítica de pensamiento entre el uso de documentos de requisitos y los trabajos atrasados ​​que los equipos y las organizaciones deben comprender para utilizar estos últimos de manera efectiva. Los retrasos son emergentes. Esto significa que no solo cambian con el tiempo (no hay nada que impida que cambie un BRS), sino que los elementos posteriores del backlog se basan y modifican elementos anteriores, de modo que es posible que los elementos anteriores ya no describan el comportamiento de la aplicación.

Esto significa que la documentación que necesita estará en gran medida separada de sus requisitos (piense en ello como lo que entró en el desarrollo sabiendo frente a lo que hizo en el desarrollo). Tenga en cuenta que cosas como ISO 9001 se trata principalmente de validar que sigue sus procesos (cualesquiera que sean) y que registra la información que necesitará para auditar o mantener el software más adelante. Los días en los que los estándares de documentación y auditoría consistían en asegurarse de que el resultado coincidiera perfectamente con la idea original se han ido. El único lugar que veo que ya es donde lo tienen escrito en sus procesos y no quieren cambiar los procesos documentados, en cuyo caso es una elección consciente, no una restricción.

Agregando esta sección para responder al comentario:

Agile y Scrum pueden ser confusos de adoptar porque hay muchas buenas prácticas que la gente ha ideado y que se han agrupado en Agile y Scrum, mientras que, al mismo tiempo, muchas de las prácticas y principios básicos se dejan de lado.

Agile: Agile es solo declaraciones de valores y principios. Puede encontrarlos en https://agilemanifesto.org/ . Realmente no puedes practicar Agile; más bien, tus prácticas pueden ser más o menos ágiles (como adjetivo) dependiendo de qué tan bien alineadas estén con estos valores y principios.

Scrum: Puedes seguir las prácticas de Scrum. Scrum es un marco ligero, lo que significa que brinda una cantidad de eventos, artefactos, roles y prácticas, pero hay mucho espacio para completar cómo hace el trabajo y cómo se ve ese trabajo. Puede encontrar la última versión de las Guías de Scrum en https://www.scrumguides.org/scrum-guide.html . Probablemente valga la pena señalar que si muchos equipos eligen qué seguir fuera de Scrum. Si bien eso no es intrínsecamente incorrecto, está diseñado para funcionar como un todo y se pierden muchos beneficios cuando comienza a abandonar las prácticas.

XP: No mencionó esto, pero muchas prácticas comunes en Scrum que no se enumeran específicamente en la Guía de Scrum (como Historias de usuarios) son en realidad de XP. XP es mucho más prescriptivo sobre cómo hacer el trabajo. Hay una curva de cambio bastante grande con la adopción de XP y no veo que muchos equipos lo hagan, pero cuando comenzó Scrum, a menudo asumían que XP iba ​​a llenar parte del espacio de procedimientos en su marco, por lo que siempre vale la pena. mirando a. http://www.extremeprogramming.org/ es un buen lugar para comenzar, aunque un poco torpe.

Secundando esto. Las reglas ISO simplemente dicen que necesita un proceso bien definido. Si su empresa decide que el proceso incluye SRS y BRS, entonces su empresa necesita definir cómo, en todo caso, los procesos ágiles generan esos documentos. Si su empresa decide que las historias de usuario serán SRS o BRS, simplemente escríbalo como su proceso y sígalo para hacer feliz a ISO.
quiere decir que no es una ISO específica de Agile, ¿cómo me aseguro de seguir Agile? muchos intentos tienden a ser una cascada, lo siento, parece ser otra pregunta.
Agregué un poco más para responder a la pregunta "siguiente de Agile". Espero que eso ayude.
Una respuesta muy valiosa, gracias. Pero siento que te olvidaste de responder. ¿Dónde encaja el documento?
@YSC sí, eso también me llamó la atención. Esto podría volverse muy amplio, así que traté de llegar a los puntos que parecían necesarios para el póster original. Para cualquier persona interesada en cómo se ve el mantenimiento de la documentación, recientemente respondí eso en una pregunta de desbordamiento de pila aquí: stackoverflow.com/questions/54811992/…

BA del lado del cliente aquí, actualmente en medio de una iniciativa de modernización de infraestructura y almacenamiento de datos empresariales a gran escala. Los equipos de proyecto usan Jira en lugar de TFS y, aunque los conceptos son los mismos, nuestro uso de la plataforma es principalmente como una herramienta de seguimiento y generación de informes para interactuar con el equipo central (empresarial) de desarrollo Agile. El enfoque de nuestras historias de usuarios es principalmente discutir y rastrear pruebas, requisitos de mejora, informes de defectos: todo el tipo de comentarios que llegan "después del hecho" del producto de trabajo de cada sprint, por así decirlo, y mucho después de los requisitos iniciales. ha sido publicado.

Comentarios clave sobre las especificaciones de BRS/SRS : deben solicitarse a los usuarios finales en la fase de planificación/creación de prototipos para priorizar el desarrollo de la arquitectura y desarrollar el plan general del proyecto; esto se puede lograr con una encuesta u otra herramienta de evaluación de solicitudes, redactada por líderes técnicos y el E/PMO y enviada a los clientes potenciales en las etapas iniciales de planificación. Esto permite que el E/PMO calcule el alcance de referencia y la viabilidad de los requisitos preliminares, haga las asignaciones de recursos necesarias y priorice el trabajo en olas, sprints, a lo largo de un tablero kanban, etc. para las metodologías en juego.

Las historias de usuarios , por otro lado, tienden a estar más enfocadas en responder a los comentarios sobre canales, servicios, dominios o plantillas particulares que surgen después de que los consumidores hayan realizado un análisis de factibilidad y brechas contra el lanzamiento prototipo.

En resumen, si bien el propósito exacto de cada documento variará entre diferentes organizaciones y proyectos, la documentación de requisitos y las tiendas de usuarios son, en última instancia, manzanas con naranjas, sin embargo, los tres podrían combinarse en la misma canasta de frutas. El énfasis en el papel de cada uno debe adaptarse a los intereses del grupo o grupos que impulsan la iniciativa.

Los usuarios finales establecerán sus requisitos con anticipación e independientemente del trabajo que se realice en cada sprint; del mismo modo, ajustarán continuamente su plan de acuerdo con los comentarios de BA/DevOps a lo largo del camino: esta comunicación se transmite a través de las historias de los usuarios durante el desarrollo como una especie de boletín de seguimiento. Los tres son complementarios, pero a menudo servirán para documentar los intereses y necesidades de grupos de accionistas claramente diferentes.

Documentación como código

es la frase clave aquí.
Los marcos de prueba modernos combinan contenido legible en inglés con las instrucciones para realizar las pruebas reales, las llamadas al sistema, las interacciones de la interfaz de usuario, etc.

En BDD (Behavior Driven Development), al igual que con TDD, especifica el comportamiento por adelantado como una prueba, por ejemplo

Los usuarios ingresan AB234, presionan regresar y ven su código de acceso

La prueba falla, por supuesto, ya que aún no se ha escrito ningún código real para implementarla.

Luego escribe el código y la prueba pasa y luego, críticamente, tiene una prueba más en su suite para el futuro (a menudo denominada regresión, pero evito ese término, es solo la suite de prueba, igual que todas las pruebas). Ahora puede ejecutar esta prueba para asegurarse de que la funcionalidad funciona y, a menudo, incluye un indicador o una configuración para mostrar la parte legible por humanos de las pruebas que pasaron o fallaron.

el desarrollador implementará el código usando TDD, pero ¿dónde deberían comenzar? Creo que los probadores escribirán la prueba de aceptación de acuerdo con los criterios de aceptación de las historias de usuario, la prueba de aceptación será como una entrada para el desarrollador, en otras palabras, vamos hacer que nuestro desarrollador sea impulsado por el probador y esta era mi pregunta, sin SRS, sin BRS, solo elementos de la cartera de productos con criterios de aceptación claros para todos los miembros del equipo
Sí, comience con la prueba de falla de BDD y luego también escriba las pruebas de unidad que fallan y luego haga que la prueba de unidad pase y luego haga que la prueba de BDD pase
Sin duda, este debería ser definitivamente el estado objetivo de cada proyecto. Cuanto más bajas son las barreras entre los gestores y el desarrollo, más maduro es un proyecto. +1!

Enfoque ágil ≠ falta de documentación

Si necesita documentar cosas realmente importantes, como recursos, horas de trabajo, equipo requerido, por supuesto que puede hacerlo. Prefiero decir que deberías hacerlo.

Usando el enfoque ágil, puede crear solo documentos de resumen que representen la situación en curso.

Un hecho interesante es que en el enfoque tradicional hay mucha documentación completa que en realidad no es esencial ni valiosa.