análise de pontos de função - fatto consultoria...

45
Análise de Pontos de Função O metro quadrado do software

Upload: dinhdieu

Post on 28-Nov-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

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 Função (APF ou FPA)

Agenda

.: 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

– ERP

Gerência de projetos

“Não se pode controlar aquilo que não se consegue medir” -

Tom de Marco

.: 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 Inicialde Requisitos

[C2]Projeto deAlto Nível

[C3]ProjetoDetalhado

Estimativa Dimensionamento

[C4]ProdutoEntregue

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 deAlto Nível

[1.700 PF]Projeto

Detalhado

Estimativa Dimensionamento

[1.900 PF]ProdutoEntregue

Horas, Reais, Pontos de Função, etc.

Estimativa Incial...: 1.200 PFProduto Entregue.: 1.900 PFCrescimento.........: 53%

( 1.900 – 1.200 ) * 1001.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 t r a s o n o

P r o je t o

P r e s s ã o

p a r a A u m e n t a r

P r o d u ç ã o

M a is

P e s s o a l N o v o

n o P r o je t o

M a is

H o r a s

T r a b a lh a d a s

M e n o s

C o n t r o le d e

Q u a l id a d e

T e m p o e m

A c u l t u r a m e n t o

D e s g a s t e d a

E q u ip e

M a io r

N ú m e r o d e

E r r o s

A d ia r

E n t r e 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

Pro

du

çã

o Q

ua

ntif

ica

da

#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 ase de

Pro jet os

Co le ta de

D a d os d o

Pr o je to

Ve

rifi

qu

eA

ja

Pla

ne

jeEx

ecu

te

S ist em a

d e In fo rm aç ões

de P ro jet os

Ind icadore s

do P ro jeto

Ind icadore 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

nivelar de riscos

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 executora] PMBOK

.: 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

Un

ida

de

s

Pontos 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

– Relatório de Desempenho

.: 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 difícil apuração ou justificativa.

.: 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

Relatório de Desempenho

Iniciativas de Software Process Improvement

O papel das métricas e da Análise de Pontos de Função

em iniciativas de SPI

.: 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);

– TickIT

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

Direção na Implementação

Verificação da Implementação

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, 1997

O Que Medir ?

Software é PROCESSO e PRODUTO

.: Goal/Question/Metric :.

Objetivo

Questão Questão

Objetivo

Questão Questão

Objetivo

Questão Questão

Mé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 Paradigm

Medidas 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

– Esforço, Datas, Reporte de Problemas, etc.

.: O papel do TAMANHO :.

Fator normalizador dos dados (métricas) coletadas

Adiciona a experiência coletiva à experiência individual

Deve ser representativo - quantificar bens ou serviços produzidos

.: 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

Funcionalidade Fornecida

.: 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

.: Componentes da Contagem :.

.: Processo de Contagem :.

ANÁLISE DE

PONTOS DE FUNÇÃO

CARTÃO DE REFERÊNCIA

Baseado na Versão 4.1.1 do

Manual de Práticas de

Contagem 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.

Questões???

Carlos Eduardo Vazquez

(27)9254-6389

[email protected]