11
Análise de Pontos de Função
Medição, Estimativas e Gerenciamento de Projetos de
Software
Deric FerreiraMCTS - MCP
22
Análise de Pontos de Função
Medição, Estimativas e Gerenciamento de Projetos de
Software
33
Agenda
Importância da medição Uso da APF na gerência de projetos Uso da APF em estimativas Uso da APF em contratos de software Visão geral da APF Mundo das métricas funcionais
44
Por que medir software?
55
Por que medir software? Estimar custo e recursos de projetos Avaliar a aquisição de pacotes (make-
or-buy) e Benchmarking Suportar análises de produtividade e
qualidade Remunerar fornecedores Apoiar a gerência de escopo do projeto Apoiar a gerência de requisitos do
projeto
66
Falando em Requisitos...
77
Estatísticas
Dados do CHAOS Report de 2003:
Somente 34% dos projetos de Software são bem sucedidos
15% dos projetos foram cancelados 43% é o erro médio em relação ao
orçamento Apenas 52% das características e
funcionalidades são entregues
88
Expansão dos Requisitos
Requisitos tendem a expandir
Uso do Sistema exige novas funcionalidades
Requisitos desejáveis evoluem para essenciais
Novos Requisitos são identificados
99
Dilema do desenvolvimento SW
Requisitos - qualidade, funcionalidade e performance são infinitos: tendem a expansão
Recursos - trabalho, logística, capital são restritos: pressão para menor utilização
Como manter esta situação sob controle? Atender ao máximo as expectativas com a
utilização do mínimo de recursos
1010
A Evolução
Crescimento Tecnológico, resultou em: Aumento na demanda por Sistemas
Informatizados Dificuldade no equilíbrio da balança: Demanda X
Recursos Novo cenário:
Necessidade de Gerência de Projetos Melhoria de Processos Make-or-Buy Plan
1111
As Respostas de Hoje
Terceirização e gestão de contratos Uso intensivo de pacotes de software
- ERP em especial Orientação para gerência de projetos Iniciativas de Melhoria de Processos Mas o que é gerência de projetos e
onde entra a APF?
1212
O que é Gerência de Projetos?
Latim “Gerere” – Trazer, produzir, criar, executar e administrar
PMI define Projeto como: “empreendimento temporário posto em execução para criar um produto ou serviço”
Dividindo o Gerenciamento em Processos: Planejamento Execução Controle
1313
Desafio do GP
Tornar o gerenciamento de projetos baseado em fatos, não em “achismos”
Para isto, deve-se buscar métricas e indicadores que orientem a gerência pois: “Não se pode controlar o que não se pode
medir” - Lord Kelvin ou “Não se pode gerenciar o que não se pode
medir” - Tom de Marco
1414
Importância da medição
“..., quando feita adequadamente,
a medição em seqüência de atributos de qualidade de produtos e processos pode fornecer uma base efetiva para a iniciação e gerência de atividades de melhoria de processos.” PSM: Measuring for Process Management and Improvement William A. F. et al, 1997
1515
Importância da medição
Na maioria dos casos o Levantamento de Requisitos não é suficiente para a definição de todas as características do Produto
Necessidade de apurar futura dimensão (Estimar)
1616
Uso da APF em Estimativas
1717
Estimativas de Projetos de Software
Quanto Tempo? Quanto Custa? Respostas dependem
dos Requisitos da Equipe da Tecnologia
Exatidão apenas ao término Podem ser mais ou menos exatas
1818
Onde entra a APF?
Tamanho pode ser estimado antes da especificação de requisitos estar completa
Muito útil em tempo de proposta e análise de viabilidade
É uma técnica para macro-estimativas Não recomendada para estimativas pontuais
de atividades ou projetos muito pequenos
1919
Produto da APF
Resultado da contagem continua sendo uma estimativa
2020
Produto da APF
A APF não substitui a experiência do Gerente de Projetos ou de TI
A APF deve auxiliar o processo tomada de decisões e não ser a única estimativa para base decisória
2121
Onde entra a Experiência do Profissional?
O que o GP precisa definir: Quais produtos serão desenvolvidos (Especificações,
Manuais, Programas, BDs) Por meio de que atividades (Identificação de Classes,
Validação de Espec. Técnica) Que recursos serão utilizados (Time) Que tipo de prossionais (Analistas, Desenvolvedores,
Documentadores) Durante quanto tempo Quais Riscos devem ser considerados
2222
Onde entra a Experiência do Profissional?
+ 9 Meses =
9 mulheres + 1 mês =
2323
Indicadores derivados de PF
A APF, junto com outras métricas permite a geração de vários indicadores para o GP Horas / PF PF / Homem Mês R$ / PF Defeitos / PF Estabilidade dos requisitos Baseline da organização Tamanho do backlog
2424
Estimando Esforço
Necessidade das horas apropriadas para Produtividade (PF / H) Taxa de Entrega (H / PF)
Classificação de projetos por similaridade processo de desenvolvimento deve ser estável
Extrapolar o comportamento histórico Indicadores de Mercado Indicadores Internos
2525
Estimando Custo
Necessidade dos custos apropriados para Preço do ponto de função ( R$ / PF)
Classificação de projetos por similaridade processo de desenvolvimento deve ser
estável Extrapolar o comportamento histórico
Indicadores de Mercado Indicadores Internos
2626
Estimando Duração
Neste ponto o ideal é conjugar outras técnicas pois: Nem sempre Prazo = Esforço /
Tamanho Equipe Cuidado com fórmulas mágicas
duração = PF ** 0,4 ???
2727
Outras Estimativas Possíveis?
Número de casos de teste (= PF x 1,2) ???
Número de defeitos (= PF ** 1,25) ??? Tamanho da equipe de
desenvolvimento (= PF / 150) ??? Tamanho da equipe de manutenção
(= PF / 1500) ???
2828
Uso da APF em Contratos de Software
2929
Aspectos Contratação Sofware
Foco no negócio principal Terceirização do desenvolvimento SW
Parcial Equipe Projeto Atividade (codificação, teste, análise, etc)
Total Outsourcing
3030
Gestão do Contrato
A necessidade de gerenciar o contrato existe seja qual for o nível da terceirização Equipe: produtividade e qualidade Projeto: prazo, escopo Atividade: prazo Outsourcing: custo, qualidade
3131
Formas de contratação
Homem HoraHomem Hora
Preço Global FixoPreço Global Fixo
Preço UnitárioPreço Unitário
Sele
ção d
o T
ipo d
e C
ontra
to
APFAPF
3232
Homem Hora (HH)
“Body shopping” , “time and material” Equipe mista Nem sempre apenas um fornecedor Infra-estrutura própria
Remuneração Nível de qualificação Experiência dos profissionais Horas apropriadas
3333
HH - Por um lado
Simples administração Flexibilidade Agilidade em picos de demanda Mudança real dos requisitos:
Aumento de escopo Aumento do esforço Aumento da fatura É justo. Responsabilidade direta do
contratante
3434
HH - Por outro lado Gerenciar a produtividade dos
contratados: Competência não necessariamente
disponível Remuneração não vinculada a resultados Falta de estímulo ao aumento de
produtividade NÃO é justo. Responsabilidade do
contratado
3535
Preço Global Fixo (PGF)
Privilegia a abordagem de projeto Exige maior grau de organização Quanto melhor definidos estiverem os
requisitos, menor a chance de atritos Em geral:
O fornecedor não dispõe de muita informação Ele não dispõe de tempo para análise detalhada Superdimensionamento ou subdimensionamento (mais provável) Ambos assumem que os requisitos não mudam Mas eles mudam...
3636
Preço Unitário (PU) Remuneração sobre elementos do projeto
Relatórios, telas, tabelas, casos de uso, linhas de código, pontos de função
Equilibrar riscos Produtividade e qualidade - Contratado Escopo - Contratante
Desafio: O elemento Reconhecido pelo contratante e contratado Uniforme Consistente
3737
Novamente: ”Os requisitos mudam...”
Quanto maior a duração do projeto, mais provável de ocorrer
Nova negociação (aumento do escopo): como saber se as condições originais serão mantidas?
APF como fator de normalização Dimensionar o projeto original Calcular o valor unitário Aplicar os números ao objeto da mudança de escopo
Instrumento de COMUNICAÇÃO
3838
Medição da variação do escopo
[1.200 PF]Especificação Inicial
de Requisitos
[1.500 PF]Projeto deAlto Nível
[1.700 PF]Projeto
Detalhado
Estimativa Dimensionamento
[1.900 PF]Produto
Entregue
Horas, Reais, Pontos de Função, etc.
Estimativa Incial...: 1.200 PFProduto Entregue.: 1.900 PF
Crescimento.........: 58,3%( 1.900 – 1.200 ) * 100
1.200Projeto A Equipe 1
3939
Histórico da Medição de Software
LOC – Análise por Linhas de Código O que é?
Pontos Negativos Falta de Padrão Falta de Significado para o Cliente Foco no tamanho e não na funcionalidade
do Software
4040
Por que APF como unidade
Pontos de função como unidade padrão Método padrão de medição funcional Centenas de empresas e profissionais IFPUG (International Function Point Users Group)
- organização responsável Pontos de função facilitando a
comunicação Vocabulário independente da tecnologia Perspectiva do negócio
4141
Visão Geral da APF
4242
Definição da APF
Método Padrão para Medir Software do Ponto de Vista do Usuário através da quantificação da Funcionalidade Fornecida.
4343
Objetivos da APFObjetivos da Técnica
•Medir a Funcionalidade que o usuário solicita e recebe•Medir o desenvolvimento e melhoria de software de forma independente da tecnologia utilizada para sua implementação
Objetivos do Processo de Contagem •Simples o suficiente para minimizar o trabalho adicional envolvido no processo de medição•Uma medida consistente entre vários projetos e organizações
4444
Quem usa APF em contratos
BANDESBANDES CEFCEF SERPROSERPRO PM- SPPM- SP DATAPREVDATAPREV CORREIOSCORREIOS BRADESCOBRADESCO ABN/REALABN/REAL EXÉRCITOEXÉRCITO
PETROBRÁSPETROBRÁS EMBRATELEMBRATEL PRODEBPRODEB EDSEDS POLITECPOLITEC MSAInforMSAInfor DBADBA CPMCPM STEFANINISTEFANINI
4545
Componentes da contagem
fronteira da aplicação
arquivos lógicosinternos
consultas externas
Fatto Sistemas__________________
Sumário Executivo de Projeto
Projeto : BR01020 Cliente : Banco Istabel Base : 31/ 05/ 1998
Custos x Faturado
......................
......................
......................
......................
......................
......................
......................
saídas externas
arquivos de interface externa
entradas externas
4646
ANÁLISE DE
PONTOS DE FUNÇÃO
CARTÃO DE REFERÊNCIABaseado na Versão 4.1.1 doManual de Práticas deContagem do IFPUG
Determinar o Tipo de Contagem
Determinar Escopo da Contagem e Fronteira
da Aplicação
Contar Funções
Tipo Dados
Contar Funções
Tipo Transação
Determinar Contagem de Pontos de Função
não Ajustados
Determinar Valor do Fator de Ajuste
Calcular o Número de Pontos de
Função Ajustados
Copyright © 2001, 2002 por FATTO CONSULTORIA E SISTEMAS LTDA.
Processo de contagem
4747
Exemplo Prático Sistema de Cadastro de ClientesSistema de Cadastro de Clientes
Listagem por ordem alfabética Exportação de cadastro via arquivo texto
Realizando o Processo de ContagemRealizando o Processo de Contagem
Tipo de Contagem: Projeto de Desenvolvimento
Número de ALIs: 01 (Tabela de Clientes) Número de AIEs: - Numéro de EEs: 01 (Inclusão de Clientes) Número de SEs: 01 (Listagem por Ordem
Alfabética) Número de CEs: 01 (Exportação em arquivo
texto)
4848
Exemplo Prático Considerando a complexidade dos tipos Considerando a complexidade dos tipos
de função como Baixa, temos:de função como Baixa, temos:
Pontos de Função Brutos: ALI X 7 AIE X 5 EE X 3 SE X 4 CE X 3
4949
Exemplo Prático Substituindo os valores:Substituindo os valores:
Pontos de Função BrutosPontos de Função Brutos 1 X 7 0 X 5 1 X 3 1 X 4 1 X 3
PFB Calculado: PFB Calculado: 1717
5050
Exemplo Prático Para determinar o Valor do Fator de Ajuste, levamos em Para determinar o Valor do Fator de Ajuste, levamos em
conta as características gerais do Sistema:conta as características gerais do Sistema:
Comunicação de Dados Processamento Distribuído Performance Utilização de Equipamento Volume de Transações Entrada de Dados On-Line Eficiência de Usuário Final Atualização On-Line Processamento Complexo Reutilização de Código Facilidade de Implantação Facilidade Operacional Múltiplos Locais Facilidade de Mudanças
5151
Exemplo Prático O Próximo passo é atribuir valores que O Próximo passo é atribuir valores que
variam de variam de 0 a 50 a 5 para cada característica para cada característica do Sistema:do Sistema:
0 – Nenhum Influência1 – Influência Mínima2 – Moderada3 – Influência Média4 – Influência Significativa5 – Grande Influência (Crítica)
5252
Exemplo Prático Para facilitar nossa breve análise, vamos Para facilitar nossa breve análise, vamos
atribuir o Valor atribuir o Valor 11 para todas as para todas as características do Sistema:características do Sistema:VFA = (Soma dos Valores de Influência *
0,01) + 0,65
Onde:Onde: Soma dos Valores de Influência = 1414
VFA Calculado:VFA Calculado: 0,790,79
5353
Exemplo Prático Enfim, o valor dos Pontos de Função Enfim, o valor dos Pontos de Função
ajustados:ajustados:PFA = (VFA * PFB)
Onde:Onde: VFA = 0,790,79 PFB = 1717
PFA Calculado:PFA Calculado: 13,4313,43
5454
Exemplo Prático Com esse valor, conseguimos estimar:Com esse valor, conseguimos estimar:
EsforçoEsforço 10hs por PF => 10 * 13,43 => 135 horas10hs por PF => 10 * 13,43 => 135 horas
PrazoPrazo 8hs de trabalho por dia =>8hs de trabalho por dia => 135 horas/8h => 17 135 horas/8h => 17
diasdias
CustoCusto R$ 25,00 por hora de trabalho =>R$ 25,00 por hora de trabalho => 135 * 25 => 135 * 25 =>
R$ 3.375R$ 3.375
5555
Conclusões APF é uma técnica eficaz na geração de
indicadores para a gerência de projetos de software
Resultados melhores à medida que dados históricos de projetos são incorporados
Facilitador da comunicação Uso crescente em contratos de software Brasil está na vanguarda do uso da APF
5656
Referências IFPUG - www.ifpug.org BFPUG - www.bfpug.com.br FATTO - www.fattocs.com.br ISBSG - www.isbsg.org ASMA - www.asma.org.au NESMA - www.nesma.nl UKSMA - www.uksma.co.uk COSMIC - www.cosmicon.com SPR - www.spr.com
5757
Perguntas???