Por que e como gerenciar riscos no desenvolvimento de software

Publicados: 2021-10-05

Neste artigo, discutimos abordagens de gerenciamento de risco no processo de desenvolvimento de software. Também prestamos atenção à importância da gestão de riscos do ponto de vista do negócio e do desenvolvimento e até damos um exemplo de plano de gestão de riscos.

Em 12 de novembro de 2019, a Disney lançou o Disney Plus, um serviço de streaming semelhante ao da Netflix com conteúdo original. Milhares de usuários estavam dispostos a pagar US $ 7 por mês ou mais para aproveitar o conteúdo da Pixar, Marvel, Star Wars e muitas outras franquias.

Os espectadores ansiosos ficaram desapontados ao assistir às telas de interrupção por dias, em vez do conteúdo pelo qual haviam pago. As reclamações abrangem toda a gama, desde dificuldades de login até incapacidade de transmitir, falhas de aplicativos e programas e filmes que desaparecem da biblioteca.

A Disney atribuiu esses problemas à demanda excedendo suas "altas expectativas".

Este é um exemplo clássico de gerenciamento de risco técnico deficiente no desenvolvimento de software .
A Disney poderia ter evitado essas interrupções? sim.
Você pode evitar problemas semelhantes? Também sim.
Neste artigo, vamos mergulhar no gerenciamento e mitigação de riscos no desenvolvimento de software.

A importância da gestão de risco

A importância da gestão de risco

Cada negócio é único e nem todos os riscos podem ser totalmente previstos. Mas existem algumas abordagens que ajudam você a identificar gargalos, calcular a possibilidade de ocorrência de riscos e prever o impacto negativo se ocorrerem.

A gestão de riscos é um conjunto complexo de atividades que as empresas podem realizar para evitar ou atenuar os efeitos dos riscos.

O objetivo do gerenciamento de riscos é saber o que pode dar errado, por que pode dar errado, qual seria o impacto se isso acontecesse e como corrigi-lo. Prevenido vale por dois.

A vantagem da gestão de risco adequada é que ela ajuda a empresa a sofrer menos, mesmo quando um risco se materializa.

A gestão de riscos pode trazer as seguintes vantagens:

  • Economia de custos ao cortar despesas em emergências previsíveis e evitáveis
  • A capacidade de trabalhar mais rápido, permitindo que as equipes de desenvolvimento se concentrem no desenvolvimento, não na correção de problemas imprevisíveis
  • Gastos mais inteligentes por não precisar atrair financiamento adicional para resolver problemas imprevistos
  • Uma reputação melhor garantindo aos clientes que você tem tudo sob controle, mesmo em uma emergência

Tipos de riscos

Um empresário inexperiente espera que nada de ruim aconteça ao seu negócio. Um empresário experiente sabe que algo ruim vai acontecer e se prepara com antecedência.

Então, o que pode dar errado? Basicamente, qualquer coisa. Várias abordagens de gerenciamento de risco cobrem vários tipos de riscos. As categorias mais comuns de riscos para empresas são:

  • Riscos humanos - A doença repentina, gravidez, prisão, morte ou mudança de carreira de um membro da equipe pode levar a inúmeras consequências, desde atrasos no desempenho até delegar funcionalidade a outros membros da equipe.

  • Riscos de localização ou geográficos - cada local tem seus problemas específicos, como clima, situação política, fuso horário e tradições de trabalho, que podem afetar o fluxo de trabalho.

  • Riscos estratégicos - Coisas como problemas de planejamento, escolha da estratégia errada e má gestão não podem ser previstos desde o primeiro dia, mas devem ser definitivamente considerados como um fator de risco importante.

  • Riscos operacionais ou de gerenciamento - estão muito próximos dos riscos estratégicos, mas são mais sobre a execução: problemas de implementação, dependências de trabalho incorretas, gerenciamento deficiente, tomada de decisão lenta, priorização incorreta e muitos outros problemas operacionais podem atrasar o desenvolvimento de negócios ou custar uma fortuna para superar.

  • Riscos legais - é bom estudar as leis e regulamentações de regiões específicas, pelo menos, para descobrir se você pode fazer negócios lá. Além disso, as leis tendem a mudar, o que muitas vezes pode levar a alterações fiscais e questões de formalização. Os riscos legais também incluem mudanças nas regras e regulamentos de plataformas de negócios como Amazon, Apple App Store e Google Play.

  • Riscos técnicos - uma tecnologia escolhida pode parecer perfeita no papel, mas se comportar de maneira diferente em ação. Atualizações constantes, mudanças nos ambientes operacionais, problemas de manutenção e muitos outros aspectos técnicos podem ter um grande efeito nos negócios.

Dependendo do tipo de negócio, muitos outros fatores de risco podem aparecer e os fatores listados acima podem mudar. Mas conhecer esses riscos o ajuda a escolher uma estratégia de gerenciamento de risco adequada.

Estratégias de gestão de risco

As abordagens de gerenciamento de risco diferem de acordo com vários fatores, mas aqui estão algumas das estratégias de gerenciamento de risco mais comuns:

Prevenção de riscos

Esta é uma estratégia radical em que uma empresa se recusa a assumir riscos e se recusa a realizar uma atividade.

Existem tipos de riscos em que o preço de um erro é muito alto. Por exemplo, se você conhece os limites das capacidades técnicas de uma solução, é aconselhável não sobrecarregar a solução com um projeto de alta carga. Nesse caso, o custo da falha pode ser maior do que a receita possível.

Resumindo, às vezes é normal não se envolver em algumas atividades de negócios para não falhar.

Prós: Rápido de implementar - você apenas recusa ou aceita a atividade.

Contras: deixe a receita potencial na mesa.

Bom para: Negócios com vários ramos e fontes de receita.

Use quando: O prejuízo do possível risco for maior do que o possível lucro da atividade.

Mitigação de risco

Esta é uma estratégia para tornar as consequências negativas menos graves, em vez de evitá-las por completo.

Ao operar um negócio que é mais complicado do que vender limonada em seu jardim, você pode enfrentar problemas que não pode evitar. Nesse caso, recomenda-se identificar e mitigar as consequências desses riscos.

Isso funciona para riscos específicos conhecidos, especialmente em projetos de software. Avise seus clientes sobre os próximos problemas ou ofereça uma solução temporária. Os clientes podem não sair satisfeitos, mas pelo menos sentirão o cuidado que você tem por eles . Por exemplo, o McDonald's dá um cupom de sorvete grátis se você esperar mais de 90 segundos por um pedido.

Prós: você não desperdiça seus recursos para eliminar o risco. Em vez disso, você trabalha com suas consequências, tentando torná-las menos graves, o que geralmente é muito mais fácil de fazer.

Contras: você e seu cliente ainda precisam lidar com as consequências negativas do risco.

Bom para: empresas com clientes fiéis, empresas que são sensíveis ao momento, prestadores de serviços.

Use quando: O risco não pode ser evitado completamente, mas o serviço ainda deve ser entregue no prazo; situações de emergência.

Transferência de risco

Com essa estratégia, você paga outra pessoa para lidar com as consequências negativas.
Se a sua empresa não consegue lidar com um determinado risco, peça ajuda com ele. Essa pode ser uma abordagem muito cara para o gerenciamento de riscos no desenvolvimento de software, mas os resultados podem atender às expectativas do cliente e manter o seu negócio na estrada. Também é bom no contexto de libertar sua equipe do trabalho sujo que eles não querem fazer, levando a uma melhor concentração e resultando em melhor qualidade.

Prós: Simples e rápido de executar.

Contras: pode custar uma fortuna e você terá menos controle sobre parte do seu negócio.

Bom para: Negócios com alta carga em alguns de seus componentes ou para implementar recursos para os quais você não tem muito conhecimento.

Use quando: Uma atividade deve ser bem executada e rápida, sem tempo para adquirir sua própria experiência ou treinar seus próprios profissionais.

Aceitação de risco

Como o nome sugere, com essa estratégia você simplesmente aceita todas as consequências negativas de um risco.

Pode haver casos em que o lucro de uma atividade empresarial é muito maior do que o impacto do risco possível. Nesse caso, é normal que uma empresa simplesmente aceite o risco. Mas os usuários devem ser avisados ​​sobre as consequências de aceitar o risco.

A Microsoft usa essa estratégia quando para de manter versões antigas de produtos, como o Windows XP.

Prós: quase não requer recursos.

Contras: você obtém todas as consequências negativas.

Bom para: empresas estabelecidas onde implementar novos recursos é mais importante do que oferecer suporte aos antigos.

Use quando: Uma atividade não causar danos à maioria dos usuários ou quando o lucro da atividade entregue ao usuário for maior do que a possível inconveniência.

Observe que nenhuma dessas estratégias é uma panacéia. Qualquer outro tipo de risco pode acompanhar o risco tecnológico e influenciar o resultado do seu trabalho. E na maioria dos casos, a estratégia de gerenciamento de risco para um projeto específico será uma mistura das estratégias acima , levando em consideração os aspectos especiais do negócio.

Como gerenciar riscos usando uma metodologia ágil (exemplo)

Gerenciar riscos usando uma metodologia ágil

É assim que uma estratégia de gerenciamento de risco de desenvolvimento de software pode parecer para a Mind Studios.

Fase 1. Identificando o risco

Quando: Durante a fase de avaliação do projeto

Durante esta fase, o gerente de projetos reúne a equipe de desenvolvedores e designers para uma sessão de brainstorming, em busca de todos os riscos possíveis e o que pode desencadeá-los.

Passos necessários:

  • Lembre-se dos problemas que tivemos em projetos anteriores; tente descobrir todos os desconhecidos conhecidos
  • Defina as áreas onde qualquer tipo de risco pode ocorrer neste projeto específico
  • Avalie o impacto de cada fator que podemos enfrentar durante o desenvolvimento do produto

Fase 2: Analisar e avaliar os riscos

Quando: Logo após a fase de avaliação do projeto

Nesta fase, os riscos são identificados e, em seguida, categorizados. Aqui, os gerentes de projeto também analisam o possível impacto de um risco e a probabilidade de sua ocorrência. Nesta fase, é bom levar em consideração a complexidade do projeto, as qualidades de teste e as dependências entre as equipes de desenvolvimento.

O resultado desta fase é uma lista de consequências definidas para cada tipo de risco:

  • Possíveis perdas para o cliente
  • Possíveis problemas para o negócio
  • Perdas de reputação
  • Questões legais

Fase 3: Criar um plano de gerenciamento de risco e aprová-lo com o cliente

Quando: logo antes do início do desenvolvimento

Durante esta fase, os gerentes de projeto formalizam as atividades de gerenciamento de risco em planos. Normalmente, o plano de gerenciamento de risco de um projeto é uma tabela com as seguintes colunas:

  • Definição de risco

Definimos o problema que pode ocorrer e os descrevemos em uma frase curta. A definição deve ser entendida com clareza, mesmo à primeira vista, por isso tendemos a descrever o problema da maneira mais curta possível: "falta de energia do servidor", "não é possível fazer upload do conteúdo do usuário", "atraso no lançamento da Play Store" e descrições semelhantes são claro e foco no problema.

  • Desencadear

Descrevemos como podemos saber se o risco se materializou. O que exatamente nos dirá sobre o problema e como ele pode ser? Se o gatilho puder vir de fontes diferentes, devemos nomear todos eles. Não há problema em priorizar a lista de fontes de gatilho por probabilidade ou valor.

  • Probabilidade (pontuação)

Definimos a possibilidade de ocorrência de um risco. Dependendo do número e da importância dos riscos possíveis, sugerimos a pontuação máxima e mínima - por exemplo, 100 e 1. Um risco mais provável obtém uma pontuação mais alta.

  • Impacto (pontuação)

Nesta coluna, pontuamos a gravidade de cada tipo de risco.

  • Valor (pontuação)

Definimos o quão significativo é um risco específico para o projeto. Um número mais alto significa uma prioridade mais alta. Na Mind Studios, geralmente definimos o valor de um risco multiplicando suas pontuações de impacto e probabilidade. Mas você é livre para definir esse valor como desejar com base nos requisitos e particularidades do seu negócio.

  • Estratégia principal

Nomeamos a estratégia ou abordagem principal que usaremos para gerenciar o risco - por exemplo, transferir, mitigar ou aceitar.

  • Estratégia alternativa (se disponível)

Caso a estratégia principal não seja aceitável, nomeamos uma estratégia secundária. Por exemplo, se um risco não pode ser transferido no momento, podemos iniciar o processo de mitigação. Recomendamos a criação de tantas estratégias para cada tipo de risco quanto possível.

  • Plano de ação para a estratégia escolhida

Esta é a parte mais detalhada da estratégia, onde elaboramos um guia passo a passo para sua implementação. Como resultado, devemos ter um plano claro do que vamos fazer no caso de ocorrer todo tipo de risco. Numeramos as etapas, incluímos os contatos das pessoas envolvidas e responsáveis ​​e anotamos cada etapa da maneira mais clara e detalhada possível.

Criamos planos de ação para todas as estratégias principais e alternativas que consideramos para nossos projetos.

Aqui está um exemplo do plano de gerenciamento de risco técnico que usamos na Mind Studios:

Exemplo de plano de gerenciamento de risco

[Planilhas Google]

Fase 4: Monitorar os riscos

Quando: Em segundo plano desde o primeiro dia; verifique após cada sprint de desenvolvimento

Não há garantia de que um risco resolvido não surgirá novamente. É por isso que o monitoramento de risco deve ser integrado à lista de atividades para projetos de software. Os gatilhos também podem ser identificados a partir de comentários do usuário e relatórios de controle de qualidade. Incluir atividades de monitoramento de risco em cada sprint de desenvolvimento posterior.

Todas as atividades de gerenciamento de risco devem ser acordadas com o cliente, principalmente na terceirização do desenvolvimento de software. Todos os custos, probabilidades de materialização e graus de severidade devem ser os mais claros possíveis - o cliente deve saber o que está pagando e quem está encarregado de cada tipo de risco. Encontre um compromisso aceitável com as expectativas e orçamento do cliente .

Riscos de negócios

Riscos de negócios

A conversa sobre gerenciamento de risco não pode ser completa sem mencionar os riscos do negócio. É bom quando você lida com riscos do projeto como os mencionados acima. Mas imagine estar no meio do desenvolvimento e descobrir que seu concorrente vai lançar um produto semelhante mais rápido ou com um recurso matador. Encontrar-se nesta situação significa que você se esqueceu de cuidar dos riscos do seu negócio, mesmo que também não esteja se saindo bem com os riscos do projeto ?.

Um risco comercial é qualquer coisa fora do seu negócio que ameace os objetivos ou metas do seu negócio. Pode ser uma mudança repentina de um concorrente, de um órgão regulador ou da economia - ou qualquer outra coisa.

O gerenciamento de riscos de negócios envolve uma série de outras etapas e fases que valem mais um artigo. Mas aqui estão algumas dicas gerais:

  1. Fique de olho no mercado

Ter uma ideia de negócio brilhante não garante que outra pessoa não tenha uma ideia semelhante. Faça pesquisas e análises de mercado regulares para saber o estado do mercado e ficar de olho em seus concorrentes potenciais e ativos.

  1. Trabalhe na adequação do seu produto ao mercado

Certifique-se de que seu produto irá satisfazer a forte demanda do mercado. Se as novas condições de mercado afetam o desempenho de sua empresa, você deve reconsiderar a adequação do produto ao mercado. Seja ágil não apenas no desenvolvimento de produtos, mas também no desenvolvimento de negócios. Melhore, inove e não hesite em girar.

Mitigação de risco no desenvolvimento de software: Conclusões

Em geral, o gerenciamento de riscos adequado ajuda você a se concentrar no trabalho em seu produto. Com o gerenciamento de risco adequado, mais recursos são focados na criação de melhores funcionalidades e produtos de maior qualidade, em vez de superar as consequências dos riscos.

Os desenvolvedores que realizam o gerenciamento de riscos podem trabalhar mais naquilo que amam, e os proprietários de negócios que realizam o gerenciamento de riscos obtêm clientes mais felizes, uma reputação melhor e mais espaço para a criatividade.

Ainda está curioso sobre como gerenciar riscos em seu negócio específico? Nós podemos ajudar!

Se você está preocupado com os riscos em seus projetos de software, os gerentes de projeto da Mind Studios ficarão felizes em compartilhar sua experiência! Entrar em contato.

Escrito por Tymur Solod e Alexander Vasyliev.