Todos os projetos de software enfrentam riscos. Um risco e um evento, que pode ou nao ocorrer e que causa algum tipo de perda. A relacao entre risco e teste de software e simples. Como, exceto em raras situacoes, nao e possivel testar exaustivamente um sistema de software, a analise de riscos revela problemas que podem causar a maior perda. Essas informacoes podem ser uteis para ajuda-lo a priorizar seu esforco de teste. Na coluna deste mes, apresento tecnicas praticas para identificar e analisar os riscos envolvidos em um projeto de software. Vamos comecar.Imagine uma situacao hipotetica em que voce esteja desenvolvendo um aplicativo ASP.NET baseado na Web de algum tipo. O processo geral de analise de riscos envolve a identificacao dos riscos, a estimativa da probabilidade de cada um, a determinacao da perda associada a eles e a combinacao de informacoes de possibilidade e de perda em um valor chamado exposicao de risco.Mas como identificar riscos? Como estimar perda e probabilidade de risco? E possivel executar analise de riscos ainda que a perda e a probabilidade de risco nao possam ser estimadas?Apesar dos diversos esforcos no sentido de formalizar e padronizar a terminologia da analise de riscos, na pratica, termos diferentes tendem a ser usados em diferentes areas problematicas. Usarei o termo "analise de riscos" para significar a computacao de exposicao de risco por meio da multiplicacao da possibilidade ou probabilidade de risco pela perda de risco, ou para indicar o processo geral de identificacao, analise e gerenciamento de risco em projetos de software.Embora a analise de riscos seja uma parte fundamental do desenvolvimento de software, minha experiencia mostra que ainda ha muitas tecnicas de analise de riscos desconhecidas do grande publico na comunidade de teste de software. Se voce pesquisar na Web, encontrara milhares de referencias a analise de riscos de software. Entretanto, a maioria dessas referencias trata a analise de riscos em um nivel muito alto, nao apresenta tecnicas praticas ou apresenta apenas uma tecnica especifica e nao explica como adapta-la a uma estrutura geral de analise de riscos. Apresentarei uma visao geral da analise de riscos, assim como tecnicas uteis que podem ser empregadas imediatamente no ambiente de desenvolvimento de software.Nas secoes desta coluna, descrevo dois meta-riscos que sao comuns a todos os projetos de software. Em seguida, apresento tres formas de identificar riscos especificos associados ao seu projeto de software e tres maneiras de analisar risco. Em particular, mostrarei uma interessante tecnica nova de analise de riscos chamada Exposicao de Projetos usando PERIL (Possibilidade e Impacto Classificados), que e especialmente util em ambientes de desenvolvimento de software. Eu concluo com uma breve discussao sobre gerenciamento de risco. Acredito que as tecnicas aqui apresentadas serao de grande valia para o seu kit de ferramentas de desenvolvimento, gerenciamento e teste de software.Meta-riscosDois tipos especiais de analises de riscos de projetos de software sao o que chamamos de analises de meta-riscos de custo e de tempo. O gerenciamento de projetos tradicional define um conceito que tem nomes diferentes como "a restricao tripla de gerenciamento de projetos" e "o triangulo de