
-
-
-
-
URL copied!
Las metodologías ágiles proponen iteraciones cortas para desarrollar software de manera incremental. En cada iteración los requerimientos a desarrollar se expresan mediante user stories. Una user story se expresa mediante una oración simple, siguiendo un formato clásico y busca mostrar las necesidades del usuario para con el uso del sistema de manera directa y precisa. Dicho formato es el siguiente: “Cómo quiero para ”. Cada user story es acompañada de criterios de aceptación, los cuales detallan qué condiciones debe cumplir el código que implementa la user story. Los criterios de aceptación serán utilizados tanto por los desarrolladores como por los testers para validar la conformidad de la aplicación con los requerimientos funcionales.
Escribir buenas user stories no es trivial. Es un ejercicio que requiere tiempo y experiencia. En particular, existen un tipo de user-stories que requieren especial atención: son aquellas denominadas “técnicas” o de investigación. Sobre las mismas surgen voces a favor y en contra. A continuación se detallan consejos para redactar buenas user-stories, y se da un panorama sobre las user-stories de investigación.
El arte de redactar
En la referencia [1] se detallan los cinco errores más comunes a la hora de redactar User Stories. En primer lugar se menciona el problema de describir user-stories muy generales, del estilo “Como usuario quiero manejar distintas cotizaciones para poder seleccionar la más conveniente”. Si bien a primera vista cumple el patrón esperado de una user-story, el rol de la misma no está bien especificado. ¿Quién es el usuario observando las cotizaciones? Es distinta la funcionalidad detrás si es el administrador del sitio, o un usuario visualizando datos.
Es fundamental por lo tanto especificar lo más detalladamente posible el usuario detrás de cada user-story. De manera similar para una user-story que comienza con “Como Product Owner….” o “Como desarrollador”. Una buena user-story refleja la visión desde el punto de vista del usuario del producto final, y no desde el líder o integrante del equipo de desarrollo.
Otro error común es ignorar la parte de para qué quiero la funcionalidad de la user-story. Parece trivial, pero poder justificar la funcionalidad pedida es un ejercicio útil para mejorar el proceso de identificar requerimientos. Si no es posible formular de manera simple para qué se quiere una determinada funcionalidad del producto, es probable que no sea necesaria implementarla. Finalmente, se destaca la necesidad de especificar criterios de aceptación. Una manera de verlos es como casos de prueba para el código que implementa la user-story, y por su papel debe prestarse atención en su formulación. Por ejemplo, para una user story que describe la funcionalidad de buscar un determinado producto en un catálogo, un criterio de aceptación podría describir el escenario donde no se encuentre el producto al realizar la búsqueda y especificar en este caso que se espera que aparezca en pantalla un texto del estilo “Actualmente no se posee el producto en stock. Vuelva a consultar pronto!”
User-stories técnicas o de investigación
En repetidas ocasiones surge la necesidad de contemplar user-stories un tanto particulares, donde no se refleja la necesidad de un usuario final, sino del equipo de desarrollo. Si el equipo necesita emplear avanzadas técnicas de encriptación de datos para desarrollar un producto seguro, ¿es una buena práctica ágil agregar una user-story “interna” del equipo donde se refleje la necesidad de estudiar técnicas de encriptación? En este sentido hay voces a favor y en contra.
En las referencias [2,3] se manifiestan en contra de su utilización. Los argumentos son que en realidad son requerimientos que se alejan de la noción de user-stories, lo cual produce un product backlog entremezclado y confuso. Proponen en cambio incluir los requerimientos técnicos como tareas dentro de user-stories, introduciéndolos de manera gradual y fiel a los conceptos ágiles.
Las voces a favor (ver [4,5]) argumentan que en determinadas ocasiones es provechoso tener explícitamente historias que reflejen la necesidad de investigar una tecnología, realizar un prototipo, etc. En especial, cuando son actividades críticas para el producto. Por ejemplo, si el equipo está desarrollando un proyecto de e-commerce es crítico que el equipo sea experto en cuestiones de seguridad. En caso de no contar con la suficiente experiencia, es posible emplear user-stories técnicas o de investigación que reflejen la inversión en tiempo y esfuerzo del equipo en investigar técnicas y herramientas de seguridad y encriptación. Muchas veces estas stories se conocen como user stories de tipo “spike”.
Conclusiones
Como siempre, mucho depende de la experiencia y del equipo llevando adelante el proyecto. Para redactar buenas user stories, el mejor consejo es seguir fielmente el patrón propuesto:“Cómo quiero para ”. El mismo es un proceso que tiende a mejorar a medida que se adquiere más experiencia. Sobre las user stories técnicas, son buenas en la medida que se justifique su utilidad, y tenga un output concreto. Por ejemplo, el algoritmo de encriptación que mejor se adapta al proyecto es un buen entregable de una user story técnica.
Referencias:
[1] https://www.scrumalliance.org/community/articles/2011/august/5-common-mistakes-we-make-writing-user-stories
[2] http://xprogramming.com/articles/technical-stories-we-dont-need-em/
[3] http://www.industriallogic.com/blog/as-a-developer-is-not-a-user-story/
[4] http://programmers.stackexchange.com/questions/140065/is-it-proper-to-have-investigation-task-in-sprint
[5] http://agileatlas.org/articles/item/spikes-in-scrum-the-exception-not-the-rule
Top Insights



Escribiendo User Stories en Agile
AutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnology
What is TM Forum Frameworx and how to...
UncategorizedAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnology
Impact Mapping en Metodologías ágiles
AutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnology
Trabajemos juntos
Contenido Relacionado
5 consejos para una planificación eficaz del sprint
La sprint planning es una de las ceremonias de Scrum en donde se define el objetivo de las siguientes semanas de trabajo. Debido a su importancia y complejidad, suele demorarse más que las otras ceremonias y puede ser difícil para el equipo sobrellevarla.
Conocer más
Pishing: 7 formas de prevenir los ataques
El phishing es la forma más frecuente de ciberdelincuencia, una realidad inquietante subrayada por asombrosas estadísticas. Se calcula que cada día 3.400 millones de correos electrónicos maliciosos inundan las bandejas de entrada de todo el mundo.
Conocer más
¿Es ChatGPT el fin de los desarrolladores?
ChatGPT, junto con otras herramientas de IA, ha cambiado la forma en que los desarrolladores interactúan con el código y agiliza el proceso de desarrollo de software. Estas herramientas están diseñadas para comprender y generar código, proporcionando asistencia valiosa a los programadores.
Conocer más
¿Cómo utilizar éticamente la IA? Los nuevos desafíos corporativos
El futuro se escribe con inteligencia artificial, pero la tecnología en constante desarrollo genera tanto beneficios como preocupaciones. Es por esto que las compañías deben buscar soluciones que controlen su utilización para brindar servicios más óptimos y éticos.
Conocer más
¿Puede la tecnología ponerle fin a las estafas y la inseguridad financiera?
La digitalización financiera es un proceso que está transformando la forma de interacción con el sistema financiero. Sin embargo, existe una percepción errónea de que la digitalización financiera aumenta los riesgos de seguridad.
Conocer más
Nuevas oportunidades en la encrucijada de las API financieras y los nuevos estándares globales
En los últimos años, el sector financiero ha experimentado cambios significativos impulsados por la proliferación de APIs y la aplicación de nuevas normas mundiales. Estos avances han abierto nuevas oportunidades tanto para las empresas como para los particulares, ya que proporcionan un mejor acceso a los productos y servicios financieros, así como una mayor seguridad y transparencia. ¿Cuáles son estas oportunidades?
Conocer más
Ciberseguridad: ¿Cómo pueden estar preparadas las empresas para los ataques?
Por Juan Carlos Terragno, Partner en Hexacta, a GlobalLogic Company. A medida que las empresas de todo el mundo dependen cada vez más de las redes informáticas para almacenar datos valiosos y ejecutar tareas rutinarias, la adopción de fuertes medidas de ciberseguridad se ha convertido en la necesidad del momento. En el presente artículo mostraremos … Continue reading Escribiendo User Stories en Agile →
Conocer más
Share this page:
-
-
-
-
URL copied!