4 minutes

Uno de los roles del Propietario del producto (Product owner) es brindar al Product backlog las funcionalidades o características (features) que el equipo técnico tendrá que desarrollar. Otro de los roles, sin duda un poco más complejo, es el de definir la prioridad de las tareas a realizar. ¿Cómo elegir qué característica debe desarrollarse primero? La solución a este problema puede convertirse rápidamente en un dolor de cabeza para el Propietario del producto y consumirle demasiado tiempo. El cálculo de WSJF (Weighted Shortest Job First, por sus siglas en inglés) es una herramienta muy efectiva que simplifica el trabajo del Propietario del producto cuando este o esta debe priorizar el contenido de su Product backlog.

¿De qué se trata la técnica WSJF?

La técnica Weighted Shortest Job First es un modelo Agile diseñado con el objetivo de determinar la priorización de las historias de los usuarios (o de las features o los epics) que se ven en el Product backlog. Como lo indica su nombre, el WSJF consiste en dar la prioridad más alta a las tareas más cortas e importantes.

La herramienta WSJF es parte de la metodología SAFe Lean Agile. SAFe es una metodología completamente Agile pensada para ser utilizada a escala empresarial. No admite menos de 50 personas por lo que no es recomendable para equipos de menor cantidad. Sin embargo, el Propietario del producto puede utilizar el modelo WSJF solo, independientemente del tamaño del proyecto o del equipo.

La premisa básica es que cualquier característica que no se entregue a tiempo tiene un costo denominado “Costo de demora” (cost of delay). Por lo tanto, una mala priorización del Product backlog podría llevar a que estos costos se multipliquen, y la acumulación de los mismos podría resultar desastrosa, aun cuando en cada característica estos no parezcan tan importantes.

El objetivo de la técnica WSJF es minimizar estos costos y optimizar el valor agregado al final de la iteración. Al encontrarse con dos características o funciones (features) similares, el WSJF es particularmente útil porque ayuda al Propietario del producto a decidir (en cuanto a valor y tiempo de desarrollo), cuál debería desarrollarse primero. Si las dos tienen el mismo valor pero una de ellas tomará menos tiempo en desarrollarse, entonces la solución es simple: es esta última a la que debe dársele prioridad. Por otro lado, una intermediación será necesaria en el caso de una característica cuyo tiempo de desarrollo es todavía más corto pero no se ha considerado como prioridad hasta ese momento. Para ello, el cálculo de WSJF será de suma utilidad.

¿Cómo emplear el cálculo de WSJF?

La priorización de WSJF se calculará para cada característica que aparezca en el Product backlog. Este cálculo permitirá la asignación de un valor para determinar las prioridades. Cuanto mayor sea el valor WSJF de una característica, mayor será su prioridad en el orden de ejecución.

Al terminar el cálculo de WSJF, las características a realizar se mostrarán en un orden específico:

  1. Características no complejas pero que tienen un alto valor agregado.
  2. Características complejas con un alto valor agregado.
  3. Características no complejas con un valor agregado menor.
  4. Características complejas con un valor agregado menor.

Para calcular el WSJF de una característica, se toman en cuenta cuatro criterios. Cada uno se evalúa sobre una escala creciente no lineal, según la serie de Fibonacci.

  • Valor de negocio: El valor de negocio de una característica o funcionalidad (muy alto para todas las funciones de una aplicación).
  • Criticidad de tiempo: ¿Se necesita o no entregar la tarea de forma rápida?
  • Reducción de riesgos / valor de oportunidad.
  • Tamaño de la característica a desarrollarse (tamaño del trabajo): esfuerzo necesario por parte del equipo de desarrollo para la realización de la misma.

Este último criterio (esfuerzo necesario) se evalúa generalmente por el equipo de desarrollo.

Se puede calcular el costo de demora (Cost of Delay) de una característica con los valores de los siguientes criterios:

Costo de demora = Valor de negocio + Criticidad + Reducción de riesgo / valor de oportunidad

Por último, la fórmula para calcular el WSJF de la característica es la siguiente:

WSJF = Costo de demora / Tamaño del trabajo

Una vez calculado el WSJF de cada característica, se puede determinar su prioridad de desarrollo. Cuanto más alto sea el WSJF, mayor será la funcionalidad.

En el cálculo de WSJF, uno puede notar inmediatamente que el criterio de mayor peso es el tamaño de la funcionalidad o el esfuerzo necesario. Esto es muestra de que las características pequeñas son las más fáciles de estimar y planificar. Contrario a lo que se puede pensar, una funcionalidad o característica importante en cuanto a tamaño no necesariamente se convertirá en una prioridad. Todo dependerá del valor agregado que traiga consigo y de las consecuencias en el progreso del proyecto si no se desarrollara más o menos a término. También es común ver características que precisan de un esfuerzo significativo, pero que no producen mucho valor agregado, las cuales finalmente terminan siendo abandonadas por el cliente.

Es imperante recordar que el WSJF no es inmutable. Una vez realizado el cálculo, el resultado es movible. El Propietario del producto actualizará el Product backlog regularmente (refinamiento del backlog), y esto puede hacer que todos los criterios varíen. El WSJF se deberá entonces recalcular y en consecuencia la priorización pudiera modificarse.

En conclusión

El WSJF es una herramienta eficaz que permite al Propietario del producto determinar la priorización de la implementación de las características (features) presentes en el Product backlog. No siempre es necesario recurrir al cálculo de WSJF. A veces, la priorización de las tareas es obvia y no necesita ser evaluada. Por otro lado, cuando es difícil determinar qué funcionalidad se debe llevar a cabo primero, el análisis de los criterios y el cálculo de WSJF facilitará obtener una lista de prioridades. Los criterios utilizados para calcular el WSJF se evalúan en una reunión entre el Propietario del producto, el Scrum master y el equipo de desarrollo.

La muy completa solución de gestión de proyectos en línea Nutcache, brinda todas las herramientas necesarias para calcular el WSJF y priorizar el Product backlog. Para conocer más sobre el producto, no dude en contactarnos y pedir una prueba gratis de 14 días de la herramienta Nutcache.