• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Estimativas de Esforço - Engenharia de Software
 

Estimativas de Esforço - Engenharia de Software

on

  • 274 views

Apresentação sobre tipo de estimativas de esforço na Engenharia de Software. ...

Apresentação sobre tipo de estimativas de esforço na Engenharia de Software.
Descrição de abordagens baseadas em modelos formais e julgamento de especialista.
Apresenta uma visão geral sobre Análise de Pontos de Função, Pontos de Casos de Uso e Pontos de Estórias de Usuário.
Breve comparação entre estas abordagens.

Statistics

Views

Total Views
274
Views on SlideShare
273
Embed Views
1

Actions

Likes
3
Downloads
17
Comments
0

1 Embed 1

http://www.slideee.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Estimativas de Esforço - Engenharia de Software Estimativas de Esforço - Engenharia de Software Presentation Transcript

    • Estimativas de Esforço Eduardo Mendes
    • Eduardo Mendes (edumendes@gmail.com) Agenda 1. Introdução 2. O Que é Estimativa 3. Abordagens Para Estimativas 4. Métricas para Estimativas Análise de Pontos de Função Pontos de Caso de Uso Pontos de Estórias de Usuário 5. Considerações Finais 2
    • Eduardo Mendes (edumendes@gmail.com) 1 2 3 4 5
    • Eduardo Mendes (edumendes@gmail.com) 1. Introdução 4
    • Eduardo Mendes (edumendes@gmail.com) Processo
 de Software 5
    • Eduardo Mendes (edumendes@gmail.com) 1 2 3 4 5
    • Eduardo Mendes (edumendes@gmail.com) 2. Estimativas 7
    • Eduardo Mendes (edumendes@gmail.com) 2. Estimativas 2.1 O que é 2.2 Benefícios 8
    • Eduardo Mendes (edumendes@gmail.com) O que é estimar? 9 determinar o valor de uma coisa
    • Eduardo Mendes (edumendes@gmail.com) O que é
 estimativa? 10 cálculo aproximado avaliação conjectura
    • Eduardo Mendes (edumendes@gmail.com)11 previsãoestimativa não é
 uma
    • Eduardo Mendes (edumendes@gmail.com) Estimar Uma das atividades ligadas ao planejamento de projeto Criação de cronogramas Análise de Riscos Gerenciamento da qualidade Gerenciamento de alterações 12
    • Eduardo Mendes (edumendes@gmail.com) Tradicional Ágil
    • Eduardo Mendes (edumendes@gmail.com) Benefícios 14 Prever o quanto é possível fazer em um determinado período de tempo Identificar perdas e ganhos em face da velocidade da equipe As estimativas auxiliam o processo de decisão do cliente
    • Eduardo Mendes (edumendes@gmail.com) Dificuldades 15 falta de métricas precisas falta de dados históricos quantidade de variáveis envolvidas imprevistos e mudanças de rumo
    • Eduardo Mendes (edumendes@gmail.com) Incerteza Concepção
 do projeto 16 400% Aprovação
 do projeto 150% 200% [FONTE: MANTEIGA, Sandro]
    • Eduardo Mendes (edumendes@gmail.com) 1 2 3 4 5
    • Eduardo Mendes (edumendes@gmail.com) 3. Abordagens para estimativas 18
    • Eduardo Mendes (edumendes@gmail.com) 3. Abordagens para Estimativas 3.1 Processos de Estimativa Baseados em Processos de Especialistas 3.2 Processos de Estimativas Baseados em Modelos 19
    • Eduardo Mendes (edumendes@gmail.com) Estimativa Baseada" em Julgamento" de Especialista Estimativas
 Baseadas em Modelos Indivíduo com competência para estimar esforço baseada na intuição e experiência Uso de fórmulas matemáticas que utilizam entradas como a quantificação de tamanho de projeto, o tipo de software que se quer construir e outros fatores
    • Eduardo Mendes (edumendes@gmail.com) Esforço = α x tamanho β x fator de ajuste fator constante que depende das práticas organizacionais locais e do tipo de software em desenvolvimento 21 varia geralmente
 entre 1 e 1,5α medida tamanho da funcionalidade advinda da especificação de requisitos feita pelo cliente tamanho β valor vindo da combinação de atributos do processo, produtos de desenvolvimento fator de ajuste
    • Eduardo Mendes (edumendes@gmail.com) 1 2 3 4 5
    • Eduardo Mendes (edumendes@gmail.com) 4. Métricas para Estimativas 23
    • Eduardo Mendes (edumendes@gmail.com) 4. Métricas para Estimativas 4.1 Análise de Pontos de Função 4.1.1 A Estimativa de Esforço co APF 4.2 Pontos de Caso de Uso 4.2.1 A Estimativa de Esforço com PCU ! 4.3 Métricas em Processos Ágeis 4.3.1 Pontos de Estórias de Usuário 4.3.2 Planning Poker 4.3.3 Velocidade 24
    • Eduardo Mendes (edumendes@gmail.com) 4.1 Análise de Pontos de Função 25
    • Eduardo Mendes (edumendes@gmail.com) Foi proposta, inicialmente, por Albrecht e Gaffney Refinada pelo Ineternational Function Point Users Group (IFPUG) Foi o primeiro método para dimensionar software independente da tecnologia em que era desenvolvido 26 Análise
 de Pontos de Função
    • Eduardo Mendes (edumendes@gmail.com)27 entradas fornecidas à aplicação ! saídas da aplicação ! consultas dos usuários ! arquivos lógicos ou de dados a serem atualizados pela aplicação interfaces com outras aplicações as
 métricas
    • Eduardo Mendes (edumendes@gmail.com) O processo de contagem i. determina-se o tipo de contagem ii. identifica-se o escopo de contagem e a fronteira da aplicação iii. contam-se as funções de dados iv. contam-se as funções transacionais v. determinam-se os PF não ajustados vi. determinam-se os valores dos fatores de ajustes vii. calculam-se os PF ajustados 28
    • Eduardo Mendes (edumendes@gmail.com) ∑PFA = ∑PFNA * fator de ajuste 29
    • Eduardo Mendes (edumendes@gmail.com) Cálculo e Ponderação 30 (Adaptado de PRESSMAN, 2011)
    • Eduardo Mendes (edumendes@gmail.com) Fator de Ajuste 1. O sistema requer salvamento (backup) e recuperação confiável (recovery)? 2. São necessárias comunicações de dados especializadas para transferir informações para aplicação ou da aplicação? 3. Há funções de processamento distribuído? 4. O desempenho é crítico? 5. O sistema rodará em um ambiente operacional existente e intensamente utilizado? 6. O sistema requer entrada de dados online? 7. A entrada online de dados requer que a transação de entrada seja composta em múltiplas telas ou operações? 31 8. Os ALIs são atualizados online? 9. As entradas, saídas, arquivos ou consultas são complexas? 10. O processamento interno é complexo? 11. O código é projetado para ser reutilizável? 12. A conversão e instalação são incluídas no projeto? 13. O sistema é projetado para múltiplas instalações em diferentes organizações? 14. A aplicação é projetada para facilitar a troca e o uso pelo usuário?
    • Eduardo Mendes (edumendes@gmail.com) fator de ajuste = (0,01 x ∑ Pesos) + 0,65 32
    • Eduardo Mendes (edumendes@gmail.com) Esforço Esforço = PF de desenvolvimento x produtividade 33
    • Eduardo Mendes (edumendes@gmail.com)34 20% 05 pessoas = 20h/PF > 8h/dia Esforço = 20 PF x 20h/PF = 400h Esforço/pessoa = 400h / 5 = 80h Dias de esforço = 80h / 8h = 10 dias
    • Eduardo Mendes (edumendes@gmail.com) 4.2 Pontos de Caso de Uso 35
    • Eduardo Mendes (edumendes@gmail.com) Pontos de Caso de Uso Após 10 anos da proposta dos Pontos de Função, surgiu a medida Pontos por Caso de Uso (PCU) proposta por KARNER (1993), que é uma adaptação da APF Foco fazer estimativa de tamanho sobre sistemas de software orientados a objeto Depende de uma padronização dos casos de uso, em razão desta contagem ser realizada a partir das transações identificadas nos fluxos de eventos. 36
    • Eduardo Mendes (edumendes@gmail.com) O processo de contagem i. contam-se os atores e atribui-se o grau de complexidade ii. contam-se os casos de uso e atribui-se o grau de complexidade iii. somam-se o total de atores com o total de casos de uso para obter o PCU não ajustado iv. determina-se a complexidade do fator técnico v. determina-se a complexidade do fator ambiental vi. calcula-se o PCU ajustado. 37
    • Eduardo Mendes (edumendes@gmail.com) Contagem dos Atores ∑ Peso dos Atores não ajustado = ∑ Fator dos Atores 38
    • Eduardo Mendes (edumendes@gmail.com) Ponderação dos Atores 39 Complexidade Descrição Fator Simples Aplicação com API definida 1 Intermediário Aplicação interface baseada em porotocolo ou interação de usuário por linha de comando 2 Complexo Usuário com interface gráfica 3
    • Eduardo Mendes (edumendes@gmail.com) Contagem dos Casos de Uso ∑ Peso dos Casos de Uso não ajustado = ∑ Fator dos Casos de Uso 40
    • Eduardo Mendes (edumendes@gmail.com) Ponderação dos Atores 41 Nível Descrição Fator Simples 03 ou mais transações 5 Intermediário de 04 a 07 transações 10 Complexo de 08 a 11 transações 15 N-Complexo além de 11 transações Fx* Fx = 15*(transações/11) + Fator(resto da divisão transações/11)!
    • Eduardo Mendes (edumendes@gmail.com) Transação 42 Na análise de PCU transação é um conjunto de atividades atômicas, que são executadas completamente, ou não ! Pode-se atribuir uma transação a cada passo do fluxo que precisa ser executado por completo, ou à realização de um processamento complexo [RIBU, 2001]
    • Eduardo Mendes (edumendes@gmail.com) O processo de contagem i. contam-se os atores e atribui-se o grau de complexidade; ii. contam-se os casos de uso e atribui-se o grau de complexidade; iii. somam-se o total de atores com o total de casos de uso para obter o PCU não ajustado; iv. determina-se a complexidade do fator técnico v. determina-se a complexidade do fator ambiental, e vi. calcula-se, então, o PCU ajustado. 43
    • Eduardo Mendes (edumendes@gmail.com) Fator Técnico (TCF) 44 TCF = 0,6 + (0,01 x FatorT) O Fator de Complexidade Técnica (TCF) é calculado utilizando a soma das multiplicações dos valores atribuídos a cada fator da Tabela de fatores técnicos pelos seus pesos, gerando a valor chamado de FatorT
    • Eduardo Mendes (edumendes@gmail.com) Fatores Técnicos 45 Fator Descrição Peso T1 Sistema distribuído 2 T2 Tempo de resposta 2 T3 Eficiência online 1 T4 Processamento complexo 1 T5 Código reutilizável 1 T6 Facilidade de instalação 0.5 T7 Facilidade de uso 0.5 T8 Portabilidade 2 T9 Facilidade de manutenção 1 T10 Acesso concorrente 1 T11 Aspectos relativos à segurança 1 T12 Acesso para terceiros 1 T13 Treinamento especial obrigatório 1
    • Eduardo Mendes (edumendes@gmail.com) Fator Ambiental (EF) 46 EF = 1,4 + (-0,03 x FatorE) O Fator Ambiental (EF) é calculado utilizando a soma das multiplicações dos valores atribuídos a cada fator da Tabela de Fatores ambientais pelos seus pesos
    • Eduardo Mendes (edumendes@gmail.com) Fatores Ambientais 47 Fator Descrição Peso A1 Familiaridade com o Processo de 1.5 A2 Experiência na aplicação 0.5 A3 Experiência em orientação a objetos 1 A4 Capacidade do líder de projeto 0.5 A5 Motivação 1 A6 Estabilidade dos requisitos 2 A7 Membros da equipe com tempo parcial -1 A8 Dificuldade da linguagem de programação 2
    • Eduardo Mendes (edumendes@gmail.com) PCUs ajustados PCU ajustados = Peso dos Casos de Uso não ajustado * TCF * EF 48
    • Eduardo Mendes (edumendes@gmail.com) Cálculo do Esforço De Sousa e Abreu (2011) apresentam um modelo para o cálculo do esforço utilizando PCUs Para isso eles utilizam mais 03 fatores: 49 produtividade, que representa a quantidade de horas necessárias para se produzir 01 ponto de caso de uso risco, que transmite o fator de incerteza do projeto gestão, que representa o esforço de planejamento e acompanhanento do desenvolvimento do sistema.
    • Eduardo Mendes (edumendes@gmail.com) Esforço = PCU x produtividade 50 Esforço = PCU x produtividade x risco x gestão
    • Eduardo Mendes (edumendes@gmail.com) 4.3 Métricas em processos ágeis 51
    • Eduardo Mendes (edumendes@gmail.com) Processo de gerenciamento diferenciado Scrum Product Owner Scrum Master Time 52
    • Eduardo Mendes (edumendes@gmail.com) Pontos de Estória de usuário Nas abordagens ágeis, os requisitos de usuário são descritos através de estórias de usuário O Ponto de Estória de Usuário é uma unidade de estimativa relativa É representado por um número inteiro que é a agregação de um conjunto de aspectos que interferem no tamanho potencial de uma estória 53
    • Planning Poker
    • Eduardo Mendes (edumendes@gmail.com) Planning Poker O planning poker (PP) é um método ágil que gera estimativas que são feitas pelo time como um todo, não partindo de uma só pessoa ! Estimativa coletiva 55
    • Eduardo Mendes (edumendes@gmail.com) Planning Poker todo os membros do time participam e são “estimadores”; o PO participa mas não opina nas estimativas; cada membro do time recebe um conjunto de cartas (baralho) com valores associados: 0, 1, 2, 3, 5, 8, 13, 20, 40, and 100 56
    • Eduardo Mendes (edumendes@gmail.com) Velocidade 57 Neste processo,
 a velocidade é uma medida para a taxa de progresso de uma equipe ! Através dela é que se é capaz de saber o quanto de esforço que uma equipe pode realizar
    • Eduardo Mendes (edumendes@gmail.com) Velocidade 58 A velocidade é obtida através do cálculo 
 
 da soma dos SPs de todas as estórias de usuário
 
 que foram realizadas por completo durante uma iteração
    • Eduardo Mendes (edumendes@gmail.com)59 01 iteração 04 !estórias
    • Eduardo Mendes (edumendes@gmail.com)60 20 SPs/Iteração 04 !estórias
    • Eduardo Mendes (edumendes@gmail.com)61 15 SPs/Iteração 03 !estórias
    • Eduardo Mendes (edumendes@gmail.com) Velocidade 62 Utiliza-se a velocidade para planejar a quantidade de estórias a serem realizadas nas iterações seguintes
    • Eduardo Mendes (edumendes@gmail.com) 1 2 3 4 5
    • Eduardo Mendes (edumendes@gmail.com) 5. Considerações Finais 64
    • Eduardo Mendes (edumendes@gmail.com) Processos de Estimativas Baseados em Modelos Rápidos e fáceis de aplicar Podem ser usados no início do projeto São objetivos e passíveis de repetição 65
    • Eduardo Mendes (edumendes@gmail.com) Processos de Estimativas Baseados em Modelos Muito específicos para um determinado contexto Em geral, não são muito precisos Estimam o esforço total, que depois precisa
 ser distribuído entre as diversas atividades/módulos Problemas técnicos difíceis podem
 não ser considerados Estimativas menos acuradas ! 66
    • Eduardo Mendes (edumendes@gmail.com) Estimativa Baseada em Julgamento de Especialista Pouca ou nenhuma necessidade de dados históricos Pode ser usado no início do projeto e em situações onde se lida com novas tecnologias, aplicações ou linguagens Bastante flexível com relação ao objeto das estimativas 67
    • Eduardo Mendes (edumendes@gmail.com) Estimativa Baseada em Julgamento de Especialista A opinião dos especialistas pode ser tendenciosa e/ou influenciável O conhecimento e domínio dos especialistas sobre o assunto pode ser questionável 68
    • Eduardo Mendes (edumendes@gmail.com) Evidências na literatura Jørgensen (2007) avalia diversas abordagens de estimativas de esforço e conclui: os modelos falharam sistematicamente ao tentar realizar estimativas melhores do que as dos especialistas 69
    • Eduardo Mendes (edumendes@gmail.com) Possíveis razões os especialistas podem ter mais informações sobre o contexto e a forma como a informação é processada é mais flexível a falta de estabilidade entre os dados que estão sendo relacionados em um modelo falta de precisão na calibragem dos modelos 70
    • Eduardo Mendes (edumendes@gmail.com) + literatura Fowler (2013) também aponta problemas nas estimativas por especialistas em processos ágeis, principalmente, quando há uma tendência há ser muito otimista isto tem sido relatado por muitos times ágeis, transformando a estimativa em uma cobrança 71
    • Eduardo Mendes (edumendes@gmail.com) + literatura Jørgensen aconselha a utilização das abordagens combinadas nesta situação de otimismo e também quando: • a quantidade de informações contextuais do especialista é baixa • quando os modelos utilizados estão bem calibrados 72
    • Eduardo Mendes (edumendes@gmail.com) • Refinamento das comparações entre abordagens • Pontos de Função Cosmic • Wideband Delphi Continuação da pesquisa 73
    • Eduardo Mendes (edumendes@gmail.com) Obrigado 74