Los Product Owner de Proyectos ágiles desean desarrollar software que sea de alta calidad y de gran valor, y la forma más sencilla de desarrollar software de alto valor es implementar primero los requisitos de mayor prioridad. Esto les permite maximizar el ROI de las partes interesadas.
Como normalmente los requisitos cambian con frecuencia, se necesita un enfoque simplificado y flexible para la gestión de cambio de requisitos, por ejemplo, product backlog (Scrum). Por lo tanto, en el desarrollo ágil, la priorización de requerimientos de software se considera una parte vital del proyecto. Y, por ejemplo, para priorizar las Historias de Usuario, podríamos usar los 5 criterios principales de priorización de requerimientos, como el valor que los usuarios le dan a la visión del producto, la urgencia, las limitaciones de tiempo, la técnica de complejidad y las preferencias de las partes interesadas o stakeholders.
Además, muy a menudo los proyectos deben ser priorizados adecuadamente tanto para los objetivos principales del proyecto como para las tareas específicas que lograrán los objetivos. Por lo tanto, nos ocupamos de la priorización en dos niveles: nivel de producto y nivel de tarea.
Técnicas de priorización de requerimientos de software (SW):
Analiza las áreas clave que se tienen en cuenta:
- Beneficio: una ventaja que obtiene la empresa como resultado de la implementación requerida.
- Penalización: una consecuencia de no implementar un requisito.
- Costes – esfuerzo y recursos que se requieren para implementar un requisito.
- Riesgo: una probabilidad de que el requisito no entregue el valor esperado.
- Dependencias: una relación entre los requisitos, por ejemplo, cuando el requisito requiera completar otro requisito para su implementación.
- Sensibilidad de tiempo: fecha de caducidad, urgencia.
- Estabilidad: la probabilidad de que el requisito permanezca estático.
- Cumplimiento de políticas: requisitos que deben implementarse para cumplir con los requisitos reglamentarios.
Mapa de dependencia
Siempre es una buena idea crear un mapa de dependencia para comprender mejor las dependencias entre los requisitos. Especialmente teniendo en cuenta que la mayoría de los requisitos son interdependientes y difícilmente encontrarás un requisito que sea independientemente.
Entender los requisitos de dependencia es tan importante como la priorización. Sin entender la dependencia de los requisitos, es muy poco probable que llegue al orden correcto de la implementación de los requisitos. Por lo tanto, es una buena idea tener el mapa de dependencia de requisitos en tu lugar antes de priorizar los requisitos, especialmente cuando se trabaja en proyectos de software.
MoSCoW
El método MoSCoW funciona mejor que el sistema de calificación numérica, ya que es mucho más fácil para las partes interesadas calificar los requisitos como Must, Should, Could or Would.
- Must – obligatorio
- Should – de alta prioridad
- Could – Preferido pero no necesario
- Would – puede ser pospuesto y sugerido para futura ejecución
Votación
Esta es la forma más simple de priorización de requerimientos de software. Cuando hay demasiados requisitos que deben categorizarse en diferentes categorías con aportes de diferentes partes interesadas, la votación es una de las mejores formas de resolver la priorización de requerimientos de software. Digamos que si se están debatiendo 10 características, las partes interesadas tienen 10 puntos y deben difundirlas a través de estas características. Por ejemplo, menos importante 1, más importante 10.
5 “porqués”
A menudo sucede que los interesados quieren implementar una determinada característica por razones que no se basan en argumentos lógicos o en los intereses comerciales de la empresa. Con cinco porqués, el analista pregunta repetidamente al participante (cinco veces o menos) por qué el requerimiento es necesario hasta que se establece la importancia de los requisitos. Las respuestas revelan si el requisito es realmente necesario o si se puede cancelar / posponer una vez que se determina la prioridad.
Otras técnicas…
Entonces, ¿qué técnica de priorización de requerimientos de software es la mejor? No hay una respuesta correcta, puedes combinarlas o usar uno para 1 proyecto y otro para el segundo proyecto. Lo más importante es que analices los puntos clave que impactan en el negocio.