I de Incertidumbre

Muchas veces hemos escuchado o pronunciado la expresión “esta historia o tarea tiene mucha incertidumbre”. Hablar de incertidumbre es hablar de nuestra falta de conocimiento ante una demanda de desarrollo.

Cuando se nos pide estimar un desarrollo en realidad se nos está pidiendo, indirectamente, valorar el grado de incertidumbre que tenemos y es bastante evidente que cuando menos sepamos de ese asunto, más tendremos. Bien porque no sabemos cuál es el objetivo que se persigue, bien porque no sabemos cómo implementarlo técnicamente. No podemos estimar, porque sencillamente no sabemos qué nos vamos a encontrar.

De hecho, las estimaciones presuponen una especie de conocimiento omnisciente.

Una historia de usuario que no presenta incertidumbre es aquella en la que podemos entender lo que se quiere conseguir y en la que podemos definir una forma de lograrlo. Respecto a lo que se quiere conseguir, indica objetivos claros: qué se quiere que pase, qué se va a ganar haciéndolo, quién va a obtenerlo. Respecto a como lograrlo, indica que sabemos dónde y cómo intervenir y que el código existente está listo para aceptar esa intervención.

Como abordar la incertidumbre

¿Es posible contener o reducir la incertidumbre? Sí, podemos recurrir a una variedad de estrategias y técnicas para mantener la incertidumbre bajo control o reducirla significativamente.

La primera es aumentar nuestro conocimiento y entender qué es lo que realmente se quiere conseguir. Una historia de usuario es el inicio de una conversación. Como equipo de desarrollo necesitamos conversar con la cliente para entender qué es lo que necesita: ¿Qué tiene que pasar? ¿Cómo vamos a saber si ha pasado? ¿Por qué necesita que pase? ¿Quién se beneficia con ello y cuanto?

Imaginemos una historia de usuario que nos pide algo así como “Quiero fidelizar a los clientes de mi servicio”. La incertidumbre viene en parte por la indefinición. ¿Qué significa fidelizar en este contexto? ¿Qué compren más ese servicio? ¿Que se suscriban? ¿Que se suscriban a planes más caros? ¿Que lo usen con más frecuencia?. El deseo es concreto y específico, pero no define la manera de conseguirlo. Luego, no podemos implementarlo al carecer de ese conocimiento.

La incertidumbre suele aumentar con el tamaño de la historia, no tanto porque exista indefinición como por acotar su alcance. “Quiero poder vender mis productos por Internet a todo el mundo”, es una historia de usuario válida, con un deseo muy específico, pero presenta mucha incertidumbre. ¿Qué productos? ¿Quién podría comprarlos? ¿De cuántas consumidoras estamos hablando? ¿Cómo se van a entregar esos productos? ¿Cómo se van a pagar? La incertidumbre viene del hecho de que es necesario hacer muchas cosas y tomar muchas decisiones comerciales y técnicas.

Divide y vencerás

Una forma de abordar la incertidumbre es evitar abarcar toda la historia de usuario. En su lugar, se trataría de determinar una serie de hitos de incertidumbre mínima que, completados uno por uno, nos lleven al objetivo.

Por esa razón es importante aprender a dividir una historia tan grande en trozos que podamos abarcar: ¿es posible dirigirnos a un subconjunto de clientes potenciales? ¿Podemos empezar vendiendo productos para que se recojan en una tienda física? ¿Sería suficiente si limitamos las ventas a un único país? ¿O a una única gama de productos?

Cada uno de estos trozos nos permite despreocuparnos temporalmente de tener que dedicar esfuerzos a desarrollar elementos que pueden ser complejos, pero a la vez nos permiten probar si ciertas hipótesis de negocio son correctas. Desde la premisa más básica: ¿tiene interés el público por nuestros productos o servicios?, hasta detalles más concretos sobre su comportamiento.