Gestión del Riesgo
Cap. 28 Ingeniería de Software: un enfoque práctico de Roger Presman
Elaborar considerando los siguientes puntos:
Estrategia de riego reactiva. Ejemplos
- Método:
○ Evaluar las consecuencias del riesgo cuando éste ya se ha producido (ya no es un riesgo)
○ Actuar en consecuencia
- Consecuencias de una estrategia reactiva
○ Apagado de incendios
○ Se pone el proyecto en peligro
Estrategias de riego proactiva. Ejemplos
- Método
○ Evaluación previa y sistemática de riesgos
○ Evaluación de consecuencias
○ Plan de evitación y minimización de consecuencias
○ Plan de contingencia
- Consecuencias
○ Evasión del riesgo
○ Menor tiempo de reacción
Categorías de riesgo. Clasificación y descripción
- Riesgos del proyecto
○ Incremento en costes
○ Desbordamiento organizativo
- Riesgos técnicos
- Riesgos del negocio
○ De mercado
○ De estrategia
○ De ventas
○ De gestión
○ De presupuesto
Identificación del Riego
Grupos de riegos
- Genéricos: Son comunes a todos los proyectos, son una amenaza potencial para todo el
proyecto de software.
- Específicos: Implican un conocimiento profundo del proyecto. Se identifican examinando el
plan del proyecto y la declaración del ámbito del software
Categorías
- Relacionados con el tamaño del producto
- Impacto en la organización
- Tipo de cliente
- Definición del proceso de producción
- Entorno de desarrollo
- Tecnología
- Experiencia y tamaño del equipo
Riesgos conocidos, genéricos y riesgos específicos
1. Riesgos Conocidos
Estos son riesgos que han sido identificados y documentados en proyectos anteriores o que son
comunes en la industria.
Falta de requisitos claros: Los requisitos no están bien definidos o son ambiguos, lo que
puede llevar a malentendidos.
Problemas de comunicación: La falta de comunicación efectiva entre los miembros del
equipo o con los stakeholders puede causar retrasos y malentendidos.
Rotación del personal: La salida de miembros clave del equipo puede afectar la
continuidad del proyecto.
Retrasos en el cronograma: Cambios inesperados pueden llevar a un incumplimiento de
los plazos establecidos.
Vulnerabilidades de seguridad: Riesgos asociados a la seguridad de la aplicación y la
protección de datos.
2. Riesgos Genéricos
Estos son riesgos que son comunes a la mayoría de los proyectos de software, independientemente
de su tipo o sector.
Cambios en la tecnología: La tecnología utilizada en el proyecto puede volverse obsoleta o
cambiar antes de que se complete el desarrollo.
Problemas de integración: Dificultades al integrar diferentes componentes del sistema o al
trabajar con sistemas externos.
Problemas de rendimiento: La aplicación puede no cumplir con los requisitos de
rendimiento esperados, afectando la satisfacción del usuario.
Dependencias externas: Dependencia de proveedores o servicios externos que pueden no
cumplir con sus plazos o requisitos.
Costos imprevistos: Gastos no planificados que pueden afectar el presupuesto del proyecto.
3. Riesgos Específicos
Estos son riesgos únicos a un proyecto en particular, basados en su contexto, tecnología utilizada o
características del equipo.
Incorporación de nuevas tecnologías: Implementar tecnologías emergentes que el equipo
no domina puede ser arriesgado.
Cambios en el equipo de trabajo: La introducción de nuevos miembros al equipo puede
afectar la dinámica del grupo y el progreso del proyecto.
Dependencia de un cliente clave: La entrega del proyecto puede depender excesivamente
de un cliente que tiene sus propios plazos y prioridades.
Interacción con sistemas legados: Integrar con sistemas antiguos que no están bien
documentados puede causar problemas inesperados.
Cumplimiento de normativas: La necesidad de cumplir con regulaciones específicas del
sector (como GDPR) que pueden añadir complejidad y riesgo
Subcategorias genéricas de riesgo
1. Riesgos Técnicos
Complejidad del Proyecto: Dificultades derivadas de la complejidad del sistema a
desarrollar.
Nuevas Tecnologías: Uso de tecnologías no probadas o poco conocidas que pueden generar
problemas.
Problemas de Integración: Dificultades al integrar diferentes componentes o sistemas.
Rendimiento: Riesgos relacionados con la capacidad del software para cumplir con los
requisitos de rendimiento.
Seguridad: Vulnerabilidades y brechas de seguridad que pueden comprometer la integridad
del sistema.
2. Riesgos Organizativos
Recursos Humanos: Disponibilidad y habilidades del personal; alta rotación de empleados.
Gestión de Proyectos: Fallos en la planificación, estimación y seguimiento del proyecto.
Estructura Organizativa: Problemas en la jerarquía o la comunicación dentro del equipo.
Cambios en la Dirección: Decisiones estratégicas que pueden afectar el enfoque del
proyecto.
3. Riesgos de Proceso
Metodologías Inadecuadas: Uso de metodologías de desarrollo que no se adaptan bien al
tipo de proyecto.
Documentación Deficiente: Falta de documentación clara que dificulte la comprensión del
proyecto.
Pruebas Insuficientes: Falta de pruebas adecuadas que pueden llevar a errores en
producción.
Cambios en los Requisitos: Modificaciones frecuentes en los requisitos que pueden desviar
el proyecto.
4. Riesgos de Negocio
Falta de Apoyo de la Alta Dirección: Ausencia de respaldo de la dirección que puede
afectar la asignación de recursos.
Cambios en el Mercado: Alteraciones en el entorno del mercado que pueden afectar la
viabilidad del producto.
Dependencia de Terceros: Dependencia de proveedores externos o de clientes que pueden
no cumplir con sus compromisos.
Regulaciones y Normativas: Cambios en leyes o regulaciones que impacten el desarrollo
del software.
5. Riesgos de Clientes y Stakeholders
Expectativas Irrealistas: Clientes o stakeholders con expectativas que no se alinean con las
capacidades del equipo.
Falta de Compromiso: Stakeholders que no participan activamente en el proceso de
desarrollo.
Cambios en el Cliente: Modificaciones en la estructura o necesidades del cliente que
impactan el proyecto.
6. Riesgos Ambientales
Factores Externos: Cambios económicos, políticos o sociales que pueden afectar el
desarrollo del proyecto.
Desastres Naturales: Riesgos relacionados con fenómenos naturales que pueden
interrumpir el trabajo (inundaciones, terremotos, etc.).
Promotores de riesgo
1. Factores Técnicos
Complejidad del Sistema: Sistemas con arquitectura compleja o múltiples
interdependencias son más propensos a fallos.
Uso de Nuevas Tecnologías: La adopción de tecnologías emergentes o poco probadas puede
generar incertidumbres y riesgos.
Falta de Experiencia Técnica: Un equipo que no tiene experiencia en las tecnologías o
herramientas utilizadas puede enfrentar más problemas.
2. Factores Organizativos
Estructura de Equipo Deficiente: Una organización con roles poco claros o una jerarquía
confusa puede resultar en malentendidos y fallos de comunicación.
Alta Rotación de Personal: Cambios frecuentes en el equipo pueden llevar a la pérdida de
conocimiento y continuidad.
Inadecuada Asignación de Recursos: Falta de recursos humanos, técnicos o financieros
puede dificultar el progreso del proyecto.
3. Factores de Proceso
Deficiencias en la Metodología: Uso de metodologías que no se adaptan a las necesidades
del proyecto puede llevar a una mala gestión del mismo.
Pruebas Insuficientes: La falta de pruebas exhaustivas puede resultar en errores no
detectados en producción.
Cambios Frecuentes en Requisitos: Cambios constantes en los requisitos pueden desviar el
enfoque y generar confusión.
4. Factores de Gestión
Comunicación Deficiente: La falta de comunicación clara entre el equipo y los stakeholders
puede llevar a malentendidos y expectativas no alineadas.
Falta de Apoyo Directivo: La ausencia de compromiso de la alta dirección puede afectar la
asignación de recursos y la dirección del proyecto.
Inadecuada Gestión del Cambio: No tener un proceso claro para manejar cambios puede
generar resistencia y caos.
5. Factores Externos
Condiciones del Mercado: Cambios en el entorno económico o competitivo pueden afectar
la viabilidad del producto.
Regulaciones y Normativas: Nuevas leyes o normativas pueden imponer requisitos
adicionales que el proyecto debe cumplir.
Dependencias de Terceros: Dependencia de proveedores o socios que no cumplen con sus
compromisos puede impactar el proyecto.
6. Factores Humanos
Expectativas Irrealistas: Stakeholders o clientes que tienen expectativas desproporcionadas
pueden aumentar la presión sobre el equipo.
Falta de Compromiso: Un equipo desmotivado o que no se siente involucrado en el
proyecto puede disminuir la calidad del trabajo.
Conflictos Internos: Desacuerdos entre miembros del equipo pueden afectar la
colaboración y el progreso.
Proyección del riesgo. Pasos. Ejemplos
- Creación de una tabla de riesgos
- Clasifica cada riesgo en dos formas:
1) la probabilidad de que el riesgo sea real.
2) las consecuencias de los problemas asociados con el riesgo.
- Proyección del riesgo:
1) establecimiento de una escala que refleje la posibilidad percibida de un riesgo.
2) delineado de las consecuencias del riesgo.
3) estimación del impacto del riesgo en el proyecto y el producto.
4) tomar nota de la precisión global de la proyección del riesgo de modo que no haya malas
interpretaciones.
Elaboración de la tabla de riesgo
Tabla de Riesgos en Ingeniería de Software
ID del Descripción del Probabilida Impact Severida Estrategia de Responsabl
Riesg Riesgo d (1-5) o (1-5) d (P × I) Mitigación e
o
R1 Falta de 4 5 20 Realizar Líder de
requisitos claros sesiones de Proyecto
recopilación
de requisitos
con
stakeholders.
R2 Rotación del 3 4 12 Fomentar un Recursos
equipo buen ambiente Humanos
laboral y
ofrecer
incentivos.
R3 Cambios en la 4 3 12 Evaluar Arquitecto
tecnología tecnología de Software
utilizada regularmente
y tener un plan
de
contingencia.
R4 Retrasos en el 5 4 20 Implementar Jefe de
cronograma metodologías Proyecto
ágiles y
revisiones
periódicas.
R5 Problemas de 3 5 15 Realizar Equipo de
integración pruebas de QA
integración
tempranas y
frecuentes.
R6 Vulnerabilidade 4 5 20 Realizar Especialista
s de seguridad auditorías de en
seguridad y Seguridad
capacitación
en buenas
prácticas.
R7 Falta de 2 4 8 Establecer Todos los
documentación normas de miembros
documentació del equipo
n desde el
inicio del
proyecto.
R8 Falta de pruebas 3 5 15 Incorporar Equipo de
adecuadas pruebas QA
automáticas y
revisión de
código.
Valoración del impacto del riesgo. Ejemplos
1. Identificación del Riesgo: Describe el riesgo y su posible impacto en el proyecto.
2. Definición de Criterios de Impacto: Establece criterios para evaluar el impacto del riesgo
en diferentes áreas, como:
o Costo: ¿Aumentará el presupuesto del proyecto?
o Tiempo: ¿Retrasará la entrega?
o Calidad: ¿Afectará la calidad del producto final?
o Satisfacción del Cliente: ¿Impactará la satisfacción de los usuarios finales?
o Reputación: ¿Afectará la imagen de la empresa?
3. Escala de Impacto: Utiliza una escala (por ejemplo, del 1 al 5) para clasificar el impacto:
o 1: Muy bajo
o 2: Bajo
o 3: Moderado
o 4: Alto
o 5: Crítico
4. Evaluación: Asigna un valor a cada riesgo según la escala de impacto definida.
5. Análisis de Resultados: Multiplica el valor del impacto por la probabilidad del riesgo para
determinar la severidad total.
Ejemplo de Valoración de Impacto
Aquí hay un ejemplo que ilustra cómo se puede llevar a cabo la valoración del impacto:
ID del Descripción del Impacto Impacto Impacto Impacto en Valor
Riesgo Riesgo en Costo en Tiempo en Satisfacción Total
Calidad
R1 Falta de 4 5 4 3 (4 + 5 +
requisitos claros 4 + 3) =
16
R2 Rotación del 3 4 3 2 (3 + 4 +
equipo 3 + 2) =
12
R3 Cambios en la 5 3 4 4 (5 + 3 +
tecnología 4 + 4) =
utilizada 16
R4 Retrasos en el 4 5 3 3 (4 + 5 +
cronograma 3 + 3) =
15
Conclusiones
Valor Total: Se puede usar este valor total para clasificar y priorizar los riesgos. Por
ejemplo, podrías establecer un umbral (por ejemplo, >15 es alto, 10-15 es medio, <10 es
bajo) para decidir cuáles riesgos deben ser abordados primero.
Revisión Continua: La valoración de impacto debe revisarse y actualizarse a lo largo del
ciclo de vida del proyecto, ya que los contextos y las prioridades pueden cambiar.
Mitigación y monitoreo del riesgo. Pasos
Mitigación de Riesgos
La mitigación implica tomar medidas proactivas para reducir la probabilidad de ocurrencia de un
riesgo o su impacto. Aquí hay algunas estrategias comunes:
1. Prevención:
o Capacitación: Formar al equipo en tecnologías, metodologías y buenas prácticas.
o Claridad en Requisitos: Asegurarse de que los requisitos sean claros y estén
documentados para evitar malentendidos.
2. Planificación:
o Desarrollo Iterativo: Utilizar metodologías ágiles que permitan adaptarse a cambios
y feedback continuo.
o Revisiones de Progreso: Establecer hitos regulares para revisar el avance del
proyecto y ajustar el plan según sea necesario.
3. Transferencia:
o Subcontratación: Considerar la subcontratación de tareas a proveedores externos
que tengan experiencia en áreas de riesgo.
4. Contingencia:
o Planes de Contingencia: Desarrollar planes que se puedan activar si un riesgo se
materializa (por ejemplo, si hay rotación de personal, tener un plan para reestructurar
el equipo).
5. Reducción:
o Pruebas Tempranas: Implementar pruebas en etapas tempranas del desarrollo para
detectar problemas antes de que se conviertan en grandes obstáculos.
Monitoreo de Riesgos
El monitoreo implica el seguimiento continuo de los riesgos identificados para evaluar su estado y
eficacia de las medidas de mitigación. Aquí hay algunas prácticas efectivas:
1. Revisiones Periódicas:
o Programar reuniones regulares (por ejemplo, semanales o quincenales) para revisar
la lista de riesgos, su estado y la efectividad de las medidas de mitigación.
2. Métricas y KPIs:
o Definir métricas que puedan ayudar a evaluar el riesgo, como el número de errores
detectados, la tasa de cumplimiento de plazos, o la satisfacción del cliente.
3. Documentación:
o Mantener una documentación actualizada que registre los riesgos, acciones tomadas
y resultados. Esto ayuda a crear un historial que puede ser útil para proyectos
futuros.
4. Alertas y Notificaciones:
o Implementar un sistema de alertas para notificar al equipo sobre cambios en el
estado de los riesgos o cuando se acerca un evento que podría activar un riesgo.
5. Revisión de Estrategias:
o Evaluar la efectividad de las estrategias de mitigación y realizar ajustes según sea
necesario. Si un riesgo se materializa, revisar cómo se manejó y aprender de la
experiencia.
Manejo del riesgo y planificación de contingencia
Manejo del Riesgo
1. Identificación de Riesgos:
o Realiza sesiones de lluvia de ideas con el equipo para identificar posibles riesgos.
o Utiliza herramientas como análisis FODA (Fortalezas, Oportunidades, Debilidades y
Amenazas) para identificar áreas críticas.
2. Análisis de Riesgos:
o Cualitativo: Clasifica los riesgos en función de su probabilidad e impacto. Utiliza
matrices de riesgos para visualizar y priorizar.
o Cuantitativo: Si es posible, estima el impacto financiero o de tiempo de los riesgos
más críticos.
3. Prioritización:
o Utiliza el valor total (probabilidad × impacto) para priorizar los riesgos. Concéntrate
en los que tienen mayor severidad.
4. Estrategias de Respuesta:
o Define cómo se abordarán los riesgos identificados:
Evitar: Cambiar el plan para eliminar el riesgo.
Mitigar: Implementar acciones para reducir la probabilidad o el impacto.
Transferir: Pasar la responsabilidad a un tercero (como seguros o
subcontrataciones).
Aceptar: Reconocer el riesgo y planificar una respuesta si se materializa.
Planificación de Contingencia
1. Desarrollo de Planes de Contingencia:
o Para cada riesgo significativo, desarrolla un plan que detalle:
Actividades específicas: Qué hacer si el riesgo se materializa.
Recursos necesarios: Personas y herramientas que se requerirán para
implementar el plan.
Responsabilidades: Quién será el responsable de activar y ejecutar el plan.
2. Documentación:
o Mantén todos los planes de contingencia bien documentados y accesibles para el
equipo. Asegúrate de que todos comprendan los procedimientos a seguir.
3. Simulaciones y Pruebas:
o Realiza simulaciones o ejercicios para poner a prueba los planes de contingencia.
Esto ayuda a identificar debilidades en el plan y mejora la preparación del equipo.
4. Actualización Continua:
o Revisa y actualiza los planes de contingencia regularmente. A medida que avanza el
proyecto y se identifican nuevos riesgos, los planes deben adaptarse.
5. Comunicación:
o Asegúrate de que todo el equipo esté informado sobre los riesgos y los planes de
contingencia. La comunicación efectiva es clave para una respuesta rápida y
efectiva.
Ejemplo de Plan de Contingencia
ID del Descripción del Plan de Contingencia
Riesgo Riesgo
R1 Falta de Reunir a los stakeholders para una sesión de revisión y aclaración
requisitos claros de requisitos. Designar un responsable para la documentación de
requisitos.
R2 Rotación del Mantener documentación y conocimientos compartidos.
equipo Planificar la incorporación de nuevos miembros. Identificar
posibles reemplazos internos.
R3 Problemas de Implementar pruebas de integración más frecuentes y revisar los
integración componentes críticos. Tener un plan de rollback si la integración
falla.
Plan MMMR. Hoja de información de riesgo
- Introducción
Ámbito y propósito del documento
Descripción de los riesgos principales
Responsabilidades
○ Gestores
○ Personal técnico
- Tabla de evaluación de riesgos
Descripción de todos los riesgos considerados
Factores que influyen en la probabilidad e impacto
- RSGR
Riesgo X
○ Evitación
Estrategia general
Pasos para mitigar el riesgo
○ Monitorización
Factores a monitorizar
Modo de monitorización
○ Gestión
Plan de contingencias
Consideraciones especiales