Por qué y cómo gestionar los riesgos en el desarrollo de software
Publicado: 2021-10-05En este artículo, analizamos los enfoques de la gestión de riesgos en el proceso de desarrollo de software. También prestamos atención a la importancia de la gestión de riesgos desde las perspectivas de negocio y desarrollo e incluso damos un ejemplo de un plan de gestión de riesgos.
El 12 de noviembre de 2019, Disney lanzó Disney Plus, un servicio de transmisión similar a Netflix con contenido original. Miles de usuarios estaban dispuestos a pagar $ 7 al mes o más para disfrutar del contenido de Pixar, Marvel, Star Wars y muchas otras franquicias.
Los espectadores ansiosos se sintieron decepcionados al ver pantallas apagadas durante días en lugar del contenido por el que habían pagado. Las quejas abarcaron toda una gama, desde dificultades para iniciar sesión hasta la imposibilidad de transmitir, fallas en las aplicaciones y programas y películas que desaparecen de la biblioteca.
Disney atribuyó estos problemas a que la demanda superó sus "altas expectativas".
Este es un ejemplo clásico de mala gestión de riesgos técnicos en el desarrollo de software .
¿Podría Disney haber evitado estos cortes? Si.
¿Puedes evitar problemas similares? También sí.
En este artículo, profundizaremos en la gestión de riesgos y la mitigación de riesgos en el desarrollo de software.
La importancia de la gestión de riesgos
Cada negocio es único y no todos los riesgos pueden anticiparse por completo. Pero existen algunos enfoques que le ayudan a identificar los cuellos de botella, calcular la posibilidad de que se produzcan riesgos y predecir el impacto negativo en caso de que ocurran.
La gestión de riesgos es un conjunto complejo de actividades que las empresas pueden realizar para evitar o mejorar los efectos de los riesgos.
El propósito de la gestión de riesgos es saber qué puede salir mal, por qué puede salir mal, cuál sería el impacto si sucediera y cómo solucionarlo. Prevenido vale por dos.
La ventaja de una gestión de riesgos adecuada es que ayuda a una empresa a sufrir menos incluso cuando se materializa un riesgo.
La gestión de riesgos puede traer las siguientes ventajas:
- Ahorro de costes mediante la reducción de gastos en emergencias previsibles y evitables
- La capacidad de trabajar más rápido al permitir que los equipos de desarrollo se concentren en el desarrollo, no en solucionar problemas imprevistos.
- Gasto más inteligente al no necesitar atraer fondos adicionales para resolver problemas imprevistos
- Una mejor reputación al garantizar a los clientes que tiene todo bajo control incluso en una emergencia.
Tipos de riesgos
Un emprendedor sin experiencia espera que no suceda nada malo en su negocio. Un emprendedor experimentado sabe que sucederá algo malo y se prepara para ello con anticipación.
Entonces, ¿qué podría salir mal? Básicamente, cualquier cosa. Varios enfoques de gestión de riesgos cubren varios tipos de riesgos. Las categorías de riesgos más comunes para las empresas son:
Riesgos humanos : la enfermedad repentina, el embarazo, el arresto, la muerte o el cambio de carrera de un miembro del equipo pueden tener numerosas consecuencias, desde retrasos en el desempeño hasta la delegación de funciones a otros miembros del equipo.
Ubicación o riesgos geográficos : cada ubicación tiene sus problemas específicos como el clima, la situación política, la zona horaria y las tradiciones laborales que pueden afectar el flujo de trabajo.
Riesgos estratégicos : cosas como problemas de planificación, elegir la estrategia incorrecta y una mala gestión no se pueden prever desde el primer día, pero definitivamente deben considerarse como un factor de riesgo importante.
Riesgos operativos o de gestión : están muy cerca de los riesgos estratégicos, pero tienen más que ver con la ejecución: problemas de implementación, dependencias laborales incorrectas, mala gestión, toma de decisiones lenta, priorización incorrecta y muchos otros problemas operativos que pueden retrasar el desarrollo empresarial o costar una fortuna. superar.
Riesgos legales : es bueno estudiar las leyes y regulaciones de regiones particulares al menos para saber si puede hacer negocios allí. Además, las leyes tienden a cambiar, lo que a menudo puede dar lugar a cambios fiscales y problemas de formalización. Los riesgos legales también incluyen cambios en las reglas y regulaciones de plataformas comerciales como Amazon, Apple App Store y Google Play.
Riesgos técnicos : una tecnología elegida puede verse perfecta en el papel pero comportarse de manera diferente en acción. Las actualizaciones constantes, los cambios en los entornos operativos, los problemas de mantenimiento y muchos otros aspectos técnicos pueden tener un gran efecto en el negocio.
Dependiendo del tipo de negocio, pueden aparecer muchos otros factores de riesgo y los factores enumerados anteriormente pueden cambiar. Pero conocer estos riesgos le ayuda a elegir una estrategia de gestión de riesgos adecuada.
Estrategias de gestión de riesgos
Los enfoques para la gestión de riesgos difieren según numerosos factores, pero estas son algunas de las estrategias de gestión de riesgos más comunes:
Evitación de riesgo
Se trata de una estrategia radical en la que una empresa se niega a asumir un riesgo y se niega a realizar una actividad.
Hay tipos de riesgos en los que el precio de un error es demasiado alto. Por ejemplo, si conoce los límites de las capacidades técnicas de una solución, es aconsejable no sobrecargar la solución con un proyecto de gran carga. En este caso, el costo de la falla puede ser mayor que los posibles ingresos.
En resumen, a veces está bien no participar en algunas actividades comerciales para no fracasar.
Ventajas: Rápido de implementar: simplemente rechaza o acepta la actividad.
Contras: deje los ingresos potenciales sobre la mesa.
Bueno para: empresas con múltiples sucursales y fuentes de ingresos.
Usar cuando: El daño del posible riesgo es mayor que el posible beneficio de la actividad.
Mitigación de riesgos
Esta es una estrategia para hacer que las consecuencias negativas sean menos graves en lugar de evitarlas por completo.
Cuando opera un negocio que es más complicado que vender limonada en su jardín, puede enfrentar problemas que no puede evitar. En este caso, se recomienda identificar y mitigar las consecuencias de esos riesgos.
Esto funciona para riesgos específicos conocidos, especialmente en proyectos de software. Advierta a sus clientes sobre problemas futuros u ofrezca una solución temporal. Es posible que los clientes no se vayan satisfechos, pero al menos sentirán el cuidado que usted tiene por ellos . Por ejemplo, McDonald's entrega un cupón de helado gratis si espera más de 90 segundos para recibir un pedido.
Ventajas: no desperdicia sus recursos para eliminar el riesgo. En cambio, trabaja con sus consecuencias, tratando de hacerlas menos graves, lo que a menudo es mucho más fácil de hacer.
Contras: usted y su cliente aún deben lidiar con las consecuencias negativas del riesgo.
Bueno para: empresas con clientes leales, empresas sensibles al tiempo, proveedores de servicios.
Úselo cuando: El riesgo no se puede evitar por completo, pero el servicio aún debe entregarse a tiempo; situaciones de emergencia.
Transferencia de riesgo
Con esta estrategia, le pagas a otra persona para que se ocupe de las consecuencias negativas.
Si su empresa no puede manejar cierto riesgo, busque ayuda. Este puede ser un enfoque muy costoso para la gestión de riesgos en el desarrollo de software, pero los resultados pueden cumplir con las expectativas del cliente y mantener su negocio en marcha. También es bueno en el contexto de liberar a su tripulación del trabajo sucio que no quieren hacer, lo que lleva a una mejor concentración y resulta en una mejor calidad.
Ventajas: Simple y en su mayoría rápido de realizar.
Contras: puede costar una fortuna y tendrá menos control sobre parte de su negocio.
Bueno para: empresas con una gran carga en algunos de sus componentes o para implementar funciones para las que no tiene mucha experiencia.
Úselo cuando: Una actividad debe realizarse bien y rápidamente, sin tiempo para adquirir su propia experiencia o capacitar a sus propios profesionales.
Aceptación de riesgos
Como sugiere el nombre, con esta estrategia simplemente acepta todas las consecuencias negativas de un riesgo.
Puede haber casos en los que el beneficio de una actividad empresarial sea mucho mayor que el impacto del posible riesgo. En este caso, está bien que una empresa simplemente acepte el riesgo. Pero se debe advertir a los usuarios sobre las consecuencias de aceptar el riesgo.
Microsoft usa esta estrategia cuando deja de mantener versiones antiguas de productos, como Windows XP.
Ventajas: casi no requiere recursos.
Contras: Obtienes todas las consecuencias negativas.
Bueno para: empresas establecidas en las que implementar nuevas funciones es más importante que dar soporte a las antiguas.
Usar cuando: una actividad no perjudica a la mayoría de los usuarios o cuando el beneficio de la actividad entregada para el usuario es mayor que el posible inconveniente.
Tenga en cuenta que ninguna de estas estrategias es una panacea. Cualquier otro tipo de riesgo puede acompañar al riesgo tecnológico e influir en el resultado de tu trabajo. Y en la mayoría de los casos, la estrategia de gestión de riesgos para un proyecto en particular será una combinación de las estrategias anteriores , teniendo en cuenta los aspectos especiales del negocio.
Cómo gestionar los riesgos utilizando una metodología ágil (ejemplo)
Así es como puede verse una estrategia de gestión de riesgos de desarrollo de software en Mind Studios.
Fase 1. Identificación del riesgo
Cuándo: durante la etapa de evaluación del proyecto
Durante esta fase, el director del proyecto reúne al equipo de desarrolladores y diseñadores para una sesión de lluvia de ideas, buscando todos los posibles riesgos y qué puede desencadenarlos.
Pasos necesarios:
- Recuerde los problemas que hemos tenido en proyectos anteriores; tratar de descubrir todas las incógnitas conocidas
- Definir las áreas donde es probable que ocurra cualquier tipo de riesgo en este proyecto en particular.
- Evaluar el impacto de cada factor que podamos enfrentar al desarrollar el producto.
Fase 2: Analizar y evaluar los riesgos
Cuándo: Inmediatamente después de la etapa de evaluación del proyecto.
En esta fase, los riesgos se identifican y luego se categorizan. Aquí, los gerentes de proyecto también analizan el posible impacto de un riesgo y la probabilidad de que ocurra. En esta fase, es bueno tener en cuenta la complejidad del proyecto, las cualidades de prueba y las dependencias entre los equipos de desarrollo.
El resultado de esta fase es una lista de consecuencias definidas para cada tipo de riesgo:
- Posibles pérdidas para el cliente
- Posibles problemas para la empresa
- Pérdidas de reputación
- Asuntos legales
Fase 3: Crear un plan de gestión de riesgos y aprobarlo con el cliente.
Cuándo: Justo antes del inicio del desarrollo.
Durante esta fase, los gerentes de proyecto formalizan las actividades de gestión de riesgos en planes. Por lo general, el plan de gestión de riesgos de un proyecto es una tabla con las siguientes columnas:
- Definición de riesgo
Definimos el problema que podría ocurrir y lo describimos en una frase corta. La definición debe entenderse claramente incluso de un vistazo, por lo que tendemos a describir el problema de la manera más breve posible: "falta de energía del servidor", "no se puede cargar el contenido del usuario", "demora en el lanzamiento de Play Store" y descripciones similares son aclarar y centrarse en el problema.
- Desencadenar
Describimos cómo podemos saber si el riesgo se ha materializado. ¿Qué nos dirá exactamente sobre el problema y cómo puede verse? Si el desencadenante puede provenir de diferentes fuentes, deberíamos nombrarlas todas. Está bien priorizar la lista de fuentes de activación por probabilidad o valor.
- Probabilidad (puntuación)
Definimos la posibilidad de que ocurra un riesgo. Según el número y la importancia de los posibles riesgos, sugerimos la puntuación máxima y mínima, por ejemplo, 100 y 1. Un riesgo más probable obtiene una puntuación más alta.
- Impacto (puntuación)
En esta columna, puntuamos la gravedad de cada tipo de riesgo.
- Valor (puntuación)
Definimos la importancia de un riesgo particular para el proyecto. Un número más alto significa una prioridad más alta. En Mind Studios, generalmente definimos el valor de un riesgo multiplicando sus puntuaciones de impacto y probabilidad. Pero puede definir este valor como desee en función de los requisitos y particularidades de su negocio.
- Estrategia principal
Nombramos la estrategia o enfoque principal que vamos a utilizar para gestionar el riesgo, por ejemplo, transferir, mitigar o aceptar.
- Estrategia alternativa (si está disponible)
En caso de que la estrategia principal no sea aceptable, nombramos una estrategia secundaria. Por ejemplo, si un riesgo no se puede transferir en este momento, podemos lanzar el proceso de mitigación. Recomendamos crear tantas estrategias para cada tipo de riesgo como sea posible.
- Plan de acción para la estrategia elegida
Esta es la parte más detallada de la estrategia, donde creamos una guía paso a paso para su implementación. Como resultado, deberíamos tener un plan claro de lo que vamos a hacer en caso de que ocurra todo tipo de riesgo. Numeramos los pasos, incluimos contactos de personas involucradas y responsables, y escribimos cada paso de la manera más clara y detallada posible.
Creamos planes de acción para todas las estrategias principales y alternativas que consideramos para nuestros proyectos.
A continuación, se muestra un ejemplo del plan de gestión de riesgos técnicos que utilizamos en Mind Studios:
[Hojas de cálculo de Google]
Fase 4: Monitorear los riesgos
Cuándo: en segundo plano desde el primer día; comprobar después de cada sprint de desarrollo
No hay garantía de que no vuelva a surgir un riesgo resuelto. Es por eso que el monitoreo de riesgos debe integrarse en la lista de actividades para proyectos de software. Los desencadenantes también se pueden identificar a partir de los comentarios de los usuarios y los informes de control de calidad. Incluya actividades de monitoreo de riesgos en cada sprint de desarrollo adicional.
Todas las actividades de gestión de riesgos deben acordarse con el cliente, especialmente cuando se subcontrata el desarrollo de software. Todos los costos, las probabilidades de materialización y los grados de gravedad deben ser lo más claros posible: el cliente debe saber por qué está pagando y quién está a cargo de cada tipo de riesgo. Encuentre un compromiso aceptable con las expectativas del cliente y el presupuesto del cliente .
Riesgos comerciales
La conversación sobre la gestión de riesgos no puede estar completa sin mencionar los riesgos comerciales. Es bueno cuando se ha enfrentado a los riesgos del proyecto como los mencionados anteriormente. Pero imagina estar en medio del desarrollo y descubrir que tu competidor lanzará un producto similar más rápido o con una característica excelente. Encontrarte en esta situación significa que te has olvidado de cuidar los riesgos de tu negocio, incluso si tampoco te ha ido bien con los riesgos de tu proyecto.
Un riesgo comercial es cualquier cosa ajena a su negocio que amenace los objetivos u objetivos de su negocio. Puede ser un cambio repentino de un competidor, un organismo regulador o en la economía, o cualquier otra cosa.
La gestión de los riesgos comerciales implica un montón de otros pasos y fases que merecen otro artículo. Pero aquí hay algunos consejos generales:
- Esté atento al mercado
Tener una idea de negocio brillante no garantiza que otra persona no tenga una idea similar. Realice análisis y estudios de mercado con regularidad para conocer el estado del mercado y vigilar a sus competidores potenciales y activos.
- Trabaje en la adecuación de su producto al mercado
Asegúrese de que su producto satisfaga la fuerte demanda del mercado. Si las nuevas condiciones del mercado afectan el desempeño de su negocio, debe reconsiderar la adecuación de su producto al mercado. Sea ágil no solo en el desarrollo de productos, sino también en el desarrollo empresarial. Mejore, innove y no dude en pivotar.
Mitigación de riesgos en el desarrollo de software: Conclusiones
En general, una gestión de riesgos adecuada le ayuda a concentrarse en trabajar en su producto. Con una gestión de riesgos adecuada, se centran más recursos en crear una mejor funcionalidad y productos de mayor calidad en lugar de superar las consecuencias de los riesgos.
Los desarrolladores que realizan la gestión de riesgos pueden trabajar más en lo que aman, y los propietarios de empresas que realizan la gestión de riesgos obtienen clientes más felices, una mejor reputación y más lugar para la creatividad.
¿Todavía tienes curiosidad por saber cómo gestionar los riesgos en tu negocio en particular? ¡Podemos ayudar!
Si le preocupan los riesgos de sus proyectos de software, los directores de proyectos de Mind Studios estarán encantados de compartir su experiencia. Ponerse en contacto.
Escrito por Tymur Solod y Alexander Vasyliev.