Engenharia de Software II Aula 24 http://www.ic.uff.br/~bianca/engsoft2/ Aula 24-14/07/2006 1
Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software Métricas para software Gestão de projetos de software Conceitos (Cap. 21) Métricas (Cap. 22 Seções 22.1 e 22.2) Estimativas (Cap. 23 Seções 23.1 a 23.7) Cronogramação (Cap. 24) Gestão de risco (Cap. 25) Gestão de qualidade Gestão de modificações Reengenharia e engenharia reversa Aula 24-14/07/2006 2
Gestão de Risco Um risco é um problema em potencial. Incerteza: Pode ou não ocorrer. Perda: Se ele ocorre conseqüências indesejadas ocorrerão. Exemplos: Atrasos, custos elevados, inadequação do produto ao cliente, mau desempenho. A gestão de risco involve a identificação de riscos, a avaliação da probabilidade de ocorrência, a estimativa do impacto e o estabelecimento de um plano de contingência. Aula 24-14/07/2006 3
Estratégias Proativas vs. Reativas Estratégia reativa Também conhecida como apagar o fogo. São reservados recursos para lidar com os riscos quando se tornam problemas. Porém, nada é feito enquanto o problema não se torna real. Estratégia proativa Gestão de riscos começa antes do trabalho técnico ser iniciado. Riscos são identificados, suas probabilidades e impactos são avaliados e eles são classificados por importância. A equipe de software estabelece um plano para administrar os riscos. O objetivo principal é evitar riscos. Mas também é criado um plano de contingência. Aula 24-14/07/2006 4
Tipos de Risco Existem três tipos de riscos de software principais: Riscos de Projeto Riscos Técnicos Riscos do Negócio É importante observar que a categorização simples nem sempre funciona. Há riscos que são simplesmente imprevisíveis. Aula 24-14/07/2006 5
Riscos de Projeto Ameaçam o plano do projeto. Quando ocorrem, é provável que o cronograma do projeto se atrase e que os custos aumentem. Identificam problemas em potencial e possíveis impactos dos seguintes itens: Orçamento Cronograma Pessoal (quantidade e organização) Recursos Interessados Requisitos Aula 24-14/07/2006 6
Riscos Técnicos Ameaçam a qualidade do software. Quando ocorrem, a implementação pode tornarse difícil ou impossível. Identificam problemas em potencial e possíveis impactos dos seguintes itens: Projeto Implementação Interface Verificação Manutenção Aula 24-14/07/2006 7
Riscos do Negócio Ameaçam a viabilidade do software a ser construído. Freqüentemente comprometem o projeto ou o produto. Cinco principais riscos de negócio: Risco de mercado Construir um produto que ninguém quer usar. Risco estratégico Construir um produto que não se encaixa na estratégia geral da empresa. Risco de vendas Construir um produto que a equipe de vendas não sabe vender. Risco gerencial Perda de apoio da gerência superior por causa de modificação de enfoque ou de pessoal. Risco de orçamento Perda de comprometimento orçamentário ou de pessoa. Aula 24-14/07/2006 8
Outra Categorização de Riscos Riscos conhecidos Podem ser descobertos após uma avaliação cuidadosa do plano de projeto e do ambiente técnico e comercial. Riscos previsíveis São extrapolados de experiências de projetos anteriores. Riscos imprevisíveis São extremamente difíceis de identificar previamente. Aula 24-14/07/2006 9
Identificação de Riscos É uma tentativa sistemática de especificar os riscos conhecidos e previsíveis. Considera tanto os riscos genéricos como os riscos específicos do produto. Riscos específicos geralmente são os mais problemáticos. Um método para a identificação é a criação de uma checklist de itens de risco. Aula 24-14/07/2006 10
Exemplo de Estrutura de Checklist Lista riscos associados com as seguintes características: Tamanho do produto Impacto no negócio Características do cliente Definição do processo Ambiente de desenvolvimento Tecnologia para a construção Tamanho e experiência da equipe Aula 24-14/07/2006 11
Avaliação do Risco Global de um Projeto Segundo gerentes de software experientes, estas questões são úteis para avaliar o risco global: 1. A alta administração do software e do cliente empenhou-se formalmente em apoiar o projeto? 2. Os usuários finais estão entusiasmados? 3. Os requisitos estão plenamente entendidos? 4. Os clientes envolveram-se na definição dos requisitos? 5. O escopo do projeto é estável? 6. Os usuários finais tem espectattivas realísticas? 7. A equipe tem as aptidões adequadas? 8. Os requisitos são estáveis? 9. A equipe tem experiência com a tecnologia? 10. A quantidade de pessoal é adequada? 11. Todos os membros da equipe do cliente/usuário concordam em relação à importância do projeto? Aula 24-14/07/2006 12
Previsão de Risco Também chamada de estimativa de risco. O planejador do projeto, junto com outros gerentes e a equipe desenvolve quatro atividades de previsão de risco: 1. Estabelece uma escala que reflete a probabilidade percebida de um risco. 2. Delineia as conseqüências do risco. 3. Estima o impacto do risco no projeto e no produto. 4. Anota a precisão da previsão de risco. Aula 24-14/07/2006 13
Impacto de um Fator de Risco O impacto de um fator de risco pode ser categorizado como: Catastrófico Crítico Marginal Negligível de acordo com a conseqüência do risco em relação ao cronograma, custo, suporte e desempenho. Aula 24-14/07/2006 14
Desenvolvimento de uma Tabela de Risco A tabela de risco é uma planilha que lista os riscos identificados. A primeira coluna identifica o risco. A segunda coluna indica o tipo de risco. A terceira coluna indica a probabilidade do risco. A quarta coluna indica o impacto de cada risco. A quinta coluna contém um ponteiro para um plano. A tabela é ordenada por probabilidade e por impacto. Riscos com alta probabilidade e alto impacto vão para o alto da tabela. Aula 24-14/07/2006 15
Exemplo: Tabela de Risco Riscos A estimativa de tamanho pode ser baixa Número de usuários maior que o planejado Menos reuso que o planejado Usuários resistem ao sistema Prazo de entrega apertado Financiamento perdido Cliente modificará requisitos Tecnologia não satisfará às expectativas Falta de treinamento Pessoal inexperiente Rotatividade alta de pessoal Categoria Probabilidade Impacto Tamanho do Produto 60% 2 Tamanho do Produto 30% 3 Tamanho do Produto 70% 2 Impacto do Negócio 40% 3 Impacto do Negócio 50% 2 Características do cliente 40% 1 Tamanho do produto 80% 2 Tecnologia a ser usada 30% 1 Ambiente de desenvolvimento 80% 3 Experiência da equipe 30% 2 Experiência da equipe 60% 2 Aula 24-14/07/2006 16
Tabela de Risco O gerente examina a tabela de risco e estabelece uma linha de corte. Apenas riscos que ficam acima da linha receberão atenção subseqüente. É preciso priorizar porque seria impossível monitorar e controlar todos os riscos. A probabilidade do risco pode ser determinada fazendose estimativas individuais para depois chegar num consenso. A tabela deve ser revista e atualizada ao longo do projeto. Novas circunstâncias podem causar modificações na probabilidade e no impacto dos riscos. Novos riscos podem surgir e alguns podem desaparecer. Aula 24-14/07/2006 17
Avaliação do Impacto do Risco Três fatores afetam o impacto de um risco: Sua natureza Tipos de problemas que surgem. Ex.: Incompatibilidade com o hardware do cliente pode atrasar o início dos testes. Seu escopo Combina a severidade com sua distribuição geral. Quanto do projeto será afetado ou quantos clientes serão prejudicados? Sua época Quando ou por quanto tempo seu impacto será sentido? Aula 24-14/07/2006 18
Exposição ao Risco Se custos são associados com cada risco, uma métrica de exposição ao risco pode ser calculada: RE = P C onde P é a probabilidade de ocorrência do risco e C é o custo para o projeto caso o risco ocorra. Essa métrica determina o custo esperado do risco. A soma das RE pode ser usada para ajustar a estimativa final de custo de um projeto. Também pode ser usada para prever o aumento provável de recursos depessoal. Aula 24-14/07/2006 19
Refinamento de Risco À medida que o projeto prossegue, é possível refinar um risco em um conjunto de riscos mais detalhados. Cada um deles será mais fácil de atenuar, monitorar e administrar. Um modo de fazer isso, é representar o risco no formato CTC (condição-transiçãoconseqüência). Considerando que <condição> então há a preocupação de que <conseqüência>. Cada condição geral pode ser refinada em subcondições. Aula 24-14/07/2006 20
Atenuação, Monitoração e Gestão de Risco Uma estratégia efetiva para lidar com o risco deve incluir: Atenuação Tentar evitar ou atenuar o risco. Monitoração Coletar informação para saber quando um risco torna-se real. Gerência de risco e planejamento de contingência Ações que devem ser tomadas quando o risco torna-se real. Essa estratégia é chamada de RMMM (risk mitigation, monitoring and management). Aula 24-14/07/2006 21
Exemplo A probabilidade de alta rotatividade da equipe é estimada como sendo 70% e o seu impacto é projetado como crítico. Para atenuar o risco, o gerente deve: Tentar determinar as causas da rotatividade através de reuniões com a equipe. Atenuar as causas que estão sob o seu controle antes que o projeto se inicie. Desenvolver técnicas para assegurar a continuidade quando as pessoas saírem. Padrões de documentação Revisões pelos pares, para ter alguém que entenda aquela parte do projeto. Ter um substituto para cada membro da equipe. Aula 24-14/07/2006 22
Exemplo (cont.) Para monitorar os riscos, o gerente deve notar: A atitude geral da equipe. Grau com que a equipe se aglutinou. Relacionamento interpessoal entre os membros. Problemas em potencial com remuneração e benefícios. Disponibilidade de emprego dentro da empresa e fora dela. Além de monitorar esses fatores, o gerente deve monitorar a efetividade dos passoas para atenuação de risco. Aula 24-14/07/2006 23
Exemplo (cont.) Um plano de contingência deve ser criado para o caso de algumas pessoas avisarem que vão sair. As pessoas que estão saindo são orientadas a interromper seu trabalho e passar as últimas semanas transferindo seu conhecimento para os novatos. Aula 24-14/07/2006 24
Custo/Benefício do RMMM Os passos de RMMM implicam custo adicional ao projeto. Parte da gestão de risco é avaliar quando os benefícios obtidos pelos passos do RMMM são superados pelos seus custos. Alguns riscos podem não ir para o RMMM por não compensar. Pode-se decidir apenas monitorar o risco e não atenuá-lo. Aula 24-14/07/2006 25
O Plano RMMM O plano RMMM documenta todo o trabalho realizado para a análise de risco e é usado como parte do plano geral do projeto. Ao invés de um plano RMMM completo, o gerente pode optar por utilizar somente um formulário de informação de risco (RIS). ID/Probabilidade/Impacto Descrição Refinamento/Contexto Atenuação/Monitoração Gestão/Plano de Contingência/Disparo Estado atual Emissor Aula 24-14/07/2006 26
Ferramentas de Gestão de Risco Apóiam a identificação de riscos, fornecendo: Uma lista de riscos típicos de projeto e de negócio. Checklists ou outras técnicas de entrevista. Apóiam a atribuição de probabilidades e impactos a cada rsco. Apóiam as estratégias de atenuação de riscos. Geram relatórios relacionados a risco. Exemplos: Riskman, Risk Radar, RiskTrac, Risk+, X:PRIMER. Aula 24-14/07/2006 27