Priorización de Requisitos Software con MoSCoW

Tras el artículo anterior acerca de la importancia de la educción de requisitos software, hoy vamos a tratar la priorización de los requisitos software con una técnica denominada MoSCoW. Actualmente, nos encontramos en un contexto en el que el “time to market” y aportar valor a negocio son dos puntos muy importantes a la hora de desarrollar un producto software. Es por ello, que priorizar aquellas funcionalidades que aportan mayor valor al producto, es una actividad necesaria que debe de realizarse y visibilizarse a todo el equipo.

Estrategias de priorización

Cuando se comienza a desarrollar el software, es muy importante abordar el orden de implementación de los requisitos siguiendo una estrategia. Existen distintas estrategias, como por ejemplo guiarse por el riesgo que se asume en cada requisito, guiarse por el valor que aporta al negocio o simplemente impuestas por dependencias de otros sistemas o por los recursos disponibles.

Además de estas estrategias, la priorización es importante cuando el proyecto se desvíe de la estimación inicial, para poder sacar fuera de alcance aquellos requisitos de mas baja prioridad y que no son clave para el éxito del producto software, postponiendolos para fases posteriores.

Esta priorización debe de realizarse tanto si el producto ya está construido y estamos evolucionándolo, como si es un sistema nuevo y decidimos construir un Producto Mínimo Viable (MVP). En este último caso, es muy importante la priorización, ya que el objetivo es construir un nuevo producto software en el menor tiempo posible y con las funcionalidades necesarias para poder ser viable. En caso de no acertar con el modelo de negocio, siempre es más fácil reorientar la estrategia sin haber perdido el tiempo en funcionalidades que no aportaban lo suficiente. ¡Falla rápido, falla barato!

Técnica de Priorización de Requisitos MoSCoW

Comúnmente, se emplean valores numéricos para priorizar los requisitos, siendo 1 la prioridad más baja y 5 la mas alta. Sin embargo estos valores no tienen un significado real ni semántico para los involucrados. La técnica de priorización de requisitos MoSCoW, ayuda a todo el equipo a entender las necesidades reales del sistema software y entender la criticidad de cada funcionalidad.

MoSCoW es un acrónimo, cuyas siglas en inglés significan: Must have, Should have, Could have, and Would like but won’t get. Cómo se puede observar, esta clasificación no se trata simplemente de poner un valor numérico a cada uno de los requisitos/historias de usuario, si no que aporta un valor semántico de lo que realmente es importante.

Comúnmente cuando se definen los requisitos y se analizan, se suele pretender que todo es de prioridad alta. Si todos los requisitos son prioritarios, en realidad nada es prioritario. Por ello esta técnica propone que en este análisis se dividan los requisitos en cada uno de estos 4 grupos representándolos con una letra:

Conclusión

Priorizar es una actividad complicada, pero no por ello debe descuidarse. Para responder que requisitos priorizamos se debe de intentar medir el valor que aporta al producto, el coste real de implementación asociado, los recursos disponibles para llevarlo a cabo, la complejidad del problema y el riesgo que estamos dispuestos a asumir.

Técnicas como MoSCoW ayudan a todos los involucrados en el proyecto a definir la importancia y las razones por lo que el requisito a implementar es importante. De esta manera todos los miembros del equipo se sienten alineados con los objetivos a conseguir.

Si estás interesado en conocer más técnicas de priorización te aconsejo leer el siguiente artículo.

Full Stack Web Developer — adrianalonso.es