Gestión de riesgos para el desarrollo de software

La gestión de riesgos es un sistema para identificar, abordar y eliminar problemas que pueden ser perjudiciales para el costo, el cronograma o el éxito técnico de un proyecto o para la moral del equipo del proyecto.

“Los problemas de mañana son los riesgos de hoy.” Por lo tanto, “riesgo” se define claramente como un problema que podría causar algún daño o amenazar el cronograma del proyecto, pero que aún no ha ocurrido.

Si no toma la iniciativa para administrar los riesgos, los enfrentará.

El desarrollo de software  es una actividad de alto riesgo y puede haber riesgos en cualquier etapa del proceso de desarrollo del proyecto. La adopción de un método de gestión activa de riesgos puede hacer que el proceso del proyecto sea más estable, obtener una alta capacidad de seguimiento y control del proyecto, y puede evitar y transferir riesgos, o mitigar los efectos adversos de los riesgos.

La gestión de riesgos es el proceso de identificar, analizar, responder y monitorear los riesgos del proyecto. Es una actividad de gestión muy importante en la gestión de proyectos. La implementación efectiva de la gestión de riesgos de software es la garantía para la finalización sin problemas del desarrollo del proyecto de software.

El logro de la gestión de riesgos debe incluir tres elementos:

  • Se debe formular un plan de gestión de riesgos en el plan de desarrollo del proyecto;
  • El presupuesto del proyecto debe incluir los fondos necesarios para resolver el riesgo;
  • Al evaluar el riesgo, también se debe incluir el impacto del riesgo Planificación del proyecto.

Analicemos cómo podemos tomar medidas preventivas para mitigar los riesgos que a menudo ocurren durante el desarrollo de software.

  1. Requisitos poco claros  : los requisitos poco claros son problemas frecuentes en el proceso de desarrollo de software. Dichos problemas a menudo se manifiestan en muchos aspectos, como el alcance indefinido de los requisitos, los requisitos sin refinar, la descripción de los requisitos poco clara, los requisitos que faltan y los requisitos en conflicto. En el ciclo de vida del proceso de desarrollo de software, el desperdicio causado por requisitos poco claros es el más grande y debe resolverse lo antes posible. Es muy difícil determinar las necesidades del usuario.

Acciones preventivas

  • Permita que los usuarios participen en el desarrollo a través de discusiones y reuniones breves y más frecuentes.
  • Desarrolle y comuníquese con las partes interesadas utilizando prototipos de interfaz de usuario/wireframe

2. Para proyectos con una amplia distribución de usuarios y una gran cantidad de usuarios, a menudo es difícil recopilar de manera integral los requisitos de los usuarios, y generalmente se adoptan reuniones de investigación de requisitos para confirmar los requisitos.

Acciones preventivas

Unas semanas antes de la reunión, encuestamos las necesidades de los usuarios en varias regiones y departamentos, y luego reunimos a los representantes de los usuarios de todas las regiones o departamentos para realizar un seminario de requisitos para recopilar los requisitos durante la reunión. Este método es adecuado para usuarios que tienen cierta experiencia en TI.

2.  Trampa 80/20  : cuando un gerente de proyecto o un desarrollador dice que se completó el 80% de la tarea, debe tener cuidado. Porque el 20% restante puede tomar el 80% del tiempo, o puede que nunca se complete.

Los proyectos de desarrollo de software a menudo carecen de visibilidad en términos de progreso del proyecto y calidad del software. Cuanto menos visibilidad tenga el proyecto, más difícil será controlarlo y más probable es que fracase. Podemos mejorar la visibilidad del proyecto a través del desarrollo iterativo, la revisión técnica y la integración continua.

Acciones preventivas:

  • Desarrollo iterativo Utilizando un modelo de desarrollo iterativo, el proceso de entrega del producto se divide en varias etapas y se entrega de forma incremental según las funciones.
  • La revisión técnica es una parte importante para garantizar la calidad del software. La revisión técnica incluye ejercicios de código, revisión de reuniones y revisión por pares. La revisión de código puede ser una revisión cruzada entre desarrolladores o una revisión de desarrolladores ordinarios por parte de desarrolladores senior; La revisión de la reunión generalmente se realiza al menos una vez cada dos semanas, y el tiempo de cada revisión no debe ser demasiado largo, lo que es una garantía importante para el éxito del proyecto.
  • La integración continua puede dispersar el proceso final de integración y puesta en servicio a gran escala al progreso de desarrollo semanal y diario del proyecto. Para que todos en el proyecto puedan comprender el progreso general actual en cualquier momento y encontrar y resolver rápidamente los problemas en el proceso de integración.

3.  La innovación tecnológica  es una actividad tecnológica y económica exploratoria y creativa. En el proceso de desarrollo, la introducción de nuevas tecnologías inevitablemente enfrentará varios riesgos. Medidas como el desarrollo de software en forma de T y la creación de prototipos con nueva tecnología con historias de usuarios de punta.

4.  Problemas de rendimiento  : debido a la falta de conocimientos sobre el diseño del software, los problemas de rendimiento a menudo quedan expuestos después de implementar el sistema o usar un sistema nuevo durante un período de tiempo. Los problemas de rendimiento suelen requerir mucho trabajo de optimización, o incluso un rediseño parcial o completo. Ni los usuarios ni los desarrolladores quieren problemas de rendimiento. El equipo debe ser consciente de este problema, implementar la planificación y las pruebas de rendimiento durante todo el proceso de desarrollo e incluir los requisitos de rendimiento en los requisitos no funcionales.

5.  Problemas de usabilidad:  la usabilidad del software incluye muchos factores, como si el software es eficiente, fácil de aprender, fácil de recordar, agradable y no fácil de cometer errores. A menudo, debido a la mala usabilidad del software, los usuarios quedan insatisfechos e incluso eliminados por el mercado. En el desarrollo de proyectos, se debe prestar atención a los problemas de usabilidad para evitar riesgos de usabilidad del software.

Estructura de desglose de riesgos

Podemos utilizar la estructura de descomposición del riesgo para clasificar el riesgo potencial en diferentes aspectos:

La estructura de desglose de riesgos es la descomposición jerárquica de los riesgos, comenzando desde el elemento del nodo raíz que representa el proyecto y bajando a las diversas categorías de riesgo, y luego a los riesgos de nivel más fino.

Además de presentar los riesgos del proyecto en una estructura de desglose de riesgos, es posible combinar el uso de la leyenda de colores para representar el impacto del riesgo. Eche un vistazo al ejemplo de Estructura de desglose de riesgos a continuación, se ha configurado una leyenda de Impacto con cinco elementos, que representan los cinco niveles de impacto que los riesgos pueden tener en el proyecto con cinco códigos de colores distintos.

Aquí hay un ejemplo de estructura de desglose de riesgos:

Ejemplo de estructura de desglose de riesgos

Edite esta estructura de desglose de riesgos en línea )

Hay muchas herramientas de gestión de riesgos que puede utilizar para estructurar los riesgos. Además de la estructura de desglose de riesgos, también puede considerar usar el  diagrama de causa y efecto  (también conocido como diagrama de espina de pescado).

Conclusión

Cuanto antes se identifique y gestione el riesgo, es más probable que se evite el riesgo o que se reduzca el impacto del riesgo cuando ocurra. Especialmente en proyectos complejos con un gran número de participantes en el proyecto, se debe fortalecer una amplia gama de participación y un alto contenido técnico.


Dejar una contestacion

Tu dirección de correo electrónico no será publicada.