Análise de
Pontos de
Função
O metro quadrado do
software
.: Objetivos :.
Sensibilizar a audiência quanto à
necessidade de medição de software
Apresentar as principais aplicações da
FPA como unidade de medida e
processo de contagem
Apresentar técnicas para definir os
objetos de medição
Introdução à Análise de Pontos de
.: Por que medir? :.
Contexto
– Requisitos : tendem a expandir
– Qualidade, Funcionalidade, Performance
Problemática
– Recursos : tendem a ser limitados
– Tempo, Dinheiro, Pessoas entre outros – Na satisfação dos Requisitos, disputam-se
por Recursos Como manter esta situação sob controle, a fim de obter o melhor resultado?
Isoladamente estas tecnologias não foram capazes de fornecer as respostas desejadas.
“No Silver Bullet: Essence and Accidents of Software Engeneering” Fred Brooks
.: Ferramentas :.
Histórico
– Ferramentas CASE– Linguagens de 4a. Geração – Tecnologias OO
– Ambiente integrado de desenvolvimento – Arquitetura Cliente-Servidor
Hoje
– Gerência de Projetos
– Terceirização e Gestão de Contratos – Iniciativas de SPI
Gerência de projetos
“Não se pode controlar aquilo
que não se consegue medir” -
.: O que é Gerência de Projetos :.
Gerência
– [Do lat. gerere, 'trazer'; 'produzir', 'criar'; 'executar'; 'administrar'.] Dicionário Aurélio
Projetos
– [Empreendimento temporário posto em execução para criar um único produto ou serviço] PMBOK
Como gerenciar projetos?
.: Como gerenciar projetos? :.
Planejar
– Definir e refinar objetivos
– Selecionar o melhor curso de ação
Executar
– Coordenar pessoas e outros recursos para executar o plano
Controlar
– Garantir que os objetivos são alcançados – Monitorar e medir o progresso regularmente – Identificar variações do plano
– Tomar ações corretivas quando necessário
Processos que permitam controlar sua execução pelo conhecimento prévio dos efeitos de suas respostas. P.: Como? R.: Visibilidade.
.: Visibilidade :.
Trazer a VISIBILIDADE necessária a:
– Comunicação efetiva
– Rápida identificação e correção de problemas
– Realização de escolhas chave
– Defesa e justificativa de decisões
– Acompanhamento de objetivos específicos
O principal papel das métricas de projeto é trazer a visibilidade necessário à ação gerencial. P.: A partir de quando? R.: Do início.
.: Planejamento :.
Quando o trabalho começa
Falta de conhecimento exige estimativa
Conforme este conhecimento evolui
menos se assume
O quanto este conhecimento evolui é
uma métrica
[C1] Especificação Inicial de Requisitos [C2] Projeto de Alto Nível [C3] Projeto Detalhado Estimativa Dimensionamento [C4] Produto Entregue A Análise de Pontos de Função permite estimar o tamanho dos requisitos funcionais desde muito cedo. P.: Como medir conhecimento? R.: Com os requisitos..: Medindo e Estimando :.
Os requisitos e seu crescimento
[1.200 PF] Especificação Inicial de Requisitos [1.500 PF] Projeto de Alto 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 PF Produto Entregue.: 1.900 PF Crescimento...: 53% ( 1.900 – 1.200 ) * 100 1.200 Projeto A Equipe 1 P.: Para que saber o tamanho funcional? R.: Ele é um fator normalizador.
Qual o Esforço?
Qual o Prazo?
Qual o Custo?
.: Recursos para responder :.
Experiência Individual
A Data Limite
Indicadores de PRODUTIVIDADE
– Quantas HORAS são necessárias para realizar as ATIVIDADES envolvidas no
fornecimento de um PONTO DE FUNÇÃO em determinado CONTEXTO?
– Qual o PREÇO de um PONTO DE FUNÇÃO contemplando determinadas ATIVIDADES neste CONTEXTO? A razão de bens ou serviços produzidos por unidade de tempo ou custo “Applied Software Measurement” P.: Está tudo muito abstrato. Dá pra dar um exemplo?
.: Estimativas Paramétricas :.
Atividades:
– Especificação (20%) – Projeto (30%) – Construção (40%) – Documentação(10%) Tecnologia:
– Java– Oracle AS com Portal
Produtividade: 6 Horas/PF
Estimativa Inicial...: 1.200 PF Produto Entregue..: 1.900 PF Crescimento...: 53% ( 1.900 – 1.200 ) * 100 1.200 Projeto A Equipe 1 1.900 PF * 6 H / PF = 11.400H * 11.400 H= 2.280 H * 11.400 H= 3.420 H * 11.400 H= 4.560 H * 11.400 H= 1.140 H P.: E isto é suficiente para tudo dar certo?.: Controle :.
A tra s o n o P ro je to P re s s ã o p a ra A u m e n ta r P ro d u ç ã o M a is P e s s o a l N o v o n o P ro je to M a is H o ra s T ra b a lh a d a s M e n o s C o n tro le d e Q u a lid a d e T e m p o e m A c u ltu ra m e n to D e s g a s te d a E q u ip e M a io r N ú m e ro d e E rro s A d ia r E n tre g a Dinâmica dos 99% concluídos T e m p o P r o d u ç ã o Curva do Pânico P.: Como as métricas podem ajudar?
Instrumento de acompanhamento
Ajuda a perceber problemas em tempo
Várias dimensões :
– cronograma, custos, qualidade, riscos ou escopo
P.: Poderia ser mais específico?
Ação Gerencial Ação Gerencial Base de Projetos Prazos Previstos Tempo (meses) Produção Prevista Progresso P ro d u ç ã o Q u a n ti fi c a d a #1 #2 #3 #4 #5 Indicadores O Problema não é só o erro, mas a demora em identificá-lo P.: As métricas coletadas tem valor apenas para este projeto?
B as e d e Pro jet os Co le ta de D a d o s d o Pr o je to V e ri fi q ue Aja Pla ne je Ex ec u te S ist em a d e In fo rm aç õ es d e P ro jet os
Ind icad ore s do P ro jeto
Ind icad ore s Hist órico s D ados d e Pro jeto s P.: Minha empresa não desenvolve projetos de software. Ela contrata. A FPA pode ainda me ajudar?
Terceirização e Gestão de
Contratos
A Análise de Pontos de Função
como instrumento para
Na Terceirização pessoas são gerenciadas, enquanto na Gestão de Contratos o foco está no resultado. P.: O FPA ajuda em ambos estes casos?
.: Terceirização :.
não é Gestão de Contratos
Terceirização
– [Contratação de terceiros, por parte de uma empresa, para a realização de atividades
não essenciais, visando à racionalização de custos, à economia de recursos e à
desburocratização adminstrativa] Houaiss
Gestão de Contratos
– [processos necessários à obtenção de bens e serviços externos a organização
.: Pontos de Função :.
Por que medir na terceirização?
Monitoramento :
– Produtividade (horas) – Qualidade (defeitos) 50 70 90 110 130 150 170 190 1 2 3 4 5 6 7 8 9 10 11 12 Mês U n id a d e sPontos de Função Horas
Apesar de nos meses 1,2 e 3 ter havido o mesmo volume de PF entregues, a quantidade de horas aumentou A análise exclusiva da quantidade de horas não é conclusiva
.: Pontos de Função :.
Por que medir na terceirização?
O ponto de função permite monitorar
uma tendência de acomodação
Acompanhamento da Produtividade Manutenção Equipe do Sistema A
0,00 5,00 10,00 15,00 20,00 25,00 30,00 35,00 40,00 45,00 50,00 1 2 3 4 5 6 7 8 9 10 11 12 Mês PF
Pontos de Função / Homens Mês
A industria do Erro. Quanto mais improdutivo mais o subcontratado ganha. P.: Como a FPA ajuda na gestão de contratos?
Uma avaliação orientada aos processos de Gerência de Aquisições do Projeto do PMBOK©.
.: Pontos de Função :.
E na Gestão de Contratos?
Ferramentas, Técnicas e Produtos
– Análise de “Make-or-buy” – Seleção do Tipo de Contrato
• Preço global fixo • Preço unitário
– Negociação Contratual – Sistema de Pagamentos
– Especificação de Trabalho (SOW) – Documentos de Aquisição
– Critérios de Avaliação
.: Análise de “
Make or Buy”
:.
Visa determinar se é mais vantajosa a
contratação de um produto específico
no mercado ou o seu desenvolvimento
interno.
Comparação dos níveis de performance
– Organização x Mercado
Alguns aspectos são quantificáveis
– Análise Objetiva – Indicadores
Por exemplo ...
Comparar: “Pôr em paralelo, equiparar em valor, qualidade ou intensidade” Houaiss.: Caso: Aplicação da FPA :.
Análise de “
Make or Buy”
A organização deve empreender internamente
o desenvolvimento de um novo sistema;
Deve ser contratada uma empresa externa
para o desenvolvimento completo do novo sistema;
Deve ser realizado internamente o trabalho de
especificação de requisitos e implantação, enquanto a codificação e testes será
contratada no mercado;
É conveniente a aquisição de um pacote
(COTS) com sua parametrização e adequações tanto no parque de sistemas quanto na
organização. P.: Como decidir? R.: Compare. P.: Como comparar? R.: Conheça a si para poder comparar-se ao mercado.
“Se você conhece o inimigo e se conhece, você não deve temer o resultado de cem batalhas“ A Arte da Guerra
.: Conheça a si mesmo :.
Funcionalidade solicitada pela
organização (PF)
Indicadores:
– taxa de produção (PF/HM), – custo (R$/PF),
– indicadores de qualidade (defeitos/PF),
Distribuição do esforço entre as
atividades (especificação, projeto, etc.)
Números internos de outra forma de
.: Seleção do Tipo de Contrato :.
Distribuindo Riscos
Aumento do Escopo - Quem Contrata
Queda na Produtividade - Contratado
Modelos de Terceirização
– Homem-Hora - O contratado é beneficiado pela queda na produtividade
– Preço Fechado - O contratado é prejudicado pelo aumento do escopo
– Pontos de Função - Cada um arca com o risco que lhe corresponde - Ganha x Ganha
.: Ponto de Função - Unidade :.
Contratando Resultados
Se o cliente quiser mais funcionalidades,
é só pagar o preço do Ponto de Função
Se o fornecedor quiser manter sua
lucratividade, é só manter sua
produtividade e qualidade
Não existe ponto de função “defeituoso”
[1.200 PF] Especificação Inicial de Requisitos [1.500 PF] Projeto de Alto Nível [1.700 PF] Projeto Detalhado [1.900 PF] Produto Entregue Os pontos de função refletem as novas telas, relatórios, consultas, controles, etc. que vão se materializando conforme se aumenta o conhecimento do sistema
SOW “Descreve o item a ser contratado com suficiente detalhe para permitir que os potenciais fornecedores possam avaliar se são capazes de atender ao edital” PMBOK©. P.: E se minha empresa for a fornecedora?
.: Outras Aplicações Afins :.
Negociação Contratual
Sistema de Pagamentos
Especificação de Trabalho (SOW)
– Apoio na validação da descrição
– Pode ser usada para estimar ou contar PF?
Documentos de Aquisição e Critérios de
Avaliação
– Defeitos por Ponto de Função – Produtividade Mínima
– Capacidade de Produção
Iniciativas de Software
Process Improvement
O papel das métricas e da
Análise de Pontos de Função
.: SPI :.
Software Process Improvement
Procedimento sistemático
Melhora a performance de um sistema
composto por um conjunto de
processos existentes
Modificação em processos existentes
ou a atualização de novos processos
Objetivando corrigir ou evitar problemas
identificados no sistema anterior
Assessment
Software Engineering Processes: Principles and Applications, Wang Y. 2000 P.: O que é um Assessment?Software Engineering Processes: Principles and Applications, Wang Y. 2000 P.: Como assim um modelo?
.: SPA :.
Software Process Assessment
Procedimento sistemático
Investiga a existência, adequação e
performance de um contexto real
Compara a um MODELO, padrão ou
benchmark
– SEI CMMI – Capability Maturity Model ® Integration sm
– SPICE - Software Process Improvement and Capability Determination (ISO 15504);
Níveis de Maturidade Process
Area 1 Process Area 2 Process Area N Objetivos
Específicos Objetivos Gerais Práticas
Específicas
Compromisso
em Executar Capacidade de Execução Implementação Direção na Implementação Verificação da
Práticas Gerais
Características Comuns
.:Componentes:. do Modelo CMMI
Gerência de Requisitos Planejamento de Projetos Monitoramento e Controle de Projetos Gerência de Acordos com Fornecedores MEDIÇÃO e ANÁLISE Garantia de Qualidade de Produto e Processo Gerência de Configuração Nível 1 Inicial Nível 2 Gerenciado Nível 3 Definido Nível 4 Quantitativamente Gerenciado Nível 5 Otimizado
.: Process Areas :.
Representação em Estágios
.: Medição e Análise :.
Objetivo:
– DESENVOLVER e SUSTENTAR a capacidade utilizada no suporte às necessidades de
INFORMAÇÃO da gerência.
Áreas Relacionadas
– Planejamento de Projetos [2]
– Monitoramento e Controle de Projetos [2] – Gerência de Configuração [2]
– Desenvolvimento de Requisitos [3]
– Definição de Processos Organizacionais [3] – Gerência Quantitativa de Projeto [4]
CMMI SW -V1.1- Staged Representation página 152 P.: Enfim qual o papel da FPA nisso?
.: Papel da FPA :.
Iniciativas de SPI
“..., 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, 1997O Que Medir ?
Software é PROCESSO e
PRODUTO
.: Goal/Question/Metric :.
Objetivo
Questão QuestãoObjetivo
Questão QuestãoObjetivo
Questão QuestãoMétrica Métrica Métrica Métrica Métrica Métrica
Planejamento
Cada organização ou projeto tem objetivos. Para cada um destes há um conjunto de questões a fim de verificar seu cumprimento. Muitas destas questões tem respostas que podem ser mensuradas Basili, V.R, 1984, Goal Question Metric ParadigmMedidas são a quantificação de uma característica do software, processo ou produto.
.: O Que Medir :.
Aspectos comuns do software
– Previsto e Realizado – Recursos e Custos – Crescimento e Estabilidade – Qualidade do Produto – Performance do Desenvolvimento – Adequação Técnica
Categorias para medição
– Tamanho funcional e estabilidade, etc.
Métricas
.: O papel do TAMANHO :.
Fator normalizador dos dados (métricas)
coletadas
Adiciona a experiência coletiva à
experiência individual
Deve ser representativo - quantificar
.: Pontos de Função :.
Independente de tecnologia e
Padronizado pelo IFPUG
Requisitos funcionais refletem objetivos
objeto de gerenciamento
– normalizador de todas as atividades envolvidas
Baseado em
– Descrição formal das necessidades de negócio do usuário Em sua linguagem. – Desenvolvedores traduzem-na em
linguagem de T. I. para fornecer a solução.
P.: Mas o que é um Ponto de Função?
Método Padrão para Medir
Software do Ponto de
Vista do Usuário através
da quantificação da
.: Objetivos :.
Objetivos da Técnica
– Medir a Funcionalidade que o usuário solicita e recebe
– Medir o desenvolvimento e manutenção 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