![]()
|
Los cambios en la documentación de apoyo vendrán acompañados de un registro de las modificaciones. De este modo se podrá realizar un seguimiento y consultar su evolución.
| ||||||||||||
¿Qué funcionalidad debería ser la siguiente a incluir en mi aplicativo?
Es una pregunta que las/os Dueñas/os de Producto (o Product Owners) suelen encontrarse y cuya respuesta, a veces, no es nada trivial. Para ayudar en esta tarea, en esta página se exponen varias técnicas para abordar la priorización de funcionalidades de una manera sistemática.
El uso de una técnica de priorización u otra depende de las necesidades del proyecto así como de las preferencias de los/as Product Owners. En ocasiones, incluso, es posible que sea conveniente utilizar una combinación de varias técnicas.
Usar en caso de querer priorizar un subconjunto de objetivos específicos frente al resto.
Consiste en priorizar las funcionalidades siguiendo una visión enfocada a objetivos siguiendo los siguientes pasos:
Esta priorización comparte una filosofía similar a la del Taller de Mapas de Impacto, especialmente utilizado en el lanzamiento de proyectos. |
Usar en caso de querer priorizar en base al feedback directo de los usuarios de nuestro aplicativo.
Consiste en la categorización de las diferentes funcionalidades como requeridas, unidimensionales, atractivas, indiferentes o inversas, a través del uso de cuestionarios enviados a nuestros usuarios. Esta categorización nos permite hacer una priorización inmediata de nuestras funcionalidades. Para ello, el modelo Kano propone un cuestionario estandarizado, en el que los participantes deben responder dos preguntas para cada funcionalidad del producto: una está formulada de manera positiva (funcional) y la otra está formulada de manera negativa (disfuncional). De la combinación de las respuesta a la pregunta funcional y disfuncional de cada usuario para cada funcionalidad, puede inferirse la siguiente clasificación:
Así pues, un ejemplo de cuestionario para una funcionalidad sería:
|
Usar en caso de querer priorizar en base al feedback directo de los usuarios de nuestro aplicativo.
Es una técnica de priorización en la que el equipo de producto (Product Owners, Equipo de desarrollo,..) interacciona directamente con los usuarios para descubrir cuáles son las funcionalidades mas valoradas por nuestros usuarios. Para llevarla a cabo, se siguen los siguientes pasos:
Aunque para esta dinámica puede utilizarse un formulario online u otra opción interactiva, también podría utilizarse la siguiente plantilla: Descargar Excel de "Comprar una funcionalidad" |
Usar en caso de querer configurar un MVP (Produto Mínimo Viable) en el lanzamiento de un proyecto, tanto de nueva creación como en migraciones tecnológicas.
MoSCoW (de "Must have", "Should have", "Could have" y "Won´t have") es una técnica de priorización especialmente recomendada para proyectos con deadlines fijas y alcance variable. Es especialmente recomendable para la definición del alcance de un MVP (Producto Mínimo Viable). Esta técnica consiste en la clasificación de las funcionalidades proyectadas en 4 categorías, que por orden de prioridad son:
(a) no tiene sentido liberar la versión en la fecha proyectada (b) No sería legal liberar versión (c) No sería seguro liberar versión (d) No se puede entregar una solución viable sin ellas. En una versión con tiempo fijo, la metodología DSDM recomienda no tener más de un 60% de este tipo de funcionalidades, ya que de lo contrario comprometería un riesgo para el proyecto (excepto cuando: hay confianza plena en las estimaciones, no hay dependencias externas o desconocidas, el equipo conoce perfectamente la solución,...)
(a) son importantes pero no vitales (b) puede que sea doloroso dejarlas fuera, pero si se dejasen fuera la solución aún sería viable (c) es posible que sea necesario un workaround temporal en caso de que se dejen fuera (p.ej. gestión de expectativas, ineficiencias, ...)
(a) son deseables pero menos importantes (b) tienen menor impacto si se dejan fuera Estas funcionalidades son las que conforman la contingencia principal del proyecto. La metodología DSDM recomienda que al menos el 20% de las funcionalidades sean de esta categoría
Antes de realizar una sesión de priorización, es importante alinear el criterio para generar consenso para asignar una categoría a cada funcionalidad (lo que decida finalmente el Product Owner, decisión por mayoría, decisión por la norma,...). En una variante de este método, el alcance funcional puede combinarse con el tecnológico. |
Usar en caso de ser capaz de estimar: el número de usuarios impactados aproximados, el impacto de la funcionalidad sobre los mismos, la confianza que se tiene sobre la eficacia y efectividad de la funcionalidad y el esfuerzo aproximado para desarrollarla.
El modelo RICE asocia una puntuación a la prioridad de cada funcionalidad en base a 4 factores: REACH o usuarios impactados en un intervalo de tiempo determinado, IMPACTO que tendrá la funcionalidad sobre cada usuario, CONFIANZA que tenemos respecto a nuestras estimaciones y EFFORT o esfuerzo que requerirá del equipo de desarrollo. ¿Cómo calcularíamos la puntuación RICE? Primero deberíamos estimar nuestros 4 factores:
Finalmente, el cálculo de la prioridad se hará con la siguiente fórmula:
En la siguiente hoja de cálculo Excel puede verse una plantilla de este modelo |
Usar en suites de aplicativos (o varios equipos ágiles) donde sea interesante hacer una priorización de funcionalidades de alto nivel. Además, es necesario poder puntuar de manera correlativa entre las funcionalidades el Valor de Negocio, la Urgencia, el Impulso de Oportunidades, la Reducción de Riesgos y el Esfuerzo.
Es un método común de priorización de funcionalidades en portfolios/programas comerciales.
El método "Primero el trabajo ponderado más corto", prioriza aquellos items del backlog con mayor coste de retraso que tengan menor esfuerzo. El método aquí presentado es una adaptación del original, definiéndose el coste de retraso como:
Finamente, para obtener el "trabajo ponderado más corto" (WSJF), se divide el Coste de Retraso de la funcionalidad entre el Esfuerzo asociada a la misma:
En definitiva, en este método se prioriza un mayor WSJF. |
Usar en caso de buscar un método de priorización de funcionalidades sencillo para aplicativos en mantenimiento.
Consiste en clasificar doblemente cada funcionalidad como "urgente/ no urgente" y como "importante / no importante". Así pues, la recomendación es: HACER lo "urgente-importante", PLANIFICAR lo "no urgente-importante", ENCOLAR (o delegar) lo "urgente-no importante" y DESECHAR lo "no urgente-no importante". Ejemplo de Matriz Eishenhover en el desarrollo de un Teléfono Móvil |