View
219
Download
0
Category
Preview:
Citation preview
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
Recommended