A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Estimativas de Tempo e Custo

Apresentações semelhantes


Apresentação em tema: "Estimativas de Tempo e Custo"— Transcrição da apresentação:

1 Estimativas de Tempo e Custo

2 Modelos para estimativas de tempo e custo
Normalmente o tempo e o custo são funções de: tamanho do produto habilidades da equipe (pessoal) ambiente (ferramentas e técnicas) complexidade do produto qualidade desejada Medida do tamanho ad hoc linhas de código, número de classes, número de módulos pontos de função Todos as medidas de tamanho e, conseqüentemente, os meios de estimar, têm problemas. A medida universalmente aceita atualmente ainda é o número de linhas de código, apesar dele depender da linguagem, paradigma e nível de reuso, entre outros fatores. Sua vantagem é o fato dela poder ser obtida automaticamente, ao contrário do que ocorre com pontos de função. O número de classes também têm se tornado uma medida comum para sistemas orientados a objetos, apesar das classes poderem variar bastante em tamanho e complexidade. Pontos de função provêem uma estimativa de tamanho independente de linguagem e bastante significativa, porém, não são universalmente aceitos e demandam maior esforço para serem calculados. O ponto chave é: escolha alguma métrica e estime, pois qualquer estimativa, mesmo que grosseira, é melhor que estimativa nenhuma!

3 Modelos para estimativas de tempo e custo
Existem inúmeros… Pelo “negócio” “preço para vencer” requisitos se adequam ao custo ou ao tempo Por analogia Bottom-up Top-down Julgamento de especialistas Paramétricos O ideal seria usar vários em conjunto! Existem vários modelos diferentes para estimativa de custos, embora muitas vezes o custo seja calculado de acordo com o valor do negócio e o projeto seja adaptado de modo a ocorrer dentro do custo definido! Tudo bem… O que não podemos fazer é planejar sem levar os custos em consideração.

4 Modelos para estimativas de tempo e custo - Por analogia
Comparação com projetos similares extrapolação de dados de projetos já realizados Estimativas baseadas em projetos reais e experiências anteriores Projetos realmente similares são difíceis de encontrar Os dados sobre eles precisam ter sido registrados Útil para verificar outras estimativas A analogia pode ser feita a partir do desenvolvimento de outros sistemas, ou de componentes de outros sistemas. Dadas as suas limitações a estimativa por analogia não deveria ser utilizada como único método para previsão de custos, mas ela pode ser bem útil para verificar se uma estimativa calculada por outro método é razoável ou não.

5 Modelos para estimativas de tempo e custo - Bottom-up
Estima-se a partir dos componentes do sistema O custo de cada componente é estimado O custo final é a soma de todos eles Estimativas acuradas Promove comprometimento com as estimativas Facilita o acompanhamento Consome muito tempo Precisa de informações detalhadas de antemão Custos de integração podem ser negligenciados Como o custo de cada componente normalmente é estimado pelo pessoal técnico responsável pelo desenvolvimento do componente, o método estimula o comprometimento da equipe com as estimativas, os seja, por manter o custo dentro do que foi estimado. O acompanhamento é facilitado porque geralmente parte-se de cada atividade que é feita durante o desenvolvimento. Por outro lado, a aplicação do método é inviável se não se dispõe de informações detalhadas sobre o sistema, o que geralmente é verdade no início do desenvolvimento, quando o planejamento é feito.

6 Modelos para estimativas de tempo e custo - Top-down
Estima-se a partir da funcionalidade geral do sistema o custo depende das funções do software, ao invés dos componentes que irão implementá-las Fácil e rápido de implementar Pode ser usado no início do projeto Considera atividades “de suporte” Problemas técnicos difíceis podem não ser considerados Estimativas menos acuradas Provê poucos detalhes e justificativas para as estimativas O projeto é particionado em módulos ou atividades menores, de acordo com o processo de desenvolvimento, e o custo é estimado a partir dessas atividades. Assim, geralmente considera-se o custo de atividades como gerência de configuração, elaboração de documentação, integração, controle do projeto, etc., que poderiam ser esquecidas com o método anterior. O método também é muito fácil e rápido de implementar, pois requer pouquissímos detalhes do projeto

7 Modelos para estimativas de tempo e custo - Julgamento de especialistas
Estima-se a partir da opinião de um grupo de especialistas a estimativa é fruto de consenso entre eles 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 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 Vamos ver em detalhes uma técnica de estimativa por julgamento de especialistas (Wideband Delphi) no Módulo 4.

8 Modelos para estimativas de tempo e custo - Paramétricos
Usa algoritmos matemáticos parametrizados fórmula geral: esforço = K*tamanhoQ Rápidos e fáceis de aplicar Podem ser usados no início do projeto São objetivos e passíveis de repetição Necessitam de uma base histórica de dados Muito específicos para um determinado contexto Em geral, não são muito precisos Estimam o custo total, que depois precisa ser distribuído entre as diversas atividades/módulos A fórmula geral desses algoritmos é: esforço = K*tamanhoQ , onde: o esforço é dado em homens/hora, $ ou outra medida qualquer de custo tamanho é o tamanho estimado do produto K e Q são constantes que dependem da complexidade do produto, ambiente, habilidade da equipe, processo usado, etc. As constantes são calculadas usando-se métodos matemáticos aplicados sobre uma base histórica de esforços e tamanhos de projetos já realizados. Assim, elas dependem bastante da base de dados utilizada, o que torna esses métodos bastante específicos, não sendo possível obter um modelo simples ou único que funcione adequadamente (com acuidade) para diversos projetos e empresas. Por outro lado, como as estimativas são baseadas em fórmulas matemáticas, o método pode ser consistentemente aprimorado a cada aplicação, através da análise dos resultados (das estimativas), refinamento e melhor customização das fórmulas. Vamos ver em detalhes uma técnica de estimativa deste tipo (Pontos de Casos de Uso) no Módulo 4.

9 WBS – Work Breakdown Structure
Atividades e subatividades necessárias para realizar o projeto Base para o cronograma do projeto Atenção a granularidade das atividades! muitas tarefas de curta duração são difíceis de gerenciar tarefas com duração muito longa não servem para medir progresso e controlar custos

10 Estimando esforço Pontos de discussão Dificuldades para estimar
que modelo para estimativa de custos escolher? que métrica utilizar? o que significa uma boa estimativa? Dificuldades para estimar falta de métricas precisas falta de dados históricos quantidade de variáveis envolvidas imprevistos e mudanças de rumo É uma estimativa, não uma previsão! Uma das grandes dificuldades no desenvolvimento de software continua sendo a estimativa de custos e prazos e a elaboração de cronogramas que reflitam a real duração dos projetos. Essa dificuldade deve-se a fatores como mudanças nos requisitos ao longo do processo, na composição da equipe de desenvolvimento, questões econômicas, peculiaridades regionais, e a falta de métricas capazes de mensurar fatores como esses e seu impacto no processo. Mas qualquer estimativa é melhor que nenhuma!

11 Estimando esforço – atividades básicas
Identificar os objetivos e requisitos do projeto pré-requisito básico para uma boa estimativa! Planejar as atividades WBS – Work Breakdown Structure Estimar a magnitude do produto tamanho do produto Escolher a técnica de estimativa Estimar o esforço Estimar o cronograma Acompanhar o resultado das estimativas Quão bom foi o processo usado para estimar? Como o projeto está sendo modificado durante sua execução? Base de dados de estimativas

12 Wideband Delphi Estimativa por julgamento de especialistas
Muitas cabeças pensam melhor que uma! Lista detalhada de atividades do projeto, incluindo as atividades “de suporte” Para usar o Wideband Delphi para estimar esforço, é preciso apenas uma especificação do problema a ser estimado (que pode ser qualquer coisa, desde o número de classes de um determinado componente até o tempo necessário para implementar todo o sistema) ou uma lista das atividades a serem desenvolvidas no projeto. As saídas do método são uma lista de atividades do projeto detalhada, incluindo atividades de overhead (controle de qualidade, reuniões, etc.), estimativas de esforço para cada tarefa da lista (uma de cada um dos especialistas) e os pressupostos que foram usados para calcular as estimativas (também para cada um dos especialistas). Estimativas de esforço para cada atividade da lista Pressupostos para as estimativas

13 Wideband Delphi - participantes
Moderador Planeja e coordena as atividades do método Papel de facilitador – não deve influenciar os demais Gerente do projeto Recebe os resultados do método 2 a 4 outros estimadores Especialistas no problema que será estimado Podem ser membros da equipe do projeto promove comprometimento!

14 Wideband Delphi – como funciona?
Planejamento Reunião inicial Preparação individual Reunião de estimativas Planejamento – o problema a estimar é definido e os especialistas são escolhidos. Reunião inicial – prepara os especialistas para estimarem (equaliza o conhecimento e define as regras a serem seguidas durante a estiamtiva). Preparação individual – cada especialista prepara sua lista de atividades e estimativas iniciais de cada atividade. Reunião de estimativas – as estimativas individuais são consideradas e evoluem, em vários ciclos, gerando listas de atividades e estimativas melhores. Consolidação dos resultados – o moderador do método consolida o trabalho de cada especialista em uma lista de atividades e estimativas única. Reunião de resultados – o resultado das estimativas é revisado por todos que participaram do método. Consolidação dos resultados Reunião de resultados

15 Wideband Delphi Reunião inicial
Garante que todos os os estimadores são capazes de fazer boas estimativas Pode ser necéssário trocar algum deles Discute sobre: o método a especificação do problema unidade que será usada para estimar restrições do projeto lista inicial de atividades quaisquer outros pressupostos que devam ser considerados para estimar Dura aproximadamente 1 hora

16 Wideband Delphi Preparação individual
Cada especialista prepara sua lista de atividades e estimativas Pode-se partir de uma lista inicial O WBS é uma boa pedida! As estimativas devem ser individuais Não se deixar influenciar ou pressionar! Quebrar atividade muito longas em atividades menores Considerar qualquer tipo de atividade Reuniões, retrabalho, treinamentos, testes, documentação, etc. A lista pode crescer! Considerar que apenas 1 pessoa vai executar todas as tarefas, sequencialmente Não se preocupar com dependências entre tarefas Assumir 100% de aproveitamento das horas trabalhadas Anotar quaisquer pressupostos considerados para estimar As estimativas não devem ser feitas em função do que se acha que o gerente de projeto ou o cliente gostaria de ouvir! Não importa se elas estão muito longe do deadline esperado para o projeto.

17 Wideband Delphi Reunião de estimativas
Gráfico ilustrando todas as estimativas para o projeto Anonimato é importante! O moderador coleta as estimativas Cada estimador apresenta sua lista de atividades e os pressupostos que usou para estimar As estimativas e listas são refeitas As rodadas continuam até Estimativas convergirem Acabar o tempo da reunião Acabar o número de rodadas (4) Especialistas ficarem irredutívies O moderador tem papel essencial nesta reunião, para: garantir o anonimato das estimativas (o anonimato evita que um especialista possa inibir ou influenciar outros); manter o grupo focado na discussão; estimular a participação de todos e manter um ambiente imparcial e sem julgamentos.

18 Wideband Delphi Consolidação dos resultados
Consolidar a lista de atividades dos especialistas Remover atividades repetidas Considerar os pressupostos que foram assumidos Consolidar as estimativas Média de cada atividade Valor mínimo como o melhor caso Maior valor como o pior caso Erro: maior valor - média média - valor mínimo Manter o espectro de estimativas de cada atividade Descartar ou modificar atividades se necessário Se a estimativa de um determinado especialista foi muito distoante das demais, isso pode representar um entendimento diferente do escopo da atividade e esta pode ser eventualmente descartada ou ignorada, para não produzir distorções graves na média.

19 Wideband Delphi Reunião de resultados
Todos os estimadores participam Consenso sobre: a lista de atividades consolidadas as estimativas consolidadas Oportunidade para melhorar o método Novas atividades ainda podem ser acrescentadas Fornecer uma lista de atividades e estimativas que possa ser usada pelo gerente do projeto para continuar o planejamento com razoável segurança

20 Esforço = f(PCUNA, FCT, FA)
Pontos de casos de uso Modelo paramétrico Baseado em algoritmo matemático Inspirado no modelo de Pontos de Função PCUNA = Pontos de Casos de Uso Não Ajustados FCT = Fatores de Complexidade Técnica FA = Fatores Ambientais Esforço = f(PCUNA, FCT, FA) Desenvolvido como parte da tese de mestrado de Gustav Kerner, em 1992, o modelo de Pontos de Caso de Uso foi inspirado no modelo de Pontos de Função, mas acrescido do benefício da análise de requisitos do processo Objectory (atual RUP). O modelo de Pontos de Caso de Uso mensura a funcionalidade do sistema baseado no modelo de casos de uso através de um procedimento que retorna um valor em termos de PCUNA (Pontos de Casos de Uso Não Ajustados). Para tanto, Fatores de Complexidade Técnica (FCT) envolvendo essa funcionalidade são analisados e, por fim, são avaliados os Fatores Ambientais (FA), descritos como muito importantes pelos os usuários do Objectory. O produto desses três fatores (funcionalidades, fatores técnicos e ambientais) resulta no PCU (Pontos de Caso de Uso) que é uma estimativa do esforço em termos de homem-hora para realização das várias fases do processo de desenvolvimento Para informações detalhadas sobre o método, veja o livro Applying Use Cases: A Practical Guide, de Geri Schneider, Jason P. Winters, Ivar Jacobson, ou, o artigo Use Case Points – Resource Estimation for Objectory Projects, de Gustav Karner.

21 Pontos de casos de uso PCUNA FCT FA PCU = Pontos de Casos de Uso
Baseado na complexidade dos atores e casos de uso “tamanho” do sistema FCT Obtido a partir do produto de 13 fatores técnicos FCT = 0,6 + 0,01.(ProdFT) FA Obtido a partir do produto de 8 fatores ambientais FA = 1,4 + (-0,03).(ProdFA) PCU = Pontos de Casos de Uso PCU = PCUNA *FCT*FA O cálculo do PCUNA é feito baseado na complexidade dos atores, onde o número de atores de complexidade simples, média e complexa é levado em conta, e na complexidade dos caso de uso, onde o número de casos de uso de complexidade simples , média e complexa também é levado em conta. O FCT é obtido a partir do produto de 13 fatores técnicos com seus pesos bem definidos e valores atribuídos durante a estimativa. A obtenção do FA é semelhante a do FCT, e seu resultado é atingido a partir de 8 fatores ambientais aos quais são atribuídos pesos e valores e cujo produto é empregado no cálculo do FA. Ao final, a estimativa é obtida, em homens-hora, pelo produto desses três fatores (PCU) e da quantidade de homens/hora ideal por ponto de casos de uso.

22 Pontos de casos de uso Fatores de Complexidade Técnica (FCT)
Distribuição Objetivos de performance (tempo de resposta e processamento) Eficiência para usuário final (online) Processamento interno complexo Código reusável Facilidade de instalação Facilidade de uso Portabilidade Facilidade de mudança Sistema concorrente Características especiais de segurança Disponibilidade de acesso por outros sistemas Facilidades de treinamento O cálculo do PCUNA é feito baseado na complexidade dos atores, onde o número de atores de complexidade simples, média e complexa é levado em conta, e na complexidade dos caso de uso, onde o número de casos de uso de complexidade simples , média e complexa também é levado em conta. O FCT é obtido a partir do produto de 13 fatores técnicos com seus pesos bem definidos e valores atribuídos durante a estimativa. A obtenção do FA é semelhante a do FCT, e seu resultado é atingido a partir de 8 fatores ambientais aos quais são atribuídos pesos e valores e cujo produto é empregado no cálculo do FA. Ao final, a estimativa é obtida, em homens-hora, pelo produto desses três fatores (PCU) e da quantidade de homens/hora ideal por ponto de casos de uso.

23 Pontos de casos de uso Fatores Ambientais (FA)
Familiaridade com o processo de desenvolvimento Experiência na aplicação Experiência em OO Capacidade do analista chefe Motivação Estabilidade dos requisitos Trabalhadores em tempo parcial Dificuldade da linguagem de programação O cálculo do PCUNA é feito baseado na complexidade dos atores, onde o número de atores de complexidade simples, média e complexa é levado em conta, e na complexidade dos caso de uso, onde o número de casos de uso de complexidade simples , média e complexa também é levado em conta. O FCT é obtido a partir do produto de 13 fatores técnicos com seus pesos bem definidos e valores atribuídos durante a estimativa. A obtenção do FA é semelhante a do FCT, e seu resultado é atingido a partir de 8 fatores ambientais aos quais são atribuídos pesos e valores e cujo produto é empregado no cálculo do FA. Ao final, a estimativa é obtida, em homens-hora, pelo produto desses três fatores (PCU) e da quantidade de homens/hora ideal por ponto de casos de uso.

24 Pontos de casos de uso A estimativa final considera a quantidade de homens/hora ideal por PCU K = homens/hora por unidade de PCU Depende dos fatores ambientais Esforço = PCU * K Uma planilha pode automatizar facilmente o processo. A coleta de dados históricos da sua própria organização é importante para calibrar o modelo.

25 Referências Wideband Delphi Pontos de Caso de Uso
Software Engineering Economics, Barry Boehm Stop Promising Miracles, Karl Wiegers, Pontos de Caso de Uso Applying Use Cases: A Practical Guide, Geri Schneider, Jason P. Winters, Ivar Jacobson Use Case Points – Resource Estimation for Objectory Projects, Gustav Karner


Carregar ppt "Estimativas de Tempo e Custo"

Apresentações semelhantes


Anúncios Google