En el desarrollo de productos, proyecto o desarrollo de aplicaciones, la priorización es sin duda una parte fundamental para su creación.
De modo que en este articulo hablaremos de que es la priorización, su importancia, cuales son las diferencias en los términos: P0, P1, y P2, así como también algunas cuestiones a considerar acerca de la priorización en los proyectos de desarrollo de software.
¿Qué es la priorización y por qué es tan importante?
La priorización es el proceso de añadir un valor a una tarea, error, característica o escenario y luego ordenar de lo mas a lo menos importante en función a ese valor asignado.
El priorizar los proyectos es esencial para gestionar y ejecutar eficazmente las tareas a medida que desarrollemos todas y cada uno de las especificaciones del desarrollo de una aplicación.
La clave para entregar con éxito un proyecto, se debe a la capacidad inherente de un Project Manager el cual se encarga de priorizar y ordenar eficazmente el flujo de trabajo del desarrollo; ya sean características, errores, u cualquier otra cosa que necesite una aplicación.
Él priorizar tareas de manera correcta es sin duda uno de los puntos fundamentales para el éxito, no solo en la creación de productos, proyectos si no en cualquier tarea que realice una empresa. Hablando en cuestión del desarrollo de software ya sea la creación de una aplicación muy grande y compleja o solo el agregado de alguna característica a la aplicación, podemos priorizar el orden y el flujo de trabajo para cumplir en tiempo y forma el proyecto o tarea.
Cuando se este planeando una versión de una aplicación, se debe utilizar la priorización con el fin de agregar valor a los escenarios que esta buscando crear con esa versión. La utilización de la priorización es importante para definir cuándo se desarrollan elementos específicos y cómo priorizará los errores que surgen durante todo el ciclo del desarrollo. Por otra parte la priorización permite a todos los miembros del equipo entender lo que es más importante y en qué deberían estar trabajando.
Priorización P0, P1 Y P2
¿Qué es la prioridad P0?
En el desarrollo de software, P0 representan elementos de mayor prioridad que se deben completar, un P0 es algo tan importante para el lanzamiento de una aplicación que este debe estar integrado o arreglado obligatoriamente, ya que sin esta la aplicación no puede funcionar.
En este tipo de prioridad, nunca deben existir tareas pendientes bajo este código, al final de la versión; ya que en caso de que quede una tarea pendiente, puede que esta tarea no sea un P0 real.
Un ejemplo de una tarea con priorización P0, sería el cobro en una tienda de e-commerce, si esta no existirá o estuviera incompleta, la aplicación se consideraría defectuosa, y no estaría completa hasta que se resolvieran los problemas con los cobros.
¿Qué es la prioridad P1?
La priorización P1, se refiera a todos aquellos elementos de alta prioridad, pero no son necesariamente cosas por las que se detendría completamente la operación.
Un ejemplo de una priorización P1 sería cuando una aplicación no se puede instalar en dispositivos móviles viejos o que alguna funcionalidad de una aplicación no pueda ser utilizada por problemas con compatibilidad con cierta versión de sistema operativo.
Si bien esto puede ser un detalle importante, por lo general no es suficiente para justificar el retener toda la versión de una aplicación para solucionarlo. Este tipo de inconvenientes bien se podría incluir en las actualizaciones posteriores. Liberar una aplicación con errores P1, causara dolores de cabeza debido a su “importancia”, pero aun con esos inconvenientes se puede trabar con él.
¿Qué es la prioridad P2?
Las prioridades P2 comúnmente se ven como los elementos “agradables de tener”, en lugar de “imprescindibles” dentro de la aplicación. Los elementos P2 pueden ser cualquier cosa, desde cambios en los esquemas de color, el rediseño del flujo de la interfaz de usuario.
P3 y P4
Aunque existen las prioridades P3 y P4, estas son más simbólicos que cualquier otra cosa. Como ya lo mencionamos la prioridad P2 se considera una prioridad baja, por lo que las prioridades subsecuentes son aún más bajas y estas pueden ser utilizadas dependiendo de cada Project Manager.
Cuestiones a considerar en la priorización
Sí bien todos quieren que una aplicación este llena de un sin fin de funciones y una interfaz de usuario perfecta que a los usuarios le encante, debemos de tener en cuenta que crear una aplicación con un sin fin de funcionalidades significa que tarde o temprano se tendrá que lidiar con detalles en el camino. Mientras más funciones cuente una aplicación, mayor es la probabilidad de que tenga errores.
Aquí es donde entra el factor clave de la priorización para el desarrollo de proyectos de software. Determinar en etapas tempranas del desarrollo las prioridades P0 y P1 puede ayudar de manera significativa a clasificar las funcionalidades y corrección de errores, a fin de mantener el desarrollo de la aplicación por buen camino.
Sin embargo, un realidad que existe para los project managers y desarrolladores de software, es que generalmente hay tantos P0 y P1 que es difícil llegar a las prioridades P2.
Por lo general, las primeras versiones beta de una aplicación están tan llenas de errores o carecen de funcionalidades que los errores o características de P2 no se abordan hasta la versión final, una vez que la aplicación se ha estabilizado.
Sin duda la priorización es una herramienta importante en el desarrollo de software, productos, empresas, etc. a modo que aprender a utilizarlo y saber diferencias tareas P0 y P1 nos ayudara a gestionar de manera efectiva (en este caso) el desarrollo de software para cumplir con tiempo y forma cada una de las tareas.
Ademas otro punto importante a considerar es que la priorización solo funciona si otras personas creen que las prioridades son validad, por lo que es importante asegurarse de que las priorizaciones hechas sean coherentes y hasta cierto punto predecibles con la finalidad de evaluar características y errores que se presenten a lo largo de todo el ciclo del desarrollo de software.