Contexto
Roberto ha decidido comprar un auto último modelo con los ahorros que ha hecho en los últimos 5 años. Después de comparar precios y hacer algunas pruebas de manejo, selecciona el auto que mejor se adapte a sus necesidades y presupuesto. Justo antes de realizar la compra, su papá le recomienda una empresa para asegurar su automóvil con una cobertura amplia, que incluye daños generados por algún fenómeno natural, robo y responsabilidad civil. Sin embargo, Roberto considera que contratar este tipo de pólizas aumenta su costo de la póliza en 75% y está indeciso. Su papá le insiste en que vale la pena considerar este tipo de seguros por si acaso sucede algo. Roberto decide sólo contratar el seguro con cobertura de responsabilidad civil porque considera que es muy poco probable que su auto termine en manos de delincuentes o dañado por causa de algún terremoto o inundación, ya que vive en una zona que no ha registrado alguna catástrofe en más de veinte años. Al igual que la situación de Roberto, en los proyectos de desarrollo de software existen eventos adversos que ponen en riesgo el resultado o producto esperado. El equipo de desarrollo debe realizar un análisis de riesgos para determinar cuáles debe considerar y tratar de mitigar.
¿Cuál es el proceso de análisis de riesgos en un proyecto de desarrollo de software? ¿Cómo evaluar y decidir cuáles son los eventos que pueden poner en riesgo el resultado del proyecto? ¿Quién debería hacerse responsable de la gestión de riesgos? ¿Cuáles son las respuestas que se pueden dar a un riesgo?
Explicación
8.1 Importancia de la administración del riesgo
Los proyectos de software que requieren de un esfuerzo considerable incurren en costos igualmente proporcionales. Cajeros automáticos de banco, hasta las computadoras incluidas en automóviles, requieren de varios miles de líneas de código. Todo este trabajo de desarrollo se ve afectado por eventos que pueden poner en riesgo la confiabilidad, seguridad, calidad y efectividad del producto.
Un riesgo es la probabilidad de que suceda un evento no deseado. En todo proyecto de desarrollo de software existen riesgos que se tienen que administrar. Cualquier evento que comprometa la calidad, la fecha de entrega o el presupuesto estimado, constituye un riesgo para el proyecto.
Según Humphrey (2006), la administración del riesgo es importante por tres aspectos fundamentalmente:
El objetivo primordial de la gestión del riesgo es prevenir que un riesgo se materialice o encontrar las acciones para mitigar al máximo los posibles efectos en caso de presentarse.
Anticiparse a los problemas suele ser una buena estrategia para evitar que sucedan, sin embargo, rara vez existe un análisis proactivo de las cosas que pueden salir mal en un proyecto de software, cualquier acción reactiva a un problema tomará más tiempo y recursos para solucionarlo.
“Las personas que conocen los riesgos frecuentemente fallan al tomar las acciones para evitarlos” (Humphrey, 2006).
Otra estrategia es hacer que las personas adecuadas estén conscientes de los riesgos de un proyecto y asignar la responsabilidad de monitorear los elementos que pueden causar el riesgo y notificar al equipo cuando exista la certeza de que se puedan presentar, afectando el resultado del proyecto.
TSP establece los siguientes principios como parte de la gestión de riesgos:
8.2 Proceso de gestión de riesgos
Según Humphrey, Chick, Nichols y Pomeroy-Huff (2010), la metodología TSP establece un proceso de administración del riesgo mediante los siguientes pasos:
Haz clic en cada paso para conocer más detalles
Cierre
Realizar un análisis de riesgos es una parte inherente de cualquier proyecto, y los proyectos de desarrollo de software no son la excepción. Es una actividad que debe hacerse al inicio del proyecto con los principales involucrados, ya sea a partir de una reunión de lluvia de ideas, grupos de enfoque, cuestionarios o la técnica Delphi. El objetivo principal a considerar en el análisis de riesgos es identificar lo antes posible eventos que puedan afectar el resultado esperado de un proyecto. Se seleccionan los riesgos que se deben monitorear porque tiene mayores probabilidades de ocurrencia y además generan un alto impacto. La organización puede decidir dar una respuesta: aceptarlo, mitigarlo, transferirlo o evitarlo.
De la misma manera que existe el riesgo de que te roben tu automóvil, podrías decidir aceptar el riesgo y no hacer nada hasta que suceda; evitar el riesgo al no tener un automóvil; mitigarlo ya sea adquiriendo una alarma o bastón, o bien puedes transferir el riesgo de robo mediante la contratación de una póliza de seguro de auto.
Cuando en los proyectos de software se tienen identificados los riesgos de mayor impacto con suficiente anticipación, es posible crear planes de mitigación que puedan ser aplicados para asegurar los factores de éxito del proyecto: tiempos de entrega, calidad, y mantenerse dentro de presupuesto.
Checkpoint
Asegúrate de poder:
Referencias
Glosario
Riesgo: contingencia o proximidad de un daño.
Mitigar: moderar, aplacar, disminuir, o suavizar algo rugoso o áspero.