martes, 16 de junio de 2020

¿Una historia de usuario se puede optimizar incrementalmente?

Si, podemos dividir una historia de usuario utilizando la estrategia de división por optimizar ahora o más tarde. Hay historias en las que gran parte del esfuerzo consiste en hacer que su ejecución sea rápida. En este caso la implementación funcional no es compleja, la complejidad está en los requerimientos no funcionales, como en el rendimiento por ejemplo.

Se puede aprender mucho de una solución inicial lenta, e incluso puede tener algo de valor para el usuario. En este caso la estrategia de división trata de implementar la funcionalidad en diversos grados de perfección y optimización, puede resumirse en "hazlo funcionar" y después "haz que sea rápido". Ayuda al Propietario del Producto a priorizar las historias resultantes dando prioridad a lo que sea más necesario para la gran mayoría de los clientes.

Es importante resaltar que esta estrategia se refiere a la optimización funcional, no a una optimización de código que pueda servir de excusa para incurrir en deuda técnica.

¿Cuándo aplicarla?

Cuando la funcionalidad pueda implementarse a diferentes niveles de perfeccionamiento y optimización, hacerla funcionar primero y después mejorarla para cumplir con los requerimientos no funcionales.

Ejemplo de una historia de búsqueda de hoteles:

Como visitante
Quiero buscar hoteles en un vecindario
Para poder restringir mi búsqueda a la zona donde esté ubicado

División considerando los diferentes grados de optimización para implementar la funcionalidad:

Como visitante
Quiero buscar hoteles considerando un radio a partir de una dirección base
Para poder acotar mis búsquedas

Como visitante
Quiero introducir el código postal y buscar en el vecindario
Para poder no tener que completar la dirección base

Como visitante
Quiero usar la ubicación de mi GPS y buscar en el vecindario
Para poder no tener que completar la dirección base

Como visitante
Quiero obtener los hoteles más buscados en el vecindario de forma inmediata
mientras que otros hoteles se cargan en background
Para poder obtener resultados más rápidamente

My thanks to Christiaan Verwijs on who I have based and who inspired me for this post :-)

No hay comentarios:

Publicar un comentario