Riscos e a disponibilidade de informação

Tem um bom tempo que quero escrever um pouco sobre riscos, e em particular riscos associados a projetos de software. O conceito de risco é muito amplo, enfrentamos riscos o tempo todo o dia todo, em qualquer atividade. Na rua, em casa, na estrada, na ginástica, na corrida, no trabalho, dormindo. A maioria dos riscos a gente nem percebe, já estão incorporados ao nosso diário e já assumimos posturas para diminui-los ou até eliminá-los. Como por exemplo, ao atravessar uma rua em um local movimentado, a atitude de todos (quer dizer, de alguns…) que atravessam é de ter alguma garantia de que a travessia vai ser sem perigo de desastres. Quem tem um pouco mais de preocupação com o risco da travessia, até espera a primeira fila de carros parar no sinal fechado, para evitar o caso de algum apressadinho ainda querer passar no sinal vermelho. Mas, sinceramente, se formos pensar em todos os riscos que corremos, a gente nem sairia de casa, e mesmo assim estariamos correndo os riscos de dentro de casa.

O que me fascina nesse tema, é que a medida dos riscos é diretamente atrelada à quantidade de informação disponivel para tomada de decisão. Quando esperamos a primeira fila de carros parar no sinal vermelho para só então atravessarmos a rua,  estamos na verdade aumentando a quantidade de informação disponivel para tomar uma decisão mais segura. A mesma travessia da rua antes de a primeira fila estar completamente parada envolve um risco muito maior de acontecer algum problema, concordam? E fazer isso sem o sinal estar fechado para os carros, sinceramente é uma grande loucura e um enorme desapego à própria vida.  Por outro lado, não adianta nada em termos de quantidade de informação, esperarmos parar também a segunda fila de carros, para só então atravessarmos a rua. E pensem nas demais situações da vida real, mesmo aquelas do lado afetivo que não deveriam ser dirigidos por curvas da economia.  Querendo ou não, estamos sempre tentando aumentar nosso nivel de informação para diminuir riscos. Nas decisões que envolvem a economia, como por exemplo no investimento em ações, é a mesma coisa. Arriscamos mais quando temos menos informação, e os ganhos tendem a ser maiores quando o risco é maior, as perdas idem, é a teoria dos jogos em funcionamento. Lembro-me demais do no pain, no gain que gosto de repetir em minhas aulas de engenharia de software.

Riscos e informação

Procurei uma curva que mostrasse essa relação de dependência entre o risco e a quantidade e qualidade de informação disponivel. Nos bons livros de gerência de projetos há vários exemplos, as que estão ai do lado são excelentes para ilustrar esta postagem. Referem-se ao risco e incerteza nas diversas fases de andamento de um projeto. Obviamente, no inicio do projeto temos menos informação disponivel, as incertezas são muito maiores. Na medida em que caminhamos para o final do projeto e o mesmo vai sendo executado (as curvas nas quatro figuras ao lado representam o andamento do projeto), ganhamos informação, temos mais segurança para tomar decisões, e a incerteza vai diminuindo. Vejam por exemplo o cone da incerteza para estimativas em projetos de software, apresentado por Barry Boehm em seu livro Software Engineering Economics. Segundo esse cone da incerteza,  o erro de estimativa no inicio do projeto tende a ser quatro vezes maior ou quatro vezes menor que o valor real, e esse erro vai diminuindo na medida em que avançamos nas fases do projeto, rumo ao vértice do cone. Em outras palavras: a decisão mais certeira seria tomada… depois que o projeto terminar. Ai sim, fariamos um plano de projeto muito bom, ia dar tudo certo… e é ai onde entram os profissionais experientes do mercado. Custam caro, mas usando a experiência que têm, podem evitar enormes dores de cabeça nos projetos, avaliando riscos e preparando os planos para enfrentar os problemas caso os riscos se materializem.

Essa visão do risco explica também porque os métodos iterativos-incrementais são os preferidos para projetos de software que envolvam  riscos maiores. A lógica das iterações é simples, pode ser explicada pela figura acima, ou então pelo cone de incerteza. Cada iteração permite avançar com o projeto, e obter mais informação sobre o mesmo, principalmente sobre os requisitos. A habilidade  dos projetistas de software e fornecedores de requisitos reside em escolher quais funcionalidades vão ser entregues em cada iteração. A lógica do RUP (Rational Unified Process) e dos métodos ágeis se baseia em diminuir os principais riscos associados com os projetos de médio porte para cima, pelo uso das iterações bem planejadas.

Com um pouco de esforço, podemos aplicar as curvas acima ao nosso diário, pois lidamos com riscos e incertezas o tempo todo. A maioria das decisões  diárias que tomamos são baseadas em pouca informação disponivel, confiamos na nossa capacidade de avaliar situações baseado na nossa experiência (o famoso e popular golpe de vista). Mas, o que é a experiência senão o acúmulo de informação valiosa ao longo da vida? Terminando com uma frase  do nosso educador Paulo Freire: A vida na sua totalidade me ensinou como grande lição que é impossivel assumi-la sem risco.

(a figura acima é originada do livro ARCHIBALD, R. D. Managing high technology programs and projects. New York: John Willey, 1976. 278 p., e citada como Figura 2 no artigo que está aqui)

(este artigo foi escrito por zeluisbraga, e postado no meu blog zeluisbraga . wordpress . com) (this post is authored by zeluisbraga, published on zeluisbraga . wordpress . com)

Anúncios

Consultor Independente, Treinamento Empresarial, Gerência de Projetos, Engenharia de Requisitos de Software, Inovação. Professor Titular Aposentado, Departamento de Informática, Universidade Federal de Viçosa, Minas Gerais, Brasil. Doutor em Informática, PUC-Rio, 1990. Pós-Doutoramento, University of Florida, 1998-1999

Marcado com: ,
Publicado em Economia, Engenharia de Software, Tecnologia
Um comentário em “Riscos e a disponibilidade de informação
  1. Alex disse:

    Muito bom, Zé!

    Riscos são sempre um ponto de “mistério” em projetos de software. Isto porque as empresas comumente consideram que os riscos são os mesmos, ou simplesmente desconsideram os riscos!

    Entender e estruturar um nível mínimo de conhecimento sobres os riscos faz diferença… um gerenciamento dos riscos seria ideal, mas pelo menos conhecê-los já daria um “up” na qualidade do projeto de software.

    Mais do que isto, você já bem disse… bom artigo, parabéns!

    Abç

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: