Estimativa de Projetos de Software com Pontos de Função Intercambio Empresarial FUMSOFT 29/05/12 – Belo Horizonte – MG – Brasil “Sejam Todos Bem-Vindos” 1
FATTO Consultoria e Sistemas Missão: “Ajudar nossos clientes a executar ou contratar melhor seus projetos de software.” Foco em Medição, Estimativas e Requisitos de Software: Aplicação da Análise de Pontos de Função Estimativas de projetos de software Engenharia de Requisitos Atuação nacional em cursos in-company e abertos (presenciais e à distância), desde 1998 Serviços de medição e auditoria em medição de software Análises de produtividade em projetos de software O livro mais vendido de APF no país foi escrito por nós Formou ~25% de especialistas certificados em pontos de função (CFPS) do país Contato com a FATTO Consultoria e Sistemas: utilize os recursos abaixo ou o Fale conosco em http://www.fattoCS.com.br ENDEREÇO Matriz: Rua Moacyr Saudino, s/n, 3o andar - Sala 37 Centro - Alfredo Chaves/ES – CEP 29240-000 CNPJ: 02.434.797/0001-60 Filial Vitória: Av. Marechal Campos, 180 - Ed. Pezzin - salas 204/205 Consolação, Vitória/ES, CEP 29045-460 CNPJ: 02.434.797/0002-41 TELEFONES Vitória/ES: (27) 3084-7304 / 3026-6304 / 8111-7505 / 8123-9100 / 9949-1571 Brasília/DF: (61) 3717-1974 São Paulo/SP: (11) 3717-2974 FAX (27) 3223-8472 E-MAIL Fale Conosco fatto@fattocs.com.br 2 2
Agenda Para que estimar? O que é estimativa? O que se precisa para estimar? Processo genérico de estimativas Medida de tamanho do produto O modelo básico de estimativa de esforço com PFs Qual indicador Horas/PF usar APF para microestimativas Evolução de Escopo Fechamento
Para quê servem estimativas? Qual o custo do projeto? Qual o prazo para a entrega? É viável ter este projeto pronto ainda este ano? O que é possível entregar ainda este ano? O projeto tem que estar implantado até 20/11, quanto custa? Temos orçamento de um milhão ($), o que dá para ser feito neste orçamento? Em que prazo? Consigo atender este prazo se aumentar a equipe? O objetivo principal de estimar não é adivinhar o resultado final do projeto, mas determinar se os objetivos do projeto são realistas o bastante para permitir que o projeto seja controlado para alcançá-los.
O que é Estimativa? Estimativa Meta Compromisso Estimativa: cálculo aproximado, avaliação, conjectura Meta: alvo, mira, objetivo, finalidade Compromisso: obrigação, promessa, acordo No mundo ideal, os compromissos são assumidos visando atingir uma meta que foi estabelecida com base em estimativas. Já no mundo real... Estimativas não precisam ser exatas, mas úteis!
O que é necessário para estimar? Antes de tudo, saber que produto deve ser entregue
O Processo de Estimativa
O quê usar para obter o Tamanho do Produto? Ideal que se use uma medida: baseada nas características do produto, preferencialmente numa perspectiva externa que permita sua aplicação em fases iniciais do projeto que seja consistente O tamanho funcional pode ser estimado antes da especificação de requisitos estar completa Muito útil em tempo de proposta e análise de viabilidade Existem diversos métodos de medição funcional de software O método IFPUG é o mais difundido
Por quê pontos de função IFPUG? IFPUG – International Function Point Users Group (www.ifpug.org) Método padrão de medição funcional de software padronizado pelo seu Manual de Práticas de Contagem (CPM) Milhares de usuários (pessoas e empresas) do método, padrão de fato Padrão ISO/IEC 20926 Processo de medição simples e consistente Programa de Certificação CFPS (objetivo: uso consistente) Vocabulário independente da tecnologia Perspectiva do negócio Auditável
O que é Análise de Pontos de Função Técnica de medição das funções de um software sob o ponto de vista do usuário Ou método de medição de Software que quantifica os Requisitos Funcionais do Usuário Onde Usuário é qualquer pessoa ou coisa que se comunica ou interage com o software a qualquer momento Exemplos: usuário final, ator no caso de uso, outro sistema
Requisitos e a ISO/IEC 14.143
APF para estimar esforço PRODUTIVIDADE - razão de bens ou serviços produzidos por unidades de trabalho e custo
Adequação da taxa de entrega ?? H/PF Classificação de projetos por similaridade 9 H/PF 9 H/PF 8 H/PF 15 H/PF 12 H/PF 14 H/PF 14 H/PF 5 H/PF C U I D A D O!
Requisitos para estimar esforço Processo de desenvolvimento estável Classificação de projetos por similaridade Registro confiável de dados de esforço (ou custo) Documentação de requisitos atualizada ?? H/PF
Critérios de similaridade Esforço utilizado na taxa de entrega compreende as mesmas atividades cujo esforço se deseja estimar? Outras variáveis do projeto em estudo, que também causam impacto no esforço, correspondem aos dados utilizados para calcular a taxa de entrega? Aspectos não funcionais Complexidade lógica do processamento Requisitos de disponibilidade e performance Mix de tecnologias envolvidas Perfil da equipe de desenvolvimento Processo de desenvolvimento utilizado Tamanho - ordem de grandeza - do projeto Artefatos construídos etc.
Equilibrar Riscos – Alvo: 50 % 7 demandas subestimadas (64%) 4 demandas super-estimadas (36%)
Sub e Super-Estimado Anularem-se No total, haver compensação entre o sub e o super-estimado
Minimizar % Erro (R-E)/E – Meta: 0% Magnitude do Erro Relativo: Erro (Realizado – Estimado) em relação à estimativa original (Estimado)
Não use PF para micro-estimativas O maior valor das estimativas com PF está em estimativas globais para projetos, não para cada uma de suas atividades de trabalho Para pedaços do projeto ou projetos muito pequenos (< 100 PF), as estimativas obtidas tendem a ser super ou subestimadas Isto porque se usa uma produtividade média como base do modelo Em amostras pequenas, esta média pode não se confirmar Por quê isto ocorre? MANUTENÇÃO ADAPTATIVA Modificação de um produto de software, executada após a entrega, a fim de manter o mesmo utilizável em um ambiente alterado ou em alteração. NOTA A manutenção adaptativa provê as melhorias necessárias para acomodar mudanças no ambiente no qual um produto de software tem que operar. Tais mudanças são aquelas que precisam ser realizadas para manter o produto atualizado em relação ao ambiente em alteração. Por exemplo, o sistema operacional precisa sofrer um “upgrade” e algumas mudanças precisam ser efetuadas para acomodar o novo sistema operacional. MANUTENÇÃO CORRETIVA Modificação reativa de um produto de software, executada após a entrega para corrigir problemas descobertos. NOTA A modificação repara o produto de software para satisfazer requisitos. MANUTENÇÃO PERFECTIVA Modificação de um produto de software após a entrega, a fim de deletar e corrigir defeitos latentes no mesmo antes que se manifestem como falhas NOTA 1: A manutenção perfectiva fornece melhorias para os usuários, aprimoramento da documentação dos programas e recodificação dos mesmos para melhorar a performance, manutenibilidade e outros atributos do software. NOTA 2: Contrastar com: manutenção adaptativa; manutenção corretiva.
Significado dos indicadores
Porém o tamanho não é estático...
Evolução do escopo, contigencie
Fechamento Não confunda estimativa com compromisso Conheça o produto que deve ser entregue antes de estimar Avalie se o seu processo de desenvolvimento é maduro Mantenha dados históricos dos seus projetos Calibre suas estimativas continuamente Como medir ou estimar tamanho?
Um pouco mais sobre pontos de função Cursos Análise de Pontos de Função: Fundamentos, Benefícios e Implantação Turma on-line, versão demonstração gratuita Capacitação em APF: Medições e Estimativas de Software Turma presencial em BH: 09 a 12 de Julho (noturno) Livro “Análise de Pontos de Função: Medição, Estimativas e Gerenciamento de Projetos de Software” Perguntas e respostas: http://www.fattocs.com.br/faq.asp
Contatos Guilherme Siqueira Simões (31) 4063-8475 / (27) 8111-7505 guilherme.simoes@fattocs.com.br www.linkedin.com/in/guilhermesimoes Curta a FATTO no Facebook: www.facebook.com/fattocs 25 25