Uma pesquisa realizada por um laboratório de cibersegurança indica que, só em 2018, o número de ataques cibernéticos praticamente dobrou no Brasil. Foram detectados mais de 120 milhões de links maliciosos apenas no primeiro semestre do ano. Portanto, fazer um gerenciamento de risco robusto e tratar as ameaças iminentes ainda no desenvolvimento de softwares é algo primordial.
Essa é uma realidade que, atualmente, ainda encontra certa resistência por parte dos programadores. Ainda que seja crescente a busca por um desenvolvimento ágil, é essencial classificar os possíveis riscos e determinar ações para que a displicência atual não seja razão para uma crise futura na empresa.
Quer entender como pode ser realizado o gerenciamento de risco no desenvolvimento de softwares? Continue a leitura deste post!
Gerenciamento de risco: entenda sua importância no desenvolvimento de softwares
Os perigos de uma atividade relacionada à tecnologia só acabam quando ela termina. De acordo com o Relatório de Riscos de 2018, os ataques cibernéticos são um dos principais motivos de contratempos para as empresas. Por isso, é latente a preocupação com os possíveis impactos que eles podem causar — até mesmo em escala global.
Para alguns desenvolvedores, o gerenciamento de risco é associado a metodologias antigas, como Waterfall (o modelo em cascata). No entanto, se os riscos não são tratados, provavelmente se transformam em um problema.
Esse, aliás, é um assunto que nunca acaba. As empresas que se preocupam com a segurança dos processos de desenvolvimento de softwares estão constantemente debatendo novas ameaças. Da mesma forma, avaliam aquelas que já existem e que, por isso, devem ser monitoradas.
O desenvolvedor muitas vezes não participa ativamente do gerenciamento de risco, mas é interessante que ele seja um personagem central nesse processo — uma vez que ele é capaz de enxergar perigos que outros profissionais como os coordenadores dos projetos e os product owners (PO) podem não perceber.
Além disso, esse deve ser um ponto central no desenvolvimento de softwares, assim como priorizar a análise das ameaças.
Saiba por que é preciso priorizar a gestão de risco
É ideal que o processo de gerenciamento de risco seja realizado antes mesmo do início das atividades de determinado desenvolvimento, mas é essencial que o cuidado siga até o fim de todas as etapas.
Muitos riscos são descobertos durante o desenvolvimento — e é fundamental incluí-los, monitorá-los e pensar em ações que possam trazer soluções.
Como fazer: gerenciamento de risco no desenvolvimento de softwares
Existem algumas formas de realizar a gestão de risco no desenvolvimento de softwares com metodologias ágeis, o Kanban sugere inclusive uma cadência específica para tratar este assunto denominada “Risk Review”.
Para que isso é feito? Na revisão de riscos, todos os riscos dos serviços que estão sendo desenvolvidos são classificados. A partir disso, as ações indicadas para tal cenário são definidas.
O método pode se basear na gestão de riscos tradicional, com foco na análise de probabilidade e impacto. Em todas as demandas do backlog (as requisições em aberto) — principalmente aquelas que estão próximas de iniciar o ciclo de desenvolvimento — pode-se refletir sobre o que há para ser feito e quais são os riscos dessa ação.
Probabilidade é a chance de um risco tornar-se um problema depois de identificado. Na análise inicial essa probabilidade é classificada entre 1 e 5, sendo 1 uma probabilidade baixa do risco virar problema e 5 uma probabilidade alta.
Impacto é a consequência do que pode acontecer se um risco se materializar, e também é classificada entre os números 1 e 5.
Depois da análise de probabilidade e impacto, é multiplicado um número pelo outro e os mais altos têm tratamento priorizado.
Também é importante compreender que os riscos no desenvolvimento podem ser classificados de três maneiras principais:
- riscos tecnológicos;
- operacionais;
- financeiros.
Como esse risco impacta a rotina dos desenvolvedores e dos envolvidos em um projeto? Falaremos sobre isso a seguir.
Como aplicar a gestão de riscos para desenvolvedores
As etapas do gerenciamento de risco são divididas em alguns momentos. São eles:
- identificação do risco;
- análise da ameaça;
- ação com relação ao problema;
- monitoramento.
Ainda que para os desenvolvedores os riscos possam ser controlados, eles não podem ser ignorados. A aquisição de equipamentos, por exemplo, pode ser necessária para colocar determinado sistema no ar.
Um exemplo é quando os valores para compra estão atrelados ao dólar. É possível monitorar o mercado, observar tendências e até mesmo antecipar ou atrasar a aquisição dos equipamentos — por meio de uma ferramenta de gerenciamento de riscos.
Por isso, é essencial avaliar os riscos em um trabalho conjunto. Quando é realizado o desenvolvimento de um projeto para a área financeira, por exemplo, devem ser analisados alguns pontos.
- Há algum risco que possa afetar o dia a dia do cliente?
- Possíveis ameaças podem gerar problemas de ordem financeira para a empresa?
- Há tecnologia disponível para a concretização do projeto?
Esses são alguns exemplos de tipos de riscos a serem analisados no desenvolvimento de softwares.
Como o desenvolvedor pode cuidar das muitas ameaças? Entenda o gerenciamento de risco a partir das melhores práticas e tendências do mercado listadas a seguir.
Melhores práticas: vantagens e benefícios da gestão de risco para o desenvolvedor
Como falado anteriormente, a classificação auxilia na priorização dos riscos. É assim que pode-se perceber o que deve ser tratado primeiro. Além de priorizar, é necessário avaliar o que deve ser feito em cima dos riscos encontrados — essas são boas práticas.
As ações podem ser classificadas de 4 maneiras, assim como na gestão tradicional de riscos:
- mitigação;
- transferência;
- eliminação;
- aceitação.
Mitigação
Uma empresa que está desenvolvendo um software e deve contar com um fornecedor pode se resguardar ao buscar um parceiro estratégico que tenha uma disponibilidade Service Level Agreement (SLA) de 99,9%. Dessa forma, a probabilidade do risco é reduzida, mas não o impacto. Por isso, trata-se de uma mitigação.
Outra forma de mitigar seria ter um segundo fornecedor alinhado para contingência. Ou seja, se um serviço utilizado alinhado a um software ficar fora do ar, automaticamente há uma segunda opção.
Depois de definida a ação, a probabilidade é reclassificada, assim como o impacto de algo acontecer. Por fim, assim é possível saber se o risco, de fato, diminuiu.
Transferência
A transferência é uma gestão mais complicada. Quando há um risco financeiro por algum motivo, pode-se adquirir um seguro contra isso, por exemplo. Dessa forma, acontece uma transferência de risco, pois ele deixa de ser da empresa e passa a ser da seguradora — que pode vir a arcar com os possíveis prejuízos.
Eliminação
A eliminação é quando, depois de um tempo analisando o risco, é decidido por eliminá-lo de alguma forma que não prejudique o projeto, isto é, ele não tem mais probabilidade de acontecer ou seu impacto caso ocorra é zero.
Aceitação
Por último, existe a aceitação, que é quando não há o que fazer. É necessário aceitar o risco, conviver com ele e pensar em um plano de contingência. Isso mostra a compreensão de que o risco pode se tornar um problema.
Isso acontece, essencialmente, quando a questão foge do nível de atuação dos envolvidos e está atrelada a riscos de mercado, econômicos ou sociais.
É comum que o desenvolvimento de risco seja ignorado e que, por isso, vire um problema apenas depois que algo de grave aconteça. No entanto, é essencial que a equipe responsável pelo projeto sempre tenha em mente que um risco que se materializa vira um problema a ser solucionado por um plano de contingência — algo também a se estruturar. Isso é positivo para a fidelização de clientes. O gerenciamento de risco auxilia na construção de projetos mais estruturados e centrados em bons resultados.
O que achou do nosso conteúdo? Curta a nossa página no Facebook e confira mais dicas exclusivas para desenvolvedores de softwares!