Análise de Pontos por Função -...

Post on 12-Nov-2018

219 views 0 download

Transcript of Análise de Pontos por Função -...

Análise de Pontos por Função■ Uma Aplicação na Gerência de

Subcontratação de Software

Claudia Hazan, MSc.Certified Function Point Specialist

AgendaAgendaAgendaAgenda

! Introdução à Gerência de Subcontratação! Melhores Práticas:

! Seleção da Subcontratada! Gestão do Contrato! Práticas Chave da KPA Gerência de

Subcontratação! Análise de Pontos por Função! Conclusão! Perguntas

Introduçãoà Gerência de Subcontratação

Modelo CMMModelo CMMModelo CMMModelo CMM

Gerência deGerência deGerência deGerência de Subcontratação Subcontratação Subcontratação SubcontrataçãoSelecionar subcontratadas de software qualificadas egerenciá-las efetivamente.

Controle Gerencial Básico:

Gerência de RequisitosPlanejamento do Projeto

Acompanhamento do Projeto

Controlar as atividades da Subcontratada:

Garantia da Qualidade de SoftwareGerência de Configuração de Software

Gerência deGerência deGerência deGerência de Subcontratação Subcontratação Subcontratação SubcontrataçãoPor que Subcontratar?Fatores que contribuem para a subcontratação parcial ou total:

- custo- recursos especializados- ferramentas- técnicas- métodos - prazos- quantidade de recursos

Gerência deGerência deGerência deGerência de Subcontratação Subcontratação Subcontratação Subcontratação

Cenário: A contratante é um a em presa dedesenvolvim ento de software (que já foicontratada) e Subcontrata o SERVIÇO .

Gerência deGerência deGerência deGerência de Subcontratação Subcontratação Subcontratação Subcontratação

Mão de obra terceirizada NÃO é Subcontratação

- São recursos do projeto com vínculo empregatício diferente

- Mão de obra terceirizada: Gerência sobre as pessoas querealizam o serviço

- Gerência de Subcontratação: Gerência sobre o Contrato

Gerência deGerência deGerência deGerência de Subcontratação Subcontratação Subcontratação Subcontratação

Papéis! Subcontratada: executa o Contrato

! Contratante: garante a execução (Supervisão do Contrato)

Gerência deGerência deGerência deGerência de Subcontratação Subcontratação Subcontratação Subcontratação

A Gerência da subcontratação envolve:

- Selecionar uma subcontratada

- Estabelecer compromissos

- Acompanhar e revisar os resultados de desempenho

Seleção daSubcontrada

Seleção daSeleção daSeleção daSeleção da Subcontratada Subcontratada Subcontratada Subcontratada

A contratante selecionacontratadas qualificadas.

META

METAS

Compromissos Pré-Condições Atividades

VerificaçõesMedições e Análises

Contratos de SoftwareContratos de SoftwareContratos de SoftwareContratos de Software

! Preço/PF! Fábrica de Software / Fator de Redução! Inclusão do Processo no Contrato! Inclusão da Metodologia utilizada na

Contagem de Pontos de Função – CPM 4.1.1! Criação de Pontos de Controle no

Desenvolvimento! % por Fases do Ciclo de Vida

Contratos de SoftwareContratos de SoftwareContratos de SoftwareContratos de Software

Atividade do ciclo de Vida % deDistribuição

Levantamento de Dados (LD) 10%

Projeto Lógico (PL) 20%

Projeto Físico (PF) 25%

Construção (CO), Testes (TE) 35%

Implantação (IM) 10%

Total do Sistema 100%

Contratos de SoftwareContratos de SoftwareContratos de SoftwareContratos de Software

! Garantia da Produtividade! Garantia da Qualidade! Avaliação de Performance! Disponibilização de Código Fonte e

Documentação! Contratos de Manutenção Corretiva e Adaptativa! Cláusulas para lidar com mudanças de

requisitos durante o desenvolvimento

Contratos de SoftwareContratos de SoftwareContratos de SoftwareContratos de SoftwareResultados de Projetos >100 PFs 100 -1000 PFs 1000 -5000 PFs > 5000 PFsCancelados 3% 7% 13% 24%Atrasados (> 12 meses) 1% 10% 12% 18%Atrasados (> 6 meses) 9% 24% 35% 37%Entregues no prazo 72% 53% 37% 20%Entregues antecipados 15% 6% 3% 1%Conflict and Litigation Between Software Clients and DevelopersCAPERS JONES

Causa raiz: Mudança de Requisitos

APF constitui uma ferramenta poderosa para tratar os impactos e custos inerentes ao aumento de escopo.

A contratante e a contratadaconcordam com a reciprocidadede seus compromissos.

Contratos de SoftwareContratos de SoftwareContratos de SoftwareContratos de Software

META

METAS

Compromissos Pré-Condições Atividades

VerificaçõesMedições e Análises

Gestão do Contrato deSoftware

MetasMetasMetasMetas

A contratante e a contratadamantêm comunicação ao longo detodo o projeto.

APF é uma ferramenta que facilita a comunicação

entre clientes e fornecedores

MetasMetasMetasMetasA contratante acompanha odesempenho e resultados reais dacontratada, comparando-os comos compromissos assumidos.

Práticas Chaveda Gerência deSubcontratação

Práticas ChavePráticas ChavePráticas ChavePráticas Chave

■ 2 Compromisso■ 3 Pré-Condições■ 13 Atividades■ 1 Medição■ 3 Verificações

Para atingir as metas de Gerência deSubcontratação é necessário que sejamatendidos.

METAS

Compromissos Pré-Condições Atividades

VerificaçõesMedições e Análises

CompromissosCompromissosCompromissosCompromissos

O projeto deve seguir uma políticaorganizacional documentada paragerência de subcontratação.

Um gerente de contrato, designado, éresponsável por estabelecer egerenciar o contrato de software.

Pré-CondiçõesPré-CondiçõesPré-CondiçõesPré-Condições

Estão disponíveis recursos e fundosadequados para selecionar a contratadade software e para gerenciar o contrato.

Pessoas Qualificadas

Ferramentas

- planilhas eletrônicas- modelos de estimativas- bases de dados históricos de projetos- softwares de gerenciamento de projeto e controle de cronograma

Pré-CondiçõesPré-CondiçõesPré-CondiçõesPré-Condições

Os gerentes do contrato possuem treinamentoe proficiência suficiente para realizar asatividades inerentes ao processo desubcontração.

- Preparação e planejamento da subcontratação- Avaliação da capacitação do processo de software- Avaliação dos planos e estimativas- Seleção de subcontratadas- Gerência do contrato

Pré-CondiçõesPré-CondiçõesPré-CondiçõesPré-Condições

O gerente do contrato recebe orientaçãonos aspectos técnicos do contrato.- Domínio da aplicação- Tecnologias- Ferramentas- Metodologias- Padrões- Procedimentos

AtividadesAtividadesAtividadesAtividades

Planejar e definir o trabalho a ser contratado,de acordo com o procedimento documentado.

Selecionar a subcontratada com base numaavaliação da habilidade dos proponentes emexecutar o trabalho, de acordo com umprocedimento documentado.

AtividadesAtividadesAtividadesAtividades

Gerenciar o contrato com base no acordocontratual entre contratada e contratante.

A contratante revisa e aprova o planodocumentado de desenvolvimento de softwareapresentado pela contratada.

O plano de desenvolvimento da subcontratadadeve ser coerente com o da contratante.

AtividadesAtividadesAtividadesAtividades

Utilizar a versão documentada e aprovada doplano de desenvolvimento da subcontratadapara acompanhar as atividades e informar oprogresso.

Executar as alterações na declaração de trabalhosubcontratada, nos termos e condições decontrato, e em outros compromissos, de acordocom um procedimento documentado.

AtividadesAtividadesAtividadesAtividades

A gerência da contratante conduz revisõesperiódicas de avaliação do estado seprogresso junto à gerência da contratada.

Dar visibilidade à subcontratada dasnecessidades e desejos dos clientes.Comparar “estimado x realizado” para cadacomponente de acordo com o plano.Levantar as não-conformidades com relação aocontrato

Revisar os compromissos entre a subcontratadae a contratante

Manter intercâmbios e revisões técnicasperiódicas junto a subcontratada

AtividadesAtividadesAtividadesAtividades

Verificar se os compromissos estão sendoatendidos

Fornecer a contratada uma visão dasnecessidades do cliente, conforme apropriado

Monitorar as atividades técnicas da contratada

Verificar se a interpretação e implementaçãodos requisitos pela contratada estão de acordocom os da contratante

AtividadesAtividadesAtividadesAtividades

Conduzir, de acordo com umprocedimento documentado, nos marcos deacompanhamento de progresso do projeto,as revisões formais para abordar osresultados e as atividades concluídas pelacontratada.

AtividadesAtividadesAtividadesAtividades

O grupo de garantia da qualidade desoftware da contratante monitora asatividades de garantia da qualidade desoftware da contratada de acordo comum procedimento documentado.

AtividadesAtividadesAtividadesAtividades

O grupo de gerência de configuração dacontratante monitora as atividades degerência de configuração de software dacontratada, de acordo com umprocedimento documentado.

AtividadesAtividadesAtividadesAtividadesA contratante conduz testes de aceitação,de acordo com um procedimentodocumentado como parte da entrega dosprodutos de software da contratada.

AtividadesAtividadesAtividadesAtividades

Avaliar, periodicamente, o desempenho dacontratada de software, revendo essaavaliação com a participação da contratada.

- feedback sobre a satisfação da contratada- documentação destas avaliações servem comoreferência para futuras atividades de seleção decontratadas

Medição e AnáliseMedição e AnáliseMedição e AnáliseMedição e Análise

Definir e utilizar medições quedeterminem o estado das atividades degerência da subcontratação de software.

- datas reais de entrega dos produtos contratados,comparadas com o plano.

VerificaçãoVerificaçãoVerificaçãoVerificação

Revisar periodicamente as atividades degerência do contrato de software junto àgerência sênior.

Revisar, junto com o gerente do projetode software, as atividades de gerência docontrato de software, periodicamente equando ocorrem eventos.

VerificaçãoVerificaçãoVerificaçãoVerificação

O grupo SQA revê/audita as atividades eartefatos para gerenciar o contrato desoftware, relatando seus resultados.

Atividades realizadas para selecionar a contratadaAtividades para gerenciar o contrato de software

Processo de aceite para os produtos da contratada

Condução de revisões que estabeleçam a conclusãodas fases nos milestones para o contrato

Análise de Pontos por Função

Pontos de Função (PF)É uma medida de dimensionamento de software através da funcionalidade implementada em um

sistema, sob o ponto de vista do usuário.

= 1000 PF

Análise de Pontos por FunçãoAnálise de Pontos por FunçãoAnálise de Pontos por FunçãoAnálise de Pontos por Função

Análise de Pontos por FunçãoAnálise de Pontos por FunçãoAnálise de Pontos por FunçãoAnálise de Pontos por Função

Medir a funcionalidade requisitada e recebida pelo usuário

Medir Projetos de Desenvolvimento e deManutenção independentemente da tecnologia utilizada

Fatores Motivadores

APF para Gerência de Projetos deDesenvolvimento e de Manutenção de Sistemas.

APF como Base para Contratos deDesenvolvimento na Terceirização

Apoiar a Implantação da Qualidade Total

APLICAÇÃO

Arquivos Lógicos Internos

Fronteira da AplicaçãoFronteira da Aplicação

Entradas Externas

Saídas Externas

ConsultasExternas

Outra Aplicação

Arquivo Lógico Interno

Arquivos de InterfaceExterna

Funções de dadosFunções de dadosFunções transacionaisFunções transacionais

(Sem Dados Derivados) ( Com Dados Derivados)

Visão Geral da AplicaçãoVisão Geral da AplicaçãoVisão Geral da AplicaçãoVisão Geral da Aplicação

DeterminarTipo de

Contagem

Identificar Escopo de

Contagem eFronteira da

Aplicação

Contar Funçõesde Dados

Contar Funções

Transacionais

Determinaros PF NãoAjustados

Determinaro Fator de

Ajuste

Calcular os PF

Ajustados

Etapas de ContagemEtapas de ContagemEtapas de ContagemEtapas de Contagem

TIPOS DE CÁLCULO DE PONTOS POR FUNÇÃOTIPOS DE CÁLCULO DE PONTOS POR FUNÇÃO

• Contagem de PF de Projetos de Desenvolvimento - PF associados com a instalação inicial de um software novo

• Contagem de PF de Projetos de Manutenção - PF associados com a melhoria de um software já existente (inclui funcionalidade que é adicionada, modificada ou excluída)

• Contagem de PF de Aplicações - PF associados com uma aplicação instalada - Funcionalidade da aplicação no ponto de vista do usuário

Determinar a Fronteira da Aplicação

! A fronteira é baseada no ponto de vista dousuário. O usuário deve ser capaz de definir oescopo da aplicação.

! A fronteira entre aplicações relacionadas ébaseada na funcionalidade separada donegócio e não na implementação tecnológica.

Fronteiras não devem ser estabelecidas no nível de programa.

Os PF´s devem ser contados em nível mais alto da aplicação.

Funções de Dados

Arquivos LógicosInternos

Arquivos deInterface Externa

Etapas de ContagemEtapas de ContagemEtapas de ContagemEtapas de Contagem

Classificação das Funções - pesos diferenciados de acordo com o nºRegistros Lógicos e Itens de Dados:

❐ Simples❐ Média❐ Complexa

Classificação das Funções - pesos diferenciados de acordo com o nºRegistros Lógicos e Itens de Dados:

❐ Simples❐ Média❐ Complexa

Etapas de ContagemEtapas de ContagemEtapas de ContagemEtapas de Contagem

Funções Transacionais

SaídaExterna

EntradaExterna

ConsultaExterna

Etapas de ContagemEtapas de ContagemEtapas de ContagemEtapas de Contagem

Classificação das Funções - pesos diferenciados de acordo com o número Arquivos Referenciados eItens de Dados:

❐ Simples❐ Média❐ Complexa

Classificação das Funções - pesos diferenciados de acordo com o número Arquivos Referenciados eItens de Dados:

❐ Simples❐ Média❐ Complexa

Etapas de ContagemEtapas de ContagemEtapas de ContagemEtapas de Contagem

TIPO DE COMPLEXIDADE TOTAL TOTALFUNÇÃO FUNCIONAL COMPLEX. TIPO FUNÇÃO

SIMPLES X 7 =ARQUIVO MÉDIA X 10 =

COMPLEXA X 15 = SIMPLES X 5 =

INTERFACE MÉDIA X 7 = COMPLEXA X 10 = SIMPLES X 3 =

ENTRADA MÉDIA X 4 = COMPLEXA X 6 = SIMPLES X 4 =

SAÍDA MÉDIA X 5 = COMPLEXA X 7 = SIMPLES X 3 =

CONSULTA MÉDIA X 4 = COMPLEXA X 6 =

* * * TOTAL DE PONTOS DE FUNÇÃO NÃO - AJUSTADOS =

CONTAGEM DOS PF´s NÃO AJUSTADOS

Etapas de ContagemEtapas de ContagemEtapas de ContagemEtapas de Contagem

Atribui-se um peso de 0 a 5 para cada característica: 0- Nenhuma Influência 3- Influência Média 1- Influência Mínima 4- Influência Significativa 2- Influência Moderada 5- Grande Influência

1. Comunicação de Dados 2. Processamento Distribuído 3. Performance 4. Utilização do Equipamento 5. Volume de Transações 6. Entrada de dados “on-line” 7. Eficiência do Usuário Final

8. Atualização “on-line” 9. Processamento Complexo 10. Reutilização de Código 11. Facilidade de Implantação 12. Facilidade Operacional 13. Múltiplos Locais 14. Facilidade de Mudanças

Etapas de ContagemEtapas de ContagemEtapas de ContagemEtapas de Contagem

FA = ( NI * 0,01 ) + 0,65

NÍVEL DE INFLUÊNCIA (NI) NÍVEL DE INFLUÊNCIA (NI)

FATOR DE AJUSTE (FA) FATOR DE AJUSTE (FA)

NI = ΣΣΣΣ Características Gerais do Sistema

- Cálculo de PF de um Projeto de Desenvolvimento

PF_DESENVOLVIMENTO = PF_NÃO_AJUSTADO * FATOR_AJUSTE

- Cálculo de PF de um Projeto de Manutenção

PF_MANUTENÇÃO = ((PF_INCLUÍDO + PF_ALTERADO)* FA_ATUAL) + (PF_EXCLUÍDO*FA_ANTERIOR)

PROJETO

Medições para Mudança de Escopo Gerencial

Requisitos ProjetoFuncional

AplicaçãoEntregue

ProjetoDetalhado

100 FPs 120 FPs 130 FPs 135 FPs

•Tela para entradade dados modificada(3FPs)• Arquivo adicionado(10 FPs)•Consulta adicionada(7 FPs)

ImpactoEsforçoCronogramaCusto

+ 1 mês+ 2 semanas+ $5000

+ 0.5 mês+ 1 semana+ $2500

+ 0.25 mês+ 2.5 dias+ $1250

• Relatóriode sumário adicionado(5 FPs)

• Nova tabela adicionada(10 FPs)

ConclusãoConclusãoConclusãoConclusão

“ A causa raiz das disputas entrecontratantes e contratados estáassociada aos termos contratuaisambíguos ou não entendidos. Contratose avaliações de desenvolvimento desoftware baseados na métrica de Pontosde Função podem minimizar as chancesde conflito e litigação.”

Conflict and Litigation Between Software Clients and DevelopersCAPERS JONES

DÚVIDAS & CONTATO

claudinhah@yahoo.com

www.serpro.gov.br

Claudia HazanMSc. Software QualityCertified Function Point SpecialistDSc. Student Requirements EngineeringSoftware Quality Consultant

Tel: (21) 3206-4407Cel: (21) 9124-6579