Riesgos del Software

La gestión de riesgos en el ámbito del software procura formalizar conocimiento orientado a la minimización o evitación de riesgos en proyectos de desarrollo de software, mediante la generación de principios y buenas prácticas de aplicación realista [Roppponen, 2000]. Hasta el momento se ha propuesto y ha utilizado diferentes enfoques de gestión del riesgo desde que Boehm [Boehm, 1988] atrajo a la comunidad de ingeniería del software hacia la gestión del riesgo. Sin embargo, es evidente que pocas organizaciones utilizan todavía de una forma explícita y sistemática métodos específicos para gestionar los riesgos en sus proyectos software.

En [Pressman, 2002] se presenta la definición de riesgo dada por Robert Charette en [Charette, 1989] donde plantea que:

  • En primer lugar, el riesgo afecta a los futuros acontecimientos.

  • En segundo lugar, el riesgo implica cambios.

  • En tercer lugar, el riesgo implica elección, y la incertidumbre que entraña esta.

Estrategias de riesgo

Se tienen dos estrategias.

Reactiva: Supervisa el proyecto en previsión de posibles riesgos.

  • Evaluar las consecuencias del riesgo cuando este ya se ha producido (ya no es un riesgo).

  • Actuar en consecuencia.

Proactiva: Identifica los riesgos potenciales.

  • Evaluación previa y sistemática de riesgos.

  • Evaluación de consecuencias

Se establece un plan de contingencia para controlar el riesgo.

Es indiscutible que están presentes permanentemente las características de incertidumbre (acontecimiento que caracteriza al riesgo y que puede o no ocurrir) y de pérdida (si el riesgo se convierte en una realidad ocurrirán consecuencias no deseables o pérdidas).

De acuerdo con [Pressman, 2002], la administración o gestión de riesgos es un proceso iterativo que se aplica durante todo el proyecto y se desarrolla en cuatro etapas.

Cuando se analizan los riesgos es importante cuantificar el nivel deincertidumbre y el grado de pérdidas asociado con cada riesgo. Parahacerlo, se consideran diferentes categorías de riesgos.

Riesgos del proyecto: Amenazan el plan del proyecto.

Riesgos técnicos: Amenazan la calidad y actualidad del software que se producirá.

Riesgos de negocios: Amenaza la viabilidad del software que se construirá.

Componentes Del Riesgo Del Software

  • Riesgos de rendimiento: el grado de incertidumbre con el que el producto encontrara sus requisitos y se adecue a la utilidad pretendida.

  • Riesgos de coste: el grado de incertidumbre que mantendrá el presupuesto del proyecto.

  • Riesgos de soporte: el grado de incertidumbre de la facilidad del software para corregirse, adaptarse y ser mejorado.

  • Riesgos de planificación temporal: el grado de incertidumbre con que se podrá mantener la planificación temporal y de que el producto se entregue según el tiempo establecido.


Identificación y Proyección Del Riesgo

La identificación del riesgo es un intento sistemático para especificar las amenazas al plan del proyecto (estimaciones, planificación temporal, carga de recursos, etc.). Identificando los riesgos conocidos y predecibles,el gestor del proyecto da un paso adelante para evitarlos cuando sea posible y controlarlos cuando sea necesario.

Existen dos tipos diferenciados de riesgos para cada categoría presentada anteriormente:
Riesgos genéricos: Son una amenaza potencial para todos los proyectos de software.
Riesgos específicos: Solo pueden identificar los que tienen una clara visión de la tecnología, el personal y el entorno específico del proyecto en cuestión.

--> El método para identificar riesgos es crear una lista de comprobación de elementos de riesgo.

--> La lista de comprobación se centra en un subconjunto de riesgos conocidos y predecibles en las siguientes subcategorías genéricas:

  • Tamaño del producto: Riesgos asociados con el tamaño global del software.

  • Impacto del Negocio: Asociados con las restricciones que impone la gerencia o el mercado.

  • Características del cliente: Asociados con la satisfacción del cliente.

    • Requerimientos (requisitos) confusos o incompletos.

    • Cambios frecuentes a los requerimientos del proyecto durante la ejecución del mismo.

    • Cliente y/o usuario que no cumple sus responsabilidades del proyecto.

    • Cliente y/o usuario no disponible o sin conocimientos para proporcionar información precisa de los requerimientos.

    • Cliente sin expectativas realistas sobre los resultados del proyecto.

    • Restricciones contractuales como penalizaciones por no lograr fechas límites o penalizaciones de la terminación.

  • Definición del proceso: Riesgos asociados con la disponibilidad y calidad de las herramientas que se van a emplear en la construcción del producto.

    • Recursos no disponibles.

    • Equipo faltante o inadecuado.

  • Tecnología a construir: Asociado con la complejidad del sistema que se construirá.

  • Tamaño y experiencia de la plantilla: Relacionado con la experiencia técnica del personal.

    • Nueva tecnología.

    • Nuevo ambiente de desarrollo.

    • Nuevo hardware.

    • Habilidades y/o conocimientos requeridos no satisfechos o inadecuados.

Proyección del riesgo o estimación del riesgo, intenta medir cada riesgo de dos formas:

  • La posibilidad que el riesgo sea real.

  • Las consecuencias de los problemas asociados con el riesgo en caso de que ocurra.

  • El planificador del proyecto con los gestores y personal técnico, realizan 4 pasos en la proyección del riesgo.

    • Establecer una escala que refleje la probabilidad percibida del riesgo.

    • Definir las consecuencias del riesgo.

    • Estimar el impacto del riesgo en el proyecto y en el producto.

    • Apuntar la exactitud general de la proyección del riesgo de manera que no haya confusiones.

    La tabla de riesgos ofrece al gestor de un proyecto una técnica simple para la proyección de riesgos.

    Se lista todos los riesgos. Cada riesgo es categorizado (riesgos de tamaño y de negocio, etc.), se establece probabilidad de aparición de cada riesgo.

    La probabilidad de riesgo puede determinarse haciendo estimaciones individuales y desarrollo después un único valor de consenso.

    Reducción, Supervisión Y Gestión Del Riesgo

    El objetivo final de todas las actividades que conforman la gestión de riesgos es, ayudar al equipo de un determinado proyecto para tratar eficazmente los riesgos.

    Una estrategia para luchar con el riesgo consiste en tres pasos:

    • Evitar el riesgo.

    • Supervisar el riesgo.

    • Gestionar el riesgo y los planes de contingencia.

    Si un equipo de desarrollo de software adopta un enfoque proactivo frente al riesgo, evitarlo siempre es la mejor estrategia. Esto se consigue desarrollando un plan de reducción del riesgo.

    Por ejemplo

    Se detecta una muy elevada movilidad del personal asignado a un determinado proyecto, lo que supone un cierto riesgo r1. De acuerdo con los datos históricos y con la propia experiencia en gestión, se estima la probabilidad li de que se produzca una elevada rotación en 0`75 (bastante alta) y se proyecta su impacto xi como un incremento del 20% en la duración del proyecto y el 10% sobre el coste global.

    Intentar reducir el riesgo, se debería desarrollar una estrategia que permitiera disminuir dicha movilidad. Así, se llevan a cabo los siguientes pasos:

    • Reunirse con el personal actual para determinar las causas de la movilidad.

    • Reducir aquellas causas que se controlan antes de que comience el proyecto.

    • Una vez iniciado el proyecto suponer que la movilidad ocurrirá y entonces desarrollar técnicas que aseguren la continuidad cuando la gente se aleje.

    • Organizar equipos de proyectos de modo que la información acerca de cada actividad de desarrollo se disperse con amplitud.

    • Definir estándares de documentación y establecer mecanismos que aseguren que los documentos se desarrollen en una forma oportuna.

    • Llevar a cabo revisiones por pares de todo el trabajo.

    • Asignar un miembro de respaldo para las actividades críticas.

    A medida que progrese el proyecto, comenzaran las tareas de supervisión del riesgo. El jefe del proyecto deberá analizar determinados factores que puedan proporcionar una indicación, si el riesgo se está haciendo más o menos probable.

    Se podrían supervisar los siguientes factores:

    • La actitud general de los miembros del equipo.

    • El grado de compenetración del equipo.

    • Las relaciones personales entre los miembros del equipo.

    • La disponibilidad de empleo dentro y fuera de la empresa.

    La supervisión del riesgo es una actividad de seguimiento del proyecto con tres objetivos:

    • Valorar si los riesgos predichos de hecho ocurren.

    • Asegurar que los pasos para evitar el riesgo definidos para éste se están aplicando con propiedad.

    • Recopilar información que pueda usarse en futuros análisis de riesgo.

    Los pasos RSGR provocan aumento en el coste del proyecto. Parte de la gestión del riesgo es evaluar cuando los beneficios obtenidos por los pasos RSGR superan los costes asociados con su implementación. Quien planifique el proyecto realiza el clásico análisis coste/beneficio.

    El Plan RSGR

    • El plan RSGR documenta todo el trabajo realizado como parte del análisis del riesgo y el gestor del proyecto lo emplea como parte del plan global del proyecto.

    • Algunos equipos de software no elaboran un documento RSGR formal. En su lugar cada riesgo se documenta individualmente mediante una hoja de información del riesgo.

    • Una vez documentado el plan de RSGR y que el proyecto ha comenzado, se inician los pasos de reducción y supervisión del riesgo.

    A continuación se expone el contenido del plan RSGR.

    • Introducción.
      • Alcance y propósito del documento.
      • Visión general de los riesgos principales.
      • Responsabilidades.
      • Gestión.
      • Personal técnico.
    • Tabla de riesgos del proyecto.
      • Descripción de todos los riesgos situados por encima del corte.
      • Factores que influyen en la probabilidad y el impacto de cada riesgo.
    • Reducción, supervisión y gestión de los riesgos.
      • Riesgo #1.
        • Reducción.
          • Estrategia general.
          • Pasos específicos.
        • Supervisión.
          • Factores a supervisar.
          • Enfoque de la supervisión.
        • Gestión.
          • Plan de contingencia.
        • Consideraciones especiales.
    • Planificación temporal de revisión del plan.
    • Resumen.

    Bibliografia

    • INGENIERÍA DEL SOFTWARE, Ian Sommerville, 7ma ed
    • INGENIERIA DEL SOFTWARE, UN ENFOQUE PRACTICO, Roger Pressman, 6ta ed.
    • PFLEEGER, Shari Lawrence. INGENIERÍA DE SOFTWARE, TEORÍA Y PRÁCTICA. 1ª. Edición. Buenos Aires. Pearson educación. 2002
    • INGENIERÍA DE PROYECTOS INFORMÁTICOS: ACTIVIDADES Y PROCEDIMIENTOS By José Salvador Sánchez Garreta

    Videos Relacionados

    No hay comentarios:

    Publicar un comentario