Existen dos tipos de riesgo:

Riesgos genéricos

Representan una amenaza potencial para todos los proyectos de software.

Riesgos específicos

Implican un conocimiento profundo del proyecto (Entorno, Tecnología, Personal)

 

 

 

Lista de comprobación de elementos de riesgo

 

Es un método que permite identificar riesgos, por medio de las siguientes categorías:

 

 

Relacionados con el tamaño del producto

Se asocian los riesgos con el tamaño del software a construir o desarrollar.

·    Tamaño estimado del proyecto (LOC/PF)

·    Confianza en la estimación

·    Numero de programas, archivos y transacciones

·    Tamaño relativo al resto de proyectos

·    Tamaño de la base de datos

·    Número de usuarios

·    Número de cambios de requerimientos previstos antes y después de la entrega

·    Cantidad de software reutilizado

Con el impacto en la organización

Asociados con las limitaciones impuestas por la gestión.

·    Efecto del producto en la cifra de ventas

·    Visibilidad desde la dirección de la organización

·    Fecha límite de entrega razonable

·    Número de clientes que usarán el producto

·    Numero de productos con los que deberá interaccionar

·    Sofisticación del usuario final

·    Cantidad y calidad de la documentación a entregar al cliente

·    Límites legales y gubernamentales

·    Costos asociados al retraso en la entrega

·    Costos asociados a errores en el producto

 

Con el tipo de cliente

Asociados con la comunicación del cliente.

·    Hay experiencias anteriores con dicho cliente

·    Tiene una idea clara de lo que precisa

·    Está dispuesto a dedicar tiempo en la especificación formal de requerimientos

·    Está dispuesto a relacionarse de forma ágil con el equipo de desarrollo

·    Está dispuesto a participar en la revisiones

·    Es un usuario experto

·    Dejará trabajar al equipo de desarrollo sin dar consejos deexperto informático

·    Entiende el ciclo de vida de una aplicación

Con la definición del proceso de producción

Asociados al proceso y seguimiento del software.

·    Hay una política clara de normalización y seguimiento de una metodología

·    Existe una metodología escrita para el proyecto

·    Se ha utilizado en otros proyectos

·    Están los gestores y desarrolladores formados

·    Conoce todo el mundo los estándares

·    Existen plantillas y modelos para todos los documentos resultado del proceso

·    Se aplican revisiones técnicas de la especificación de requerimientos diseño y codificación

·    Se aplican revisiones técnicas de los procedimientos de revisión y prueba

·    Se documentan los resultados de las revisiones técnicas

·    Hay algún mecanismos para asegurar que un proceso de desarrollo sigue los estándares

·    Se realiza gestión de la configuración

·    Hay mecanismos para controlar los cambios en los requerimientos que tienen impacto en el software

·    Se documenta suficientemente cada subcontrato

·    Se ha habilitado y se siguen mecanismos de seguimiento y evaluación técnica de cada subcontrato.

·    Se dispone de técnicas de especificación de aplicaciones para facilitar la comunicación con el cliente.

·    Se usan métodos específicos para análisis de software

·    Se utiliza un método específico para el diseño arquitectónico y de datos

·    Está el 90% del código en lenguajes de alto nivel

·    Hay standards de documentación de código

·    Se usan métodos específicos para el diseño de pruebas

·    Se utilizan herramientas para llevar a cabo la planificación y control

 

Con el entorno de desarrollo

Asociados a las herramientas que se van a utilizar en el desarrollo del software

·    Hay herramientas de gestión de proyectos

·    Hay herramientas de gestión del proceso de desarrollo

·    Hay herramientas de análisis y diseño

·    Hay generadores de código apropiados para la aplicación

·    Hay herramientas de prueba apropiadas

·    Hay herramientas de gestión de configuración apropiadas

·    Se hace uso de una base de datos o repositorio centralizado

·    Están todas las herramientas de desarrollo integradas

·    Se ha proporcionado formación a todos los miembros del equipo de desarrollo

·    Hay expertos a los cuales solicitar ayuda acerca de las herramientas

·    Hay ayuda en línea y documentación disponible

Con la tecnología

Asociados con la tecnología a utilizar y la complejidad del sistema

·    Se trata de una tecnología nueva en la organización

·    Se requieren nuevos algoritmos o tecnología de I/O

·    Se debe interactuar con hardware nuevo

·    Se debe interactuar con software que no ha sido probado

·    Se debe interactuar con un B.D. cuya funcionalidad y rendimiento no ha sido probada

·    Es requerido un interface de usuario especializado

·    Se necesitan componentes de programa radicalmente diferentes a los hasta ahora desarrollados

·    Se deben utilizar métodos nuevos de análisis, diseño o pruebas

·    Se deben utilizar métodos de desarrollo no habituales, tales como métodos formales, Inteligencia Artificial o redes neuronales

·    Se aplican requisitos de rendimiento especialmente estrictos

·    Existen dudas de que el proyecto sea realizable

Con la experiencia técnica

Asociados a la experiencia de los ingenieros de desarrollo de software.

·    Es el mejor personal disponible

·    Tienen los miembros las técnicas apropiadas

·    Hay suficiente gente disponible

·    Está el personal comprometido en toda la duración del proyecto

·    Habrá parte del personal dedicado solamente en parte al proyecto

·    Tiene el personal las expectativas correctas del trabajo

·    Tiene el personal la necesaria formación

·    Puede la rotación del personal perjudicar el proceso de desarrollo